You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by ruchi goel <Ru...@Sun.COM> on 2007/02/07 18:38:48 UTC

creating custom node types inheriting from nt:folder using jcr mapping

Hi,
  I want to use jcr mapping layer for creating custom node type "folder" 
which should inherit from "nt:folder"

I have following custom_nodetype.xml
<nodeTypes xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
    xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:rep="internal"
    xmlns:mix="http://www.jcp.org/jcr/mix/1.0">
   
   <nodeType name="folder" isMixin="false" 
hasOrderableChildNodes="false" primaryItemName="">
    <supertypes>
      <supertype>nt:folder</supertype>
    </supertypes>   
  </nodeType>
 
</nodeTypes>


I have following jcrmapping descriptor

<class-descriptor className="com.sun.portal.cms.model.HeirarchyContent" 
jcrNodeType="nt:hierarchyNode" 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" />
 />
</class-descriptor>

<class-descriptor className="com.sun.portal.cms.model.Folder" 
jcrNodeType="folder"
 extend="com.sun.portal.cms.model.HeirarchyContent"  discriminator="false" >
<!-- Field-descriptor is used to map simple attributes to jcr property -->
<field-descriptor fieldName="path" path="true" />
 />
 <collection-descriptor fieldName="children" proxy="false" 
jcrNodeType="nt:hierarchyNode"
                               
elementClassName="com.sun.portal.cms.model.HeirarchyContent"
                               
collectionConverter="org.apache.portals.graffito.jcr.persistence.collectionconverter.impl.NTCollectionConverterImpl" 
/>
</class-descriptor>



The problem is I am able to retrieve the items which are properties but 
I do not see any child node definitions in folder. Ideally since folder 
is inheriting from nt:folder , it should  get a childnode definition of 
type nt:heirrarchynodeType

Is there anything I am missing ?
Checked out PersistenceAutoTest.java but it uses all custom nodetypes 
which are inherited from nt:base and so , it has childnodedefintions in 
custom node type definition.

Help appreciated.
Thanks,
Ruchi




Re: creating custom node types inheriting from nt:folder using jcr mapping

Posted by Stefan Guggisberg <st...@gmail.com>.
hi ruchi,

i guess you're refering to graffito-jcr mapping. this seems to be a
graffito-specific issue, the graffito list would therefore probably be
the better audience.

cheers
stefan

On 2/7/07, ruchi goel <Ru...@sun.com> wrote:
> Hi,
>   I want to use jcr mapping layer for creating custom node type "folder"
> which should inherit from "nt:folder"
>
> I have following custom_nodetype.xml
> <nodeTypes xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
>     xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:rep="internal"
>     xmlns:mix="http://www.jcp.org/jcr/mix/1.0">
>
>    <nodeType name="folder" isMixin="false"
> hasOrderableChildNodes="false" primaryItemName="">
>     <supertypes>
>       <supertype>nt:folder</supertype>
>     </supertypes>
>   </nodeType>
>
> </nodeTypes>
>
>
> I have following jcrmapping descriptor
>
> <class-descriptor className="com.sun.portal.cms.model.HeirarchyContent"
> jcrNodeType="nt:hierarchyNode" 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" />
>  />
> </class-descriptor>
>
> <class-descriptor className="com.sun.portal.cms.model.Folder"
> jcrNodeType="folder"
>  extend="com.sun.portal.cms.model.HeirarchyContent"  discriminator="false" >
> <!-- Field-descriptor is used to map simple attributes to jcr property -->
> <field-descriptor fieldName="path" path="true" />
>  />
>  <collection-descriptor fieldName="children" proxy="false"
> jcrNodeType="nt:hierarchyNode"
>
> elementClassName="com.sun.portal.cms.model.HeirarchyContent"
>
> collectionConverter="org.apache.portals.graffito.jcr.persistence.collectionconverter.impl.NTCollectionConverterImpl"
> />
> </class-descriptor>
>
>
>
> The problem is I am able to retrieve the items which are properties but
> I do not see any child node definitions in folder. Ideally since folder
> is inheriting from nt:folder , it should  get a childnode definition of
> type nt:heirrarchynodeType
>
> Is there anything I am missing ?
> Checked out PersistenceAutoTest.java but it uses all custom nodetypes
> which are inherited from nt:base and so , it has childnodedefintions in
> custom node type definition.
>
> Help appreciated.
> Thanks,
> Ruchi
>
>
>
>