My apologies to everyone for letting so many emails build up on the user list over the last month or so without any response. I'm trying to get caught up on these now.

I've been making changes and fixes to JiBX in the meantime. The current CVS code should now be ready for RC1; however, I've made more changes than I'd planned (including breaking my rule on bug fixes only, with some core functionality additions in support of using JiBX with JibxSoap or other SOAP frameworks). If you're doing anything complex with JiBX I'd appreciate it if you could checkout and build the latest CVS code within the next few days to make sure it doesn't break anything. I'll have the actual RC1 release out this week, and will also have the Wiki back.

Here's the list of major changes:

1. Corrected problems with <include> operation, and with binding model error detection for <includes> (passing context properly). 2. Modified JiBXException chained exception handling to work properly on JDK 1.3. 3. Fixed issue with finding set-method when no type otherwise specified (for input-only bindings).
4. Corrected issue with marshalling to UTF-16 encodings.
5. Various improvements and corrections for the binding validation, and to the handling of several unusual binding structures which resulted in IllegalStateExceptions during the binding compile. 6. Added the "force-classes" attribute to the <binding> element to force the generation of marshaller/unmarshaller classes for abstract non-base mappings (essentially type mappings), and the org.jibx.runtime.IBindingFactory.getTypeIndex() method to provide a way of looking up these type mappings at runtime. This was an incompatible change to the binding compiler, so it requires rerunning the binding compiler for all classes bound with earlier versions of JiBX. 7. Solved a problem where the Ant build would use the old version of the jars for some tests when running a target which both rebuild jars and ran tests (the problem was the "bind" task definition at the top level of the build.xml, which would attach to the old version of the jars).
8. Added support for arrays as collections.
9. Added "choice" attribute to mapping and structure definitions, which generates code to accept one and only one of the child components (which must all be elements) when unmarshalling. 10. Added type names for abstract mappings, allowing multiple abstract mappings for the same class to be defined and referenced as needed. 11. Added requirement for value element child of collection to have type (either using type attribute of value element, or item-type on collection)

The last one may be the most likely to break bindings. Previously I'd handled a structure like:

 <collection field="...">
   <value name="item"/>
 </collection>

by assuming the values would be strings. This was never actually documented, though, and I decided it confused things more than it helped. You now have to declare a type for the values in the collection (unless it's an array!).

 - Dennis


-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to