Re: [jibx-users] problem with boolean in choice

2010-04-15 Thread Dennis Sosnoski
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?XMLPrimitive1booleanfalse/boolean/XMLPrimitive1

  
   

 
 as the xml looks like this when the boolean value is set to true:
 ?xml version=1.0
 encoding=UTF-8?XMLPrimitive1booleantrue/boolean/XMLPrimitive1

 

Re: [jibx-users] problem with boolean in choice

2010-04-14 Thread 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?XMLPrimitive1booleanfalse/boolean/XMLPrimitive1


as the xml looks like this when the boolean value is set to true:
?xml version=1.0 
encoding=UTF-8?XMLPrimitive1booleantrue/boolean/XMLPrimitive1

Thank you for your help!

kind regards,
Michael Handler


--
Download Intel#174; 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#174; 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


Re: [jibx-users] problem with boolean in choice

2010-04-14 Thread 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?XMLPrimitive1booleanfalse/boolean/XMLPrimitive1

  
 as the xml looks like this when the boolean value is set to true:
 ?xml version=1.0
 encoding=UTF-8?XMLPrimitive1booleantrue/boolean/XMLPrimitive1

 Thank you for your help!

 kind regards,
 Michael Handler

 
 --
 Download Intel#174; 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#174; 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






Re: [jibx-users] problem with boolean in choice

2010-04-14 Thread Michael Handler
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?XMLPrimitive1booleanfalse/boolean/XMLPrimitive1

  


 as the xml looks like this when the boolean value is set to true:
 ?xml version=1.0
 encoding=UTF-8?XMLPrimitive1booleantrue/boolean/XMLPrimitive1

 Thank you for your help!

 kind regards,
 Michael Handler

 
 --
 Download Intel#174; 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#174; Parallel Studio Eval
 Try the new software tools for