X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fcodec%2Fxml%2FXmlUtils.java;h=7312c363829832466c593d488f6bac31f7356621;hb=4302f95307c27902956e838f52d06bf97e879639;hp=052c250099ebae4a69857d70eb6c174aaf6ee472;hpb=616f6ffb09eab12c34f7c36491a87f6f549c1599;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/XmlUtils.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/XmlUtils.java index 052c250099..7312c36382 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/XmlUtils.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/XmlUtils.java @@ -8,24 +8,28 @@ package org.opendaylight.yangtools.yang.data.impl.codec.xml; import java.util.Map; - import javax.annotation.Nonnull; - import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifierWithPredicates; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeWithValue; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; /** * Common XML-related utility methods, which are not specific to a particular * JAXP API. */ -final class XmlUtils { +public final class XmlUtils { + public static final XmlCodecProvider DEFAULT_XML_CODEC_PROVIDER = new XmlCodecProvider() { + @Override + public TypeDefinitionAwareCodec> codecFor(final TypeDefinition baseType) { + return TypeDefinitionAwareCodec.from(baseType); + } + }; private XmlUtils() { - } public static TypeDefinition resolveBaseTypeFrom(final @Nonnull TypeDefinition type) { @@ -36,7 +40,7 @@ final class XmlUtils { return superType; } - static String encodeIdentifier(final RandomPrefix prefixes, final InstanceIdentifier id) { + static String encodeIdentifier(final RandomPrefix prefixes, final YangInstanceIdentifier id) { StringBuilder textContent = new StringBuilder(); for (PathArgument pathArgument : id.getPathArguments()) { textContent.append('/'); @@ -44,10 +48,10 @@ final class XmlUtils { if (pathArgument instanceof NodeIdentifierWithPredicates) { Map predicates = ((NodeIdentifierWithPredicates) pathArgument).getKeyValues(); - for (QName keyValue : predicates.keySet()) { - String predicateValue = String.valueOf(predicates.get(keyValue)); + for (Map.Entry entry : predicates.entrySet()) { + String predicateValue = String.valueOf(entry.getValue()); textContent.append('['); - textContent.append(prefixes.encodeQName(keyValue)); + textContent.append(prefixes.encodeQName(entry.getKey())); textContent.append("='"); textContent.append(predicateValue); textContent.append("']");