Hi,
Please find attached jcrmapping file . I have created folder under a
folder and then trying to read it back , by passing the name of parent
folder. I am accessing repository via RMI.
I get the following error:
*Exception in thread "main"
org.apache.portals.graffito.jcr.exception.RepositoryException:
Impossible to get the object at /folder5/collection-element; nested
exception is javax.jcr.RepositoryException: failed to resolve path
graffito:classname relative to /folder5/collection-element: graffito
javax.jcr.RepositoryException: failed to resolve path graffito:classname
relative to /folder5/collection-element: graffito
at
org.apache.jackrabbit.rmi.server.ServerObject.getRepositoryException(ServerObject.java:136)
at
org.apache.jackrabbit.rmi.server.ServerNode.hasProperty(ServerNode.java:170)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
at
org.apache.jackrabbit.rmi.server.ServerNode_Stub.hasProperty(Unknown Source)
at
org.apache.jackrabbit.rmi.client.ClientNode.hasProperty(ClientNode.java:320)
at
org.apache.portals.graffito.jcr.persistence.objectconverter.impl.ObjectConverterImpl.getObject(ObjectConverterImpl.java:273)
at
org.apache.portals.graffito.jcr.persistence.collectionconverter.impl.NTCollectionConverterImpl.doGetCollection(NTCollectionConverterImpl.java:207)
at
org.apache.portals.graffito.jcr.persistence.collectionconverter.impl.AbstractCollectionConverterImpl.getCollection(AbstractCollectionConverterImpl.java:136)
at
org.apache.portals.graffito.jcr.persistence.objectconverter.impl.ObjectConverterImpl.retrieveCollectionField(ObjectConverterImpl.java:622)
at
org.apache.portals.graffito.jcr.persistence.objectconverter.impl.ObjectConverterImpl.retrieveCollectionFields(ObjectConverterImpl.java:604)
at
org.apache.portals.graffito.jcr.persistence.objectconverter.impl.ObjectConverterImpl.getObject(ObjectConverterImpl.java:347)
at
org.apache.portals.graffito.jcr.persistence.impl.PersistenceManagerImpl.getObject(PersistenceManagerImpl.java:240)
at com.sun.portal.cms.model.core.Folder.getFolder(Folder.java:81)
at com.sun.portal.cms.test.TestFolder.findFolder(TestFolder.java:46)
at com.sun.portal.cms.test.TestFolder.main(TestFolder.java:60)
*
Help appreciated.
Thanks,
Ruchi
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : mapping.xml
Created on : September 4, 2006, 4:24 PM
Author : Owner
Description:
Purpose of the document follows.
-->
<!DOCTYPE graffito-jcr PUBLIC "-//The Apache Software Foundation//DTD Repository//EN" "./config/graffito-jcr-mapping.dtd">
<graffito-jcr>
<class-descriptor className="com.sun.portal.cms.model.core.CMSObject" jcrNodeType="ps:cmsobject" discriminator="false" >
<!-- Field-descriptor is used to map simple attributes to jcr property -->
<field-descriptor fieldName="path" path="true" />
<field-descriptor fieldName="creationDate" jcrName="jcr:created" />
<field-descriptor fieldName="description" jcrName="ps:description" />
<field-descriptor fieldName="creator" jcrName="ps:creator" />
<field-descriptor fieldName="name" jcrName="ps:name" />
</class-descriptor>
<class-descriptor className="com.sun.portal.cms.model.core.Content" jcrNodeType="ps:content" extend="com.sun.portal.cms.model.core.CMSObject" >
</class-descriptor>
<class-descriptor className="com.sun.portal.cms.model.core.Folder" jcrNodeType="ps:folder" extend="com.sun.portal.cms.model.core.Content" >
<!-- Field-descriptor is used to map simple attributes to jcr property -->
<field-descriptor fieldName="path" path="true" />
<collection-descriptor fieldName="readPermissions" jcrName="ps:readPermissions"
elementClassName="java.lang.String"
collectionConverter="org.apache.portals.graffito.jcr.persistence.collectionconverter.impl.MultiValueCollectionConverterImpl" />
<collection-descriptor fieldName="writePermissions" jcrName="ps:writePermissions" proxy="false"
elementClassName="java.lang.String"
collectionConverter="org.apache.portals.graffito.jcr.persistence.collectionconverter.impl.MultiValueCollectionConverterImpl" />
<field-descriptor fieldName="size" jcrName="ps:size" />
<collection-descriptor fieldName="children" elementClassName="com.sun.portal.cms.model.core.CMSObject"
collectionConverter="org.apache.portals.graffito.jcr.persistence.collectionconverter.impl.NTCollectionConverterImpl" />
</class-descriptor>
<class-descriptor className="com.sun.portal.cms.model.DocumentManagement.DocumentResource" jcrNodeType="ps:resource" >
</class-descriptor>
<class-descriptor className="com.sun.portal.cms.model.DocumentManagement.Document" jcrNodeType="ps:document" extend="com.sun.portal.cms.model.core.CMSObject" >
<!-- Field-descriptor is used to map simple attributes to jcr property -->
<field-descriptor fieldName="path" path="true" />
<field-descriptor fieldName="title" jcrName="ps:title" />
<field-descriptor fieldName="language" jcrName="ps:language" />
<field-descriptor fieldName="author" jcrName="ps:author" />
<field-descriptor fieldName="state" jcrName="ps:state" />
<field-descriptor fieldName="modifier" jcrName="ps:modifier" />
<field-descriptor fieldName="size" jcrName="ps:size" />
<field-descriptor fieldName="readPermissions" jcrName="ps:readPermissions" jcrMultiple="true" />
<field-descriptor fieldName="writePermissions" jcrName="ps:writePermissions" jcrMultiple="true" />
<field-descriptor fieldName="keywords" jcrName="ps:keywords" jcrMultiple="true" />
<field-descriptor fieldName="resources" jcrName="ps:resources" jcrMultiple="true" />
<bean-descriptor fieldName="documentResource" jcrName="ps:documentResource" jcrNodeType="ps:resource" />
</class-descriptor>
<class-descriptor className="com.sun.portal.cms.model.core.Link" jcrNodeType="ps:link" >
<!-- Field-descriptor is used to map simple attributes to jcr property -->
<field-descriptor fieldName="path" jcrName="ps:path" />
<field-descriptor fieldName="url" jcrName="ps:url" />
</class-descriptor>
<class-descriptor className="com.sun.portal.cms.model.AdManagement.Ad" jcrNodeType="nt:unstructured" >
<!-- Field-descriptor is used to map simple attributes to jcr property -->
<field-descriptor fieldName="path" path="true" />
<field-descriptor fieldName="title" jcrName="title" />
<field-descriptor fieldName="text" jcrName="text" />
<field-descriptor fieldName="imageAsLink" jcrName="imageAsLink" />
<field-descriptor fieldName="link1" jcrName="link1" />
<field-descriptor fieldName="link2" jcrName="link2" />
<field-descriptor fieldName="imageAsBinary" jcrName="imageAsBinary" />
</class-descriptor>
</graffito-jcr>