Hi Michael, I think I see where this could be going wrong, and I'll try looking into the issue. If you create a Jira problem report and attach a project that demonstrates the problem it'll get done sooner. :-)
In the meantime, rather than modifying the schema you can try using a schema-type CodeGen customization (http://jibx.sourceforge.net/fromschema/codegen-extends.html#types) to force generating a java.lang.Boolean rather than a boolean primitive type for this case. You can use the format-name "Boolean.default" for this - I just noticed that's missing from the table of value conversions in the documentation, and added it. - Dennis Dennis M. Sosnoski XML and Web Services in Java Training and Consulting http://www.sosnoski.com - http://www.sosnoski.co.nz Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117 Michael Handler wrote: > Hi, > > I just managed to force him to use the object types instead of the > primitives by setting nillable="true" in the schema file on the boolean > element. This is only a workaround though, so please keep me updated if > there is a solution to this problem. > > kind regards, > Michael Handler > > Am 14.04.2010 14:21, schrieb Michael Handler: > >> Hi, >> >> It is generated together with the Java Classes. But here is the >> interesting part of it: >> >> <mapping class="org.openengsb.core.xmlmapping.XMLPrimitive1" >> name="XMLPrimitive1"> >> <structure ordered="false" choice="true"> >> <value style="element" name="boolean" test-method="ifBoolean" >> get-method="isBoolean" set-method="setBoolean" usage="optional"/> >> <value style="element" name="string" test-method="ifString" >> get-method="getString" set-method="setString" usage="optional"/> >> </structure> >> </mapping> >> >> The generated java code looks like this: >> >> public class XMLPrimitive1 >> { >> private int XMLPrimitive1Select = -1; >> private static final int BOOLEAN_CHOICE = 0; >> private static final int STRING_CHOICE = 1; >> private boolean _boolean; >> private String string; >> >> private void setXMLPrimitive1Select(int choice) { >> if (XMLPrimitive1Select == -1) { >> XMLPrimitive1Select = choice; >> } else if (XMLPrimitive1Select != choice) { >> throw new IllegalStateException( >> "Need to call clearXMLPrimitive1Select() before >> changing existing choice"); >> } >> } >> >> public void clearXMLPrimitive1Select() { >> XMLPrimitive1Select = -1; >> } >> >> public boolean ifBoolean() { >> return XMLPrimitive1Select == BOOLEAN_CHOICE; >> } >> >> public boolean isBoolean() { >> return _boolean; >> } >> >> public void setBoolean(boolean _boolean) { >> setXMLPrimitive1Select(BOOLEAN_CHOICE); >> this._boolean = _boolean; >> } >> >> public boolean ifString() { >> return XMLPrimitive1Select == STRING_CHOICE; >> } >> >> public String getString() { >> return string; >> } >> >> public void setString(String string) { >> setXMLPrimitive1Select(STRING_CHOICE); >> this.string = string; >> } >> } >> >> >> I just found out that the same problem occurs for integer (with 0 as >> value). Seems like there is a problem when primitives are set to their >> default values. >> >> kind regards, >> Michael Handler >> >> Am 14.04.2010 13:55, schrieb Ben Davies: >> >> >>> Can we see your binding file? >>> >>> -----Original Message----- >>> From: Michael Handler [mailto:michael.hand...@fullstop.at] >>> Sent: 14 April 2010 12:11 >>> To: jibx-users@lists.sourceforge.net >>> Subject: [jibx-users] problem with boolean in choice >>> >>> Hi, >>> >>> I have a problem with jibx (starting from an xml schema) using a boolean >>> >>> element in a choice element. Somehow the resulting xml does not contain >>> the boolean value if the boolean is set to false, although it works fine >>> >>> if the boolean is set to true. The resulting xml cannot be parsed >>> correctly (no choice is selected)... >>> I use the maven jibx plugin (verison 1.2.2) to create the java files and >>> >>> the binding from a xml schema. >>> >>> Here is the relevant part of the schema file: >>> <xs:element name="XMLPrimitive1"> >>> <xs:complexType> >>> <xs:choice> >>> <xs:element name="boolean" type="xs:boolean" /> >>> <xs:element name="string" type="xs:string" /> >>> </xs:choice> >>> </xs:complexType> >>> </xs:element> >>> >>> >>> Using the following code to create the xml: >>> >>> XMLPrimitive1 xmlPrimitive = new XMLPrimitive1(); >>> xmlPrimitive.setBoolean(false); >>> >>> JibxXmlSerializer serializer = new JibxXmlSerializer(); >>> StringWriter writer = new StringWriter(); >>> serializer.serialize(xmlPrimitive, writer); >>> String xml = writer.toString(); >>> >>> System.out.println(xml); >>> >>> The output is: >>> <?xml version="1.0" encoding="UTF-8"?><XMLPrimitive1/> >>> >>> Shouldn't this rather be: >>> <?xml version="1.0" >>> encoding="UTF-8"?><XMLPrimitive1><boolean>false</boolean></XMLPrimitive1 >>> >>> >>> >>>> >>>> >>> as the xml looks like this when the boolean value is set to true: >>> <?xml version="1.0" >>> encoding="UTF-8"?><XMLPrimitive1><boolean>true</boolean></XMLPrimitive1> >>> >>> Thank you for your help! >>> >>> kind regards, >>> Michael Handler >>> >>> ------------------------------------------------------------------------ >>> ------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev >>> _______________________________________________ >>> jibx-users mailing list >>> jibx-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/jibx-users >>> >>> >>> No virus found in this incoming message. >>> Checked by AVG - www.avg.com >>> Version: 9.0.801 / Virus Database: 271.1.1/2800 - Release Date: 04/13/10 >>> 21:22:00 >>> >>> >>> ------------------------------------------------------------------------------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev >>> _______________________________________________ >>> jibx-users mailing list >>> jibx-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/jibx-users >>> >>> >>> >>> >>> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> jibx-users mailing list >> jibx-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/jibx-users >> >> >> >> > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > jibx-users mailing list > jibx-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jibx-users > > ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ jibx-users mailing list jibx-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jibx-users