X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fblueprint%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fblueprint%2Fext%2FBindingContext.java;h=86d7c45379019bd1d028a3e7b90d8a76c5da2a89;hb=58cc305ac41b7edd861611c95cf3a5faa48a7495;hp=2a6b3d56f89e088b926871f342a966d4c79d8dde;hpb=d151bb0f9c43d28b5aa2acf60ef046733613e16a;p=controller.git diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java index 2a6b3d56f8..86d7c45379 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java @@ -17,12 +17,12 @@ import java.net.URISyntaxException; import java.util.Set; import javax.xml.stream.XMLStreamException; import javax.xml.transform.dom.DOMSource; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.yangtools.yang.binding.DataObject; -import org.opendaylight.yangtools.yang.binding.Identifiable; -import org.opendaylight.yangtools.yang.binding.Identifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.binding.Key; +import org.opendaylight.yangtools.yang.binding.KeyAware; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -30,7 +30,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStre import org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; +import org.opendaylight.yangtools.yang.data.impl.schema.NormalizationResultHolder; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; @@ -49,7 +49,7 @@ import org.xml.sax.SAXException; public abstract class BindingContext { public static BindingContext create(final String logName, final Class klass, final String appConfigListKeyValue) { - if (Identifiable.class.isAssignableFrom(klass)) { + if (KeyAware.class.isAssignableFrom(klass)) { // The binding class corresponds to a yang list. if (Strings.isNullOrEmpty(appConfigListKeyValue)) { throw new ComponentDefinitionException(String.format( @@ -87,12 +87,12 @@ public abstract class BindingContext { public NormalizedNode parseDataElement(final Element element, final SchemaTreeInference dataSchema) throws XMLStreamException, IOException, SAXException, URISyntaxException { - final NormalizedNodeResult resultHolder = new NormalizedNodeResult(); + final NormalizationResultHolder resultHolder = new NormalizationResultHolder(); final NormalizedNodeStreamWriter writer = ImmutableNormalizedNodeStreamWriter.from(resultHolder); final XmlParserStream xmlParser = XmlParserStream.create(writer, dataSchema); xmlParser.traverse(new DOMSource(element)); - final NormalizedNode result = resultHolder.getResult(); + final NormalizedNode result = resultHolder.getResult().data(); return result instanceof MapNode mapNode ? mapNode.body().iterator().next() : result; } @@ -133,7 +133,7 @@ public abstract class BindingContext { final String listKeyValue) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException { // We assume the yang list key type is string. - Identifier keyInstance = (Identifier) bindingClass.getMethod(BindingMapping.IDENTIFIABLE_KEY_NAME) + Key keyInstance = (Key) bindingClass.getMethod(Naming.KEY_AWARE_KEY_NAME) .getReturnType().getConstructor(String.class).newInstance(listKeyValue); InstanceIdentifier appConfigPath = InstanceIdentifier.builder((Class)bindingClass, keyInstance).build(); return new ListBindingContext(bindingClass, appConfigPath, listKeyValue);