Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Problem with castor xml mapping

843834Mar 15 2006
Hi,

we have following problem with castor xml mapping.

How to use references in the collections(Hashmap or vector)?
WE have a method called getAttribute map which will return a hashmap consist different type of objects. We want to keep only the
references of objects if that object occurs more than once,instead of keeping the whole object

Following is the the xml mapping file.

<mapping>
<class name="com.opvista.ndtool.core.mos.ManagedObject" identity="Id" auto-complete="false" verify-constructable="false">
<map-to xml="ManagedObject"/>
<field name="Id" get-method="getId" set-method="setId" type="string">
<bind-xml name="Id" node="attribute"/>
</field>
<field name="AttributeMap" type="org.exolab.castor.mapping.MapItem" collection="map" get-method="getAttributeMap">
<bind-xml name="AttributeMap" node="element">
<class name="org.exolab.castor.mapping.MapItem">
<field name="key" type="java.lang.Object">
<bind-xml name="key" node="attribute"/>
</field>
<field name="value" type="java.lang.Object">
<bind-xml name="value" node="element" reference="true"/>
</field>
</class>
</bind-xml>
</field>
</class>
</mapping>

we are using reference=true for the values. But it will throw below exception.

Unable to resolve ID for instance of class 'java.lang.String' due to the following error: Unable to resolve ClassDescriptor.

at org.exolab.castor.xml.Marshaller.getObjectID(Marshaller.java:1988)

at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1628)

at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1831)

at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1814)

at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1825)

at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:821)

Please help us to overcome from this problem?

Thanks,
Dileep
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 12 2006
Added on Mar 15 2006
0 comments
682 views