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