Apache Axiom 1.2.16 Release Note
Axiom 1.2.16 comes with the following new features:
-
OMSourcedElement
support has been extended to DOOM. This is an important step towards full feature parity between LLOM and DOOM. -
Axiom now ships a drop-in replacement for
abdera-parser
, so that the latest Axiom version can be used together with Abdera 1.1.3. See here for more details.
In addition, the sources can now be built with Java 8.
A list of other issues fixed in this release can be found here.
Changes in this release
-
The semantics of the
OMInformationItem#getOMFactory()
method have slightly changed in Axiom 1.2.16. In previous versions,getOMFactory()
returned theOMFactory
instance that was used to create the information item. This meant that e.g. on anOMText
node created using aSOAPFactory
instance, that method would return that exact sameSOAPFactory
instance. In Axiom 1.2.16,getOMFactory()
returns theOMFactory
orSOAPFactory
instance corresponding to the type of information item. For plain XML information items created using one of the methods defined byOMFactory
(such asOMText
,OMAttribute
, as well asOMElement
instances that don't implement any SOAP specific interfaces), this will always be theOMFactory
instance returned byOMMetaFactory#getOMFactory()
(and never aSOAPFactory
instance). For information items created using one of the methods defined bySOAPFactory
(i.e.OMElement
instances implementing one of the SOAP interfaces, as well asSOAPMessage
instances), nothing changes with respect to previous Axiom versions, andgetOMFactory()
will return theSOAPFactory
instance corresponding to the SOAP version of the information item.The rationale for this change is that it allows to eliminate the
factory
attribute from all classes (except for theSOAPMessage
implementations). It also enables significant simplification of the internal implementation code. -
Some of the legacy default constructors have been removed from the
OMFactory
,SOAPFactory
andOMMetaFactory
implementations. Note that they were not part of the public API, but considered internal implementation details. Application code should always use theOMAbstractFactory
APIs to get references to factory instances, and never refer to implementation classes directly.