« Return to Thread: [jira] Created: (JCR-1571) JCR Webdav Server doesn't support node.hasNode() method

[jira] Updated: (JCR-1571) JCR Webdav Server doesn't support node.hasNode() method

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View in Thread


     [ https://issues.apache.org/jira/browse/JCR-1571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julio Castillo updated JCR-1571:
--------------------------------

    Attachment: trace_JCR-1571.txt

Angela,
attached are the excerpts of 2 PROPFIND http requests:
first one searching for the node /com which it finds and the second one searching for the node /com/myCompany which will not find because it doesn't exist.

Let me know if you need more information.

** julio

> JCR Webdav Server doesn't support node.hasNode() method
> -------------------------------------------------------
>
>                 Key: JCR-1571
>                 URL: https://issues.apache.org/jira/browse/JCR-1571
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: sandbox
>    Affects Versions: core 1.4.2
>         Environment: JDK 1.6; Tomcat 6; Windows 2003
>            Reporter: Julio Castillo
>            Assignee: angela
>         Attachments: trace_JCR-1571.txt
>
>
> I have a set up that uses the JCR Webdav Server from a custom remote client.
> I've noticed one thing, anytime I request a node that doesn't exist the error that comes back from the server is as follows:
> [Fatal Error] :1:941: The element type "HR" must be terminated by the matching end-tag "</HR>".
> javax.jcr.RepositoryException: The element type "HR" must be terminated by the matching end-tag "</HR>".: The element type "HR" must be terminated by the matching end-tag "</HR>".
> Doesn't really make sense, but that is OK, I can handle that.
> My problem:
> I have a partially populated repository that at the root has a few nodes like
> /edu/....
> /com/ibm/..
> So, I want to create a few nodes of type nt:folder under
> com/myCompany/folder1
> I have no problem creating them, but since "com" already exists I end up with
> com[2]/myCompany/folder1.
> So, I went ahead and used the parentNode.hasNode("folderName") method.
> This method returns true for the "com" portion, but when I test for the "myCompany" folder which should return false I get the error response shown above from the server.
> The webdav request looks as follows:
> PROPFIND /jackrabbit/server/default/jcr%3aroot/com/myCompany
> The snippet of code looks as follows:
>   private Node createFolders (Session session, Node parentNode, List <String> folders)
>  throws RepositoryException {
>     Node folderNode = null;
>     for (String folder : folders) {
> if (parentNode.hasNode(folder))
>    folderNode = parentNode.getNode(folder);
> else
>    folderNode = parentNode.addNode(folder, "nt:folder");
> parentNode = folderNode;
>     }
>     session.save();
>     return (folderNode);
>   }

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

 « Return to Thread: [jira] Created: (JCR-1571) JCR Webdav Server doesn't support node.hasNode() method

LightInTheBox - Buy quality products at wholesale price