On Wed, Jul 22, 2009 at 7:45 AM, go canal<[email protected]> wrote:
> Did I misunderstand some basic concept ?
>
> this is how I create a new root node:
>    parentNode = getSession().getRootNode();
>    Node newNode = jcrom.addNode(parentNode, entity, mixinTypes);

i am not familiar with jcrom. you might want to ask on the jcrom list.

cheers
stefan

>
>
> the entity has a path set to "/documents",
>
> immediately, I check the availability:
>   return getSession().getRootNode().hasNode ("documents");
>
> and it says path not found ...
>
>
> rgds,
> canal
>
>
>
>
> ________________________________
> From: go canal <[email protected]>
> To: [email protected]
> Sent: Wednesday, July 22, 2009 8:13:31 AM
> Subject: Re: PathNotFoundException
>
> 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
>
>
>

Reply via email to