Subramanian
If you use collection="arrayList" (or whatever) then the mapping file knows
that it is multivalued and sets the value.
One issue seems to be that the values are expected to be in an object array
when they are still in a enumeration - thus
ClassCastException
Glen

-----Original Message-----
From: Subramanian Subramanian
[mailto:[EMAIL PROTECTED]]
Sent: Tuesday, March 26, 2002 13:16 PM
To: [EMAIL PROTECTED]
Subject: Re: [castor-dev] IDREFS and mapping


I have asked the question about support for IDREFs before,
but got no reply so far. I went through the code and
found that the support for IDREFS is there. It is enabled
if you mark a field descriptor as multivalued. But there is
no way to set this flag using a mapping file. So if you can
modify the Castor code you need not flatten your xml.

Hope this helps.

Subramanian




-----Original Message-----
From: Glen Edwards [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, March 26, 2002 8:52 AM
To: [EMAIL PROTECTED]
Subject: [castor-dev] IDREFS and mapping


Hello
I have been able to get IDREF to work using information from previous posts
using an existing model and a mapping file (schema generator is
not really an option). I am trying to get IDREFS to work, but without any
luck as I end up with a class cast exception when the code tries
to generate the IDREFS. I have an object Size, which contains a list of
SizeDescriptions. I am intending to flatten this (would rather not but that
is not my decision). For example.

<snip>
<SIZE ID="101" key="1" sizeDescriptions="12 14"/>
<SIZE-DESCRIPTION ID="12" size="101 info="stuff"/>
<SIZE-DESCRIPTION ID="14" size="101 info="stuff"/>
<snip>

Am I trying to reach too far on this? Is this possible in the current
version (using snaphot from cvs of 18th March 2002)

Thanks
Glen

I am using the following mapping file:
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
"http://castor.exolab.org/mapping.dtd";>
<mapping>


  <!-- Mapping for Size -->
  <class name="exit41.mumi.persist.Size" identity="id">
    <description>Size Reference Class</description>
    <map-to table="Sizes" xml="SIZE"/>
    <field name="id" type="integer" required="true">
      <bind-xml name="key" node="attribute"/>
    </field>

    <field name="description" type="exit41.mumi.persist.SizeDescription"
collection="arraylist" required="false">
      <bind-xml name="sizeDescriptions" node="attribute" reference="true"/>
    </field>
  </class>

  <!--  Mapping for SizeDescription  -->
  <class name="exit41.mumi.persist.SizeDescription"
depends="exit41.mumi.persist.Size" identity="idref">
    <description>NLS support for Sizes</description>
    <map-to table="NLSSizes" xml="SIZE-DESCRIPTION"/>
    <field name="idref" type="string"  get-method="getIDREF">
      <bind-xml name="ID" node="attribute"/>
    </field>
    <field name="size" type="exit41.mumi.persist.Size" required="true">
      <bind-xml name="sizeID" node="attribute" reference="true"/>
    </field>
  </class>

</mapping>

Glen Edwards
Elm Square Interactive/Exit41
Three Dundee Park
Andover, MA 01810
978-933-7464
[EMAIL PROTECTED]

-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to