Random thought, and I don't know if it applies, but.. if you have control over the java code, changing the little-b-booleans to big-b-Booleans will both handle your problem and remove the need for any test methods..
On Fri, 2005-03-18 at 15:28, Dennis Sosnoski wrote: > This looks like an oversight in the JiBX definitions. If a value is > labeled as usage="optional" JiBX makes the default value the same as the > initial state of a value of that type, as defined by the Java language > (for a boolean this is "false"), and JiBX only marshals an optional > value if it differs from the default. The problem is that you'd like to > have the marshalling controlled by the test-method and ignore the > default. So everything is working as defined, but not as you'd like it to. > > I'm not sure how to handle this. Changing the code to ignore the default > value when a test-method is supplied would work for you, but might break > other users' code. I'll try to find a work-around over the weekend, > since this relates to some other issues I'd like to get fixed for the > 1.0 RC. > > - Dennis > > Beet wrote: > > >I'm having a problem marshalling some elements, and I can't figure out > >the problem. The elements are defined as optional, and map back to > >boolean fields. I have a test-method that checks to see if the I > >should marshal the element, but the problem is that even though the > >test-method returns true, the element doesn't get marshalled unless > >the actual field value is true as well. In other words, when the java > >field to marshal is set to false, no marshalling! If it's set to > >true, then the element is marshalled ok... I don't understand why this > >is. I've checked and debugged, and I'm positive that my test-method > >is right. > > > >Here's the JiBX binding code: > > > ><structure name="Questions" field="questions" usage="optional" > >test-method="hasQuestions"> > > <value name="Q1" get-method="getQ1" set-method="setQ1" > >usage="optional" test-method="hasQ1"/> > > <value name="Q2" get-method="getQ2" set-method="setQ2" > >usage="optional" test-method="hasQ2"/> > > <value name="Q3" get-method="getQ3" set-method="setQ3" > >usage="optional" test-method="hasQ3"/> > > <value name="Q4" get-method="getQ4" set-method="setQ4" > >usage="optional" test-method="hasQ4"/> > ></structure> > > > >So when methods hasQ1-hasQ4 all return true, I expect something like > ><Questions> > > <Q1>true</Q1> > > <Q2>true</Q2> > > <Q3>false</Q3> > > <Q4>true</Q4> > ></Questions> > > > >Unfortunately, it only does the above if all the fields are true. If > >q3 is false, then it is omitted and the result is: > ><Questions> > > <Q1>true</Q1> > > <Q2>true</Q2> > > <Q4>true</Q4> > ></Questions> > > > >Even though the hasQ3 set-method returns true. Instead of using get > >and set methods, I've also tried just using the field name, but same > >result. Please help! > > > > > >------------------------------------------------------- > >SF email is sponsored by - The IT Product Guide > >Read honest & candid reviews on hundreds of IT Products from real users. > >Discover which products truly live up to the hype. Start reading now. > >http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > >_______________________________________________ > >jibx-users mailing list > >[email protected] > >https://lists.sourceforge.net/lists/listinfo/jibx-users > > > > > > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > jibx-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/jibx-users ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ jibx-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jibx-users
