BUG-7983: make XmlCodecFactory a subclass of AbstractCodecFactory 65/53865/4
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 26 Mar 2017 15:49:03 +0000 (17:49 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 4 Apr 2017 15:59:51 +0000 (17:59 +0200)
commit744f6e33a9b97ac2b8e86866c02e00464da4dac1
tree775cf67c3074dd0223180d51d77f35c5023ab51c
parent74b132719136eadaee9989c6cc8db83c0f37af27
BUG-7983: make XmlCodecFactory a subclass of AbstractCodecFactory

AbstractCodecFactory contains everything we need for efficient caching,
the only problem we need to solve is binding to NamespaceContext. This
patch does exactly that, decoupling XmlCodec from the generic Codec
interface, so that serialization and deserialization paths are explicit.

This flushes out the fact that the codecs are not used in the egress
path at all and rely on TypeDefinitionAwareCodec instead. That deficiency
will be fixed in a subsequent patch.

Change-Id: I0bdf8af673893f2dc4fcc8842b64f9bed1bc5236
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 files changed:
yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/UnionJSONCodec.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/AbstractXmlCodec.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/BooleanXmlCodec.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/EmptyXmlCodec.java [moved from yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlEmptyCodec.java with 61% similarity]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/IdentityrefXmlCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/NullXmlCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/NumberXmlCodec.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/QuotedXmlCodec.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/UnionXmlCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlCodec.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlCodecFactory.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringIdentityrefCodec.java [deleted file]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringUnionCodec.java [deleted file]