X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=codec%2Fyang-data-codec-xml%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fcodec%2Fxml%2FXmlStringInstanceIdentifierCodec.java;h=1b24568963080f1c236867ee014faa80238bf6c5;hb=7c8fd1ae5a6942fb3600ab9d05185cd4293f5f51;hp=4f74ecb4f02fb0d245255e2aa97fc4ab577baa28;hpb=f31f6f001ec2263715ebfd5f28d214b56e9a0344;p=yangtools.git diff --git a/codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java b/codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java index 4f74ecb4f0..1b24568963 100644 --- a/codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java +++ b/codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java @@ -7,7 +7,6 @@ */ package org.opendaylight.yangtools.yang.data.codec.xml; -import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; import java.util.ArrayDeque; @@ -23,6 +22,7 @@ import org.opendaylight.yangtools.yang.data.util.AbstractModuleStringInstanceIde import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; +import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.util.LeafrefResolver; @@ -64,8 +64,15 @@ final class XmlStringInstanceIdentifierCodec extends AbstractModuleStringInstanc protected Object deserializeKeyValue(final DataSchemaNode schemaNode, final LeafrefResolver resolver, final String value) { requireNonNull(schemaNode, "schemaNode cannot be null"); - checkArgument(schemaNode instanceof LeafSchemaNode, "schemaNode must be of type LeafSchemaNode"); - final XmlCodec objectXmlCodec = codecFactory.codecFor((LeafSchemaNode) schemaNode, resolver); + final XmlCodec objectXmlCodec; + if (schemaNode instanceof LeafSchemaNode leafSchemaNode) { + objectXmlCodec = codecFactory.codecFor(leafSchemaNode, resolver); + } else if (schemaNode instanceof LeafListSchemaNode leafListSchemaNode) { + objectXmlCodec = codecFactory.codecFor(leafListSchemaNode, resolver); + } else { + throw new IllegalArgumentException("schemaNode " + schemaNode + + " must be of type LeafSchemaNode or LeafListSchemaNode"); + } return objectXmlCodec.parseValue(getNamespaceContext(), value); }