Can you pleasee create a new issue at
http://jira.codehaus.org/browse/CASTOR, and attach all relevant files
required for us to re-run your test case ? 

Thanks in advance
Werner 

> -----Original Message-----
> From: Langbecker, Uwe [mailto:[EMAIL PROTECTED] 
> Sent: Mittwoch, 28. Februar 2007 14:38
> To: [email protected]
> Subject: [castor-user] unmarshalling when constructor has 
> optional arguments
> 
> Hi,
> 
> I want to unmarshall XML data for a class SimpleMessage that 
> has two constructors with one and two parameters, respectively.
> The type of the second parameter is an enum-like class 
> Severity (without a valueOf() method).
> Now, there seems to be a problem, when unmarshalling data 
> where the second parameter is missing (or null):
> 
> <SimpleMessage text="cannot delete temporary file"/> 
> <SimpleMessage severity="Warning" text="marked object as 
> obsolete"/> <SimpleMessage severity="Error" text="must shut 
> down system">
> 
> The following mapping was used:
> 
> <mapping>
>     <class name="SimpleMessage" verify-constructable="false">
>            <map-to xml="SimpleMessage" />
>         <field name="severity" type="Severity" get-method="severity"
> set-method="%2" handler="SeverityHandler">
>             <bind-xml name="severity" node="attribute"/>
>         </field>
>         <field name="formattedText" type="java.lang.String"
> get-method="formattedText" set-method="%1" >
>             <bind-xml name="text" node="attribute"/>
>         </field>
>     </class>
>     
> </mapping>
> 
> where a SeverityHandler was implemented. The class code is 
> attached, a test case can be provided. 
> Do you think there is a problem or am I just missing something?
> 
> Best regards,
> Uwe  
> 
> public final class SimpleMessage {
> 
>     private Severity severity;
> 
>     private String text;
> 
>     public SimpleMessage(String text) {
>         this(text, Severity.WARNING);
>     }
> 
>     public SimpleMessage(String text, Severity severity) {
>         this.text = text;
>         this.severity = severity;
>     }
> 
>     public Severity severity() {
>         return severity;
>     }
> 
>     public String formattedText() {
>         return text;
>     }
> 
> }
> 
> 
> public final class Severity {
> 
>     public static final Severity ERROR = new Severity("Error");
> 
>     public static final Severity WARNING = new Severity("Warning");
> 
>     public static final Severity OK = new Severity("OK");
> 
>     private final transient String name;
> 
>     private Severity(String name) {
>         this.name = name;
>     }
> 
>     public String toString() {
>         return name;
>     }
> 
> }
> 
> 
> 
> This e-mail and any attachment thereto may contain 
> confidential information and/or information protected by 
> intellectual property rights for the exclusive attention of 
> the intended addressees named above. Any access of third 
> parties to this e-mail is unauthorised. Any use of this 
> e-mail by unintended recipients such as total or partial 
> copying, distribution, disclosure etc. is prohibited and may 
> be unlawful. When addressed to our clients the content of 
> this e-mail is subject to the General Terms and Conditions of 
> GL's Group of Companies applicable at the date of this e-mail. 
> 
> If you have received this e-mail in error, please notify the 
> sender either by telephone or by e-mail and delete the 
> material from any computer.
> 
> GL's Group of Companies does not warrant and/or guarantee 
> that this message at the moment of receipt is authentic, 
> correct and its communication free of errors, interruption etc.
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 

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

    http://xircles.codehaus.org/manage_email

Reply via email to