v.soloist schrieb:
Hello,
i am preparing a dummy project about my issue including xsds and jaxb2
compilation and unmarshalling and i will upload this to jira as you
suggested. Btw, are you defining mapping file for the example above?
could you please post it if you are using one?
no, I used no binding file in my test. I just tested the standard castor
behaviour with and without descriptor classes.
regards,
Matthias
Regards,
On 8/6/07, *Matthias Epheser* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
hi,
v.soloist schrieb:
> Hello,
> i am trying to unmarshall an xml file using castor mapping to my
jaxb2
> generated sources. the xml is deformed in some way that i cannot use
> jaxb2 unmarshalling directly. I saw a project proposal about
supporting
> jaxb2 types but i assume it is quite new and could not see any source
> code about that.
I'm working on the jaxb2 integration project this summer and
accidentally on the enum types at the moment. Apart from the jaxb2
annotations, the current castor branch supports the enum type in some
ways (maybe you have some special situation that is not covered).
I wrote a small test yesterday and unmarshalling the following works:
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="state" type="USState"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="USState">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="AK"/>
<xsd:enumeration value="AL"/>
</xsd:restriction>
</xsd:simpleType>
public class Root {
private USState state;
public void setUSState(..)..
public USState getUSState()
}
public enum USState{
AK,AL;
}
input file:
<root>
<state>AL</state>
</root>
output:
Root root = (Root) unmarshaller.unmarshal(inputSource);
System.out.println(root.getState()); -> "AL"
Maybe you can reduce your problem to just the parent class and the enum,
in addition with a simple input file and detailed information about your
setting (castor version, binding file yes/no, ... ), and attach it to a
new jira issue at http://jira.codehaus.org/.
Then I can try to reproduce your problem and give you more competent
feedback.
Regards
Matthias
Actually the only problem in my case seems to be the
> enumeration types of jaxb2.
> i tried using custom handlers for this type but as far as i can
> understand from the examples,the value from the xml needs to be
casted
> to the original object first and then processed for formatting and
> such.This is the class that i cannot map to
>
> public enum MyEnum {
>
> @XmlEnumValue("2")
> TWO("2");
> private final String value;
>
> MyEnum(String v) {
> value = v;
> }
>
> public String value() {
> return value;
> }
>
> public MyEnum setValue(String x) {
> return this.fromValue(x);
> }
>
> public static MyEnum fromValue(String v) {
> for (MyEnum c: MyEnum.values()) {
> if (c.value.equals(v)) {
> return c;
> }
> }
> throw new IllegalArgumentException(v);
> }
>
>
> }
>
> i tried to create a class with just a string value and casting
the xml
> value to this but i could not convert it back with the custom handler
> and add it to the parent object that is going to be
unmarshalled. Am i
> missing something here? Any pointers would be helpful,
> Thanks is advance,
>
---------------------------------------------------------------------
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