I quickly use exists("/documents") to check, strange though, it says, not
existing ! I traced and found that internally exists() function added the
root, which I have set to "/documents" so the fullpath becomes
"/documents/documents" but then I tried to check exisits(""), also does not
find .... this time the path becomes "/documents/", and the relative path is
"documents/"
>> how should I check my new root ?
I use AbstractJcrDAO.create ("/", node) to create the root, the node has:
path = "/documents"
name = "documents"
This is the actual method in AbsractJcrDAO:
public T create(String parentNodePath, T entity) {
try {
String entityName = jcrom.getName(entity);
if ( entityName == null || entityName.equals("") ) {
throw new JcrMappingException("The name of the entity being
created is empty!");
}
if ( parentNodePath == null || parentNodePath.equals("") ) {
throw new JcrMappingException("The parent path of the entity
being created is empty!");
}
Node parentNode;
if ( parentNodePath.equals("/") ) {
// special case, add directly to the root node
parentNode = getSession().getRootNode(); <<<<<<---- traced
here, got root successfully
} else {
parentNode =
getSession().getRootNode().getNode(relativePath(parentNodePath));
}
Node newNode = jcrom.addNode(parentNode, entity, mixinTypes);
<<<<<---traced here, also no issue
getSession().save();
if ( isVersionable ) {
//newNode.checkin();
checkinRecursively(newNode);
}
//return (T)jcrom.fromNode(entityClass, newNode);
return entity; <<<<<<<-----return successfully
} catch ( RepositoryException e ) {
throw new JcrMappingException("Could not create node", e);
}
}
rgds,
canal
________________________________
From: go canal <[email protected]>
To: [email protected]
Sent: Wednesday, July 22, 2009 7:58:48 AM
Subject: PathNotFoundException
hi,
have been struggling with this for quite sometime already....help needed
I first created /documents root node, then I wanted to add a new file node to
it..
I am using jcrom - sorry if this is not the right forum but hoping some people
here use it also .......
/documents is created successfully, but when adding the new node, I got
PathNotFoundException in AbstractJcrDAO:
public T create(String parentNodePath, T entity) {
.....
parentNode =
getSession().getRootNode().getNode(relativePath(parentNodePath));
....
}
I traced the parentNodePath, which is the correct 'documents'.
Why it throws 'PathNotFound' ? I lost ....
rgds,
canal