Hello, just to be sure about one point: Currently Castor knows nothing about JAXB annotations and does NOT handle them in any way. We are working on the JAXB2 implementation on top of Castor and Castor will support JAXB2 annotations. But currently the only thing that happens is, that Castor looks at your classes with reflection and generates XML for all properties (JavaBean style) found without looking onto annotations. If this is fine to your needs - good. Otherwise I would suggest that you use a Castor mapping file or generate the Java classes with Castor until Castor is able to handle JAXB2 annotations.
If you want to help us - you're welcome ;-) - just contact us again and we think how you can contribute. Regards Joachim On 06/08/07, Matthias Epheser <[EMAIL PROTECTED]> wrote: > 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 > > --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email

