|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
[Fwd: Re: creating custom node types inheriting from nt:folder using jcr mapping]Thanks. Please find attached model classes . I do not have a clearly isolated unit test case, since I have created a netbeans project where I am using this. But these are the two functionalities I am trying to achieve : public void testSaveFolder(FolderModelService folderService){ //Test Save //insert an Ad in repository Folder folder = new Folder(); folder.setPath("/cms/folder2"); Collection content = new ArrayList(); content.add(new Folder("subfolder2")); folder.setChildren(content); folderService.saveFolder(folder); } public void testReadFolder(FolderModelService folderService){ Folder folder = (Folder)folderService.getFolder("/cms/folder2"); System.out.print("folder Info : " + folder.getCreationDate()); } Thanks, Ruchi Christophe Lombart wrote: > Hi Ruchi, > e > It seems to be ok. Send me your unit tests and you model classes. > It is a good exemple to add and I will have time to help you this > afternoon. > > > br, > Christophe > > > > > On 2/8/07, ruchi goel <Ruchi.Goel@...> 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 >> > /* * HeirarchyContent.java * * Created on February 7, 2007, 2:10 PM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package com.sun.portal.cms.model; import java.util.Date; /** * * @author ruchi goel */ public class HeirarchyContent { String path; Date creationDate; /** Creates a new instance of HeirarchyContent */ public HeirarchyContent() { } public Date getCreationDate(){ return creationDate; } public void setPath(String path){ this.path = path; } public void setCreationDate(Date creationDate){ this.creationDate = creationDate; } public String getPath(){ return path; } } /* * Folder.java * * Created on February 7, 2007, 10:45 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package com.sun.portal.cms.model; import java.util.Collection; import java.util.ArrayList; /** * * @author ruchi goel */ public class Folder extends HeirarchyContent { Collection children; /** Creates a new instance of Folder */ public Folder() { } ; public Folder(String path) { this.path = path; } public void setChildren(Collection children){ this.children = children; } public Collection getChildren(){ return children; } public void addChild(HeirarchyContent child) { if (children == null) { children = new ArrayList(); } children.add(child); } } |
|
|
Re: [Fwd: Re: creating custom node types inheriting from nt:folder using jcr mapping]Hi Ruchi,
I just commited a new unit test. it contains a mapping for nt:folder & nt:file. This is the first draft :-) . I'm going to work on it. I will add more unit tests. See the mapping file : jcrmapping-jcrnodetypes.xml See the unit test : PersistenceManagerJcrNodeTypeTest The current ocm implementation forces to use an extra class for the jcr:resource. This should be nice to map directly into the file class attributes. Let me know if you need more help br, Christophe On 2/8/07, ruchi goel <Ruchi.Goel@...> wrote: > > > > ---------- Forwarded message ---------- > From: ruchi goel <Ruchi.Goel@...> > To: christophe.lombart@... > Date: Thu, 08 Feb 2007 14:38:50 +0530 > Subject: Re: creating custom node types inheriting from nt:folder using jcr mapping > Thanks. Please find attached model classes . I do not have a clearly > isolated unit test case, since I have created a netbeans project where I > am using this. > But these are the two functionalities I am trying to achieve : > > public void testSaveFolder(FolderModelService folderService){ > > //Test Save > > //insert an Ad in repository > Folder folder = new Folder(); > folder.setPath("/cms/folder2"); > Collection content = new ArrayList(); > content.add(new Folder("subfolder2")); > folder.setChildren(content); > folderService.saveFolder(folder); > > > } > public void testReadFolder(FolderModelService folderService){ > Folder folder = (Folder)folderService.getFolder("/cms/folder2"); > System.out.print("folder Info : " + folder.getCreationDate()); > } > > > > Thanks, > Ruchi > Christophe Lombart wrote: > > Hi Ruchi, > > e > > It seems to be ok. Send me your unit tests and you model classes. > > It is a good exemple to add and I will have time to help you this > > afternoon. > > > > > > br, > > Christophe > > > > > > > > > > On 2/8/07, ruchi goel <Ruchi.Goel@...> 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 > >> > > > > > /* > * HeirarchyContent.java > * > * Created on February 7, 2007, 2:10 PM > * > * To change this template, choose Tools | Template Manager > * and open the template in the editor. > */ > > package com.sun.portal.cms.model; > import java.util.Date; > /** > * > * @author ruchi goel > */ > public class HeirarchyContent { > String path; > Date creationDate; > /** Creates a new instance of HeirarchyContent */ > public HeirarchyContent() { > } > public Date getCreationDate(){ > return creationDate; > } > public void setPath(String path){ > this.path = path; > } > public void setCreationDate(Date creationDate){ > this.creationDate = creationDate; > } > public String getPath(){ > return path; > } > > } > > /* > * Folder.java > * > * Created on February 7, 2007, 10:45 AM > * > * To change this template, choose Tools | Template Manager > * and open the template in the editor. > */ > > package com.sun.portal.cms.model; > import java.util.Collection; > import java.util.ArrayList; > > > /** > * > * @author ruchi goel > */ > public class Folder extends HeirarchyContent { > > Collection children; > /** Creates a new instance of Folder */ > public Folder() { > } ; > > public Folder(String path) { > this.path = path; > } > public void setChildren(Collection children){ > this.children = children; > } > public Collection getChildren(){ > return children; > } > public void addChild(HeirarchyContent child) > { > if (children == null) > { > children = new ArrayList(); > } > > children.add(child); > } > > } > > |
|
|
Re:Christophe Lombart wrote:
> Hi Ruchi, > > I just commited a new unit test. it contains a mapping for nt:folder & > nt:file. > This is the first draft :-) . I'm going to work on it. I will add more > unit tests. > See the mapping file : jcrmapping-jcrnodetypes.xml > See the unit test : PersistenceManagerJcrNodeTypeTest > > The current ocm implementation forces to use an extra class for the > jcr:resource. > This should be nice to map directly into the file class attributes. > > Let me know if you need more help > > br, > Christophe Thanks I will try this. This requires new updated source code , right. So, I need to checkout the entire graffito source and build the jcr mapping layer. -Ruchi > > On 2/8/07, ruchi goel <Ruchi.Goel@...> wrote: >> >> >> >> ---------- Forwarded message ---------- >> From: ruchi goel <Ruchi.Goel@...> >> To: christophe.lombart@... >> Date: Thu, 08 Feb 2007 14:38:50 +0530 >> Subject: Re: creating custom node types inheriting from nt:folder >> using jcr mapping >> Thanks. Please find attached model classes . I do not have a clearly >> isolated unit test case, since I have created a netbeans project where I >> am using this. >> But these are the two functionalities I am trying to achieve : >> >> public void testSaveFolder(FolderModelService folderService){ >> >> //Test Save >> >> //insert an Ad in repository >> Folder folder = new Folder(); >> folder.setPath("/cms/folder2"); >> Collection content = new ArrayList(); >> content.add(new Folder("subfolder2")); >> folder.setChildren(content); >> folderService.saveFolder(folder); >> >> >> } >> public void testReadFolder(FolderModelService folderService){ >> Folder folder = (Folder)folderService.getFolder("/cms/folder2"); >> System.out.print("folder Info : " + folder.getCreationDate()); >> } >> >> >> >> Thanks, >> Ruchi >> Christophe Lombart wrote: >> > Hi Ruchi, >> > e >> > It seems to be ok. Send me your unit tests and you model classes. >> > It is a good exemple to add and I will have time to help you this >> > afternoon. >> > >> > >> > br, >> > Christophe >> > >> > >> > >> > >> > On 2/8/07, ruchi goel <Ruchi.Goel@...> 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 >> >> >> > >> >> >> /* >> * HeirarchyContent.java >> * >> * Created on February 7, 2007, 2:10 PM >> * >> * To change this template, choose Tools | Template Manager >> * and open the template in the editor. >> */ >> >> package com.sun.portal.cms.model; >> import java.util.Date; >> /** >> * >> * @author ruchi goel >> */ >> public class HeirarchyContent { >> String path; >> Date creationDate; >> /** Creates a new instance of HeirarchyContent */ >> public HeirarchyContent() { >> } >> public Date getCreationDate(){ >> return creationDate; >> } >> public void setPath(String path){ >> this.path = path; >> } >> public void setCreationDate(Date creationDate){ >> this.creationDate = creationDate; >> } >> public String getPath(){ >> return path; >> } >> >> } >> >> /* >> * Folder.java >> * >> * Created on February 7, 2007, 10:45 AM >> * >> * To change this template, choose Tools | Template Manager >> * and open the template in the editor. >> */ >> >> package com.sun.portal.cms.model; >> import java.util.Collection; >> import java.util.ArrayList; >> >> >> /** >> * >> * @author ruchi goel >> */ >> public class Folder extends HeirarchyContent { >> >> Collection children; >> /** Creates a new instance of Folder */ >> public Folder() { >> } ; >> >> public Folder(String path) { >> this.path = path; >> } >> public void setChildren(Collection children){ >> this.children = children; >> } >> public Collection getChildren(){ >> return children; >> } >> public void addChild(HeirarchyContent child) >> { >> if (children == null) >> { >> children = new ArrayList(); >> } >> >> children.add(child); >> } >> >> } >> >> |
| Free Forum Powered by Nabble | Forum Help |