Hi! Thanks for the quick answer. I've created a JIRA issue for the bug:
https://issues.apache.org/jira/browse/JCR-1325 Sebastian Gomez. Christophe Lombart wrote: > > On Jan 17, 2008 2:16 PM, sgomez <[EMAIL PROTECTED]> wrote: > >> >> Hello again. >> >> Using XmlBeans I've been able to change my array to a >> MyCustomList<MyClass>, >> with MyCustomList extending java.util.AbstractList<MyClass>. I thought >> this >> way it would be easily converted to a ManageableArrayList, but I still >> get >> the same JcrMappingException in >> ManageableCollectionUtil.getManageableCollection method. This is the >> stack >> trace: >> >> org.apache.jackrabbit.ocm.exception.JcrMappingException: Unsupported >> collection >> type : *********** (MyCustomList class) >> at >> org.apache.jackrabbit.ocm.manager.collectionconverter.ManageableColle >> ctionUtil.getManageableCollection(ManageableCollectionUtil.java:153) >> at >> org.apache.jackrabbit.ocm.manager.objectconverter.impl.ObjectConverte >> rImpl.insertCollectionFields(ObjectConverterImpl.java:780) >> at >> org.apache.jackrabbit.ocm.manager.objectconverter.impl.ObjectConverte >> rImpl.insert(ObjectConverterImpl.java:221) >> at >> org.apache.jackrabbit.ocm.manager.objectconverter.impl.ObjectConverte >> rImpl.insert(ObjectConverterImpl.java:146) >> at >> org.apache.jackrabbit.ocm.manager.impl.ObjectContentManagerImpl.inser >> t(ObjectContentManagerImpl.java:407) >> Having a look at that method, it seems to not realize my list is a List. >> Is >> it possible that the "if (object.getClass().equals(XXX.class)" clauses >> should be "if (object instanceof XXX)" ? (I have already reassured >> myself >> that MyList instance of List returns true). >> > > It looks like a big bug. I'm going to review the code and add a new unit > test which match to your case. If you want, you can add new jira issue. > > >> Another thing I've seen a bit strange is the call to that method from >> ObjectConverterImpl.java: >> >> ManageableCollection manageableCollection = >> ManageableCollectionUtil.getManageableCollection(collection); > > > ManageableCollection is a common interface for Collection & Map. So, the > object field is converted into a ManageableCollection before calling the > desired CollectionConverter. > By this the DefaultCollectionConverter and other converters are able to > manage both structure. > "collection" is certainly a very bad name. > > > br, > Christophe > > -- View this message in context: http://www.nabble.com/ocm%3A-Problems-mapping-an-array-tp14839197p14948021.html Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
