Geoff,

I guess this is a bug. Feel free to open a new issue at

http://jira.codehaus.org/browse/CASTOR

Any patches would be welcome by definition.

Regards
Werner

Geoff Morrison wrote:
> It appears that the XML code generator does not obey the equalsmethod or
> superclass properties for the *Item classes generated for nested groups.
> 
> I have this sequence of choices:
> 
> <xs:element name="Reason" minOccurs="0">
>   <xs:complexType>
>     <xs:sequence minOccurs="1" maxOccurs="unbounded">
>       <xs:choice>
>         <xs:element name="Trace" type="UnifiedTrace"/>
>         <xs:element name="TraceRef" type="UnifiedRef"/>
>       </xs:choice>
>     </xs:sequence>
>   </xs:complexType>
> </xs:element>
> 
> and these codegen properties:
> 
> org.exolab.castor.builder.superclass=com.fortify.io.CastorBase
> org.exolab.castor.builder.equalsmethod=true
> 
> The top-level element creates a UnifiedReason class that contains a list
> of UnifiedReasonItem objects, and each UnifiedReasonItem contains a
> single ReasonChoice object. The UnifiedReason and ReasonChoice classes
> both extend CastorBase and have equals/hashCode methods, but the
> UnifiedReasonItem has neither of these. This seems to run counter to the
> descriptions of these properties.
> 
> It looks like this is done explicitly in SourceFactory.java:
> 
>     482   // -- if we have a superclass, make sure that the actual type
> extends it, not the
>     483   // xxxItem holder class.
>     484   String actSuperClass = classes[1].getSuperClassQualifiedName();
>     485   jClass.setSuperClass(actSuperClass);
>     486   classes[1].setSuperClass(null);
> 
> Is this a Castor bug, or is this behavior intentional? Is there another
> way to get the code generator to do what I want?
> 
> I'm running 1.1.2.1, but I see this behavior with 1.3 as well.
> 
> Thanks,
> 

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to