[ https://issues.apache.org/jira/browse/JCR-1571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
angela updated JCR-1571: ------------------------ Attachment: JCR-1571.diff > 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: HasNodeTest.java, JCR-1571.diff, 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.