The property discriminator contains the classname. Maybe the some collection descriptor are not using it correctly. If you have no time, I will check this week-end otherwise if you found something, you can send us a patch (in jira).
Thanks, Christophe On 10/26/07, Kaizer <[EMAIL PROTECTED]> wrote: > > > Thanks a lot! I am using the discriminator approach. In fact i was > thinking > of writing my own CollectionConverter wherein I would save the object by > taking the class of the item being stored rather than from the > "elementClassName" attribute. But the problem would be that while > retrieving > the object, I wouldnt have the class name to instantiate. > Thanks again! > > Regards > Kaizer > > > > Christophe Lombart wrote: > > > > Sorry for the delay I was very busy this week. > > > > Which inheritance strategy are you using ? Are you using the a > > discriminator > > or a different node type per Class ? > > > > There are 2 possibilities : > > > > 1/ Using a different node type per class in the hierarchy, here is a > > example > > from the unit test. The implement-descriptor is not mandatory. > > > > <class-descriptor > > className=" > org.apache.jackrabbit.ocm.testmodel.inheritance.impl.FolderImpl" > > jcrType="ocm:folderimpl" > > > > extend=" > org.apache.jackrabbit.ocm.testmodel.inheritance.impl.CmsObjectImpl" > > discriminator="false" > > > <implement-descriptor > > interfaceName="org.apache.jackrabbit.ocm.testmodel.interfaces.Folder" > > /> > > <collection-descriptor fieldName="children" proxy="true" > > autoUpdate="false" > > > > elementClassName=" > org.apache.jackrabbit.ocm.testmodel.inheritance.impl.CmsObjectImpl" > > > > collectionConverter=" > org.apache.jackrabbit.ocm.manager.collectionconverter.impl.NTCollectionConverterImpl > " > > /> > > </class-descriptor > > > > > > > 2/ Using a discriminator (discriminator =true). It can be used when you > > are > > using the same node type for the complete class hierarchy. There is no > > unit > > tests on collection-descriptor with a discriminator. So, I will write a > > new > > unit test for this use cases and I will give some feedback. So maybe > there > > are some bug for this kind of situation. > > > > Again sorry for the delay. > > > > br, > > Christophe > > > > On 10/24/07, Kaizer <[EMAIL PROTECTED]> wrote: > >> > >> > >> Hi, > >> > >> I have a class A which has a collection of objects of type B. I have > made > >> the corresponding definitions in the mapping xml. However, If i create > a > >> class C which extends B and save objects of type C in the list and then > >> try > >> to retrieve them, I always get an instance of B as the > >> ObjectConverterImpl > >> always creates a new instance of the "elementClassName" defined in the > >> mapping (which would be B in this case). How can i achieve the storage > >> and > >> retrieval in this scenario?Would I require a custom > CollectionConverter? > >> > >> Thanks. > >> > >> Regards > >> Kaizer > >> -- > >> View this message in context: > >> http://www.nabble.com/Using-Collections---OCM-tf4683858.html#a13384206 > >> Sent from the Jackrabbit - Users mailing list archive at Nabble.com. > >> > >> > > > > > > -- > View this message in context: > http://www.nabble.com/Using-Collections---OCM-tf4683858.html#a13422253 > Sent from the Jackrabbit - Users mailing list archive at Nabble.com. > >
