Remove usage of SchemaPath from converters
[transportpce.git] / test-common / src / main / java / org / opendaylight / transportpce / test / converter / AbstractDataObjectConverter.java
index 7e6dfe271ac44cf78e7718914319f8f550334916..9601b7945199fba1615e6071ff59f6cf98f6d347 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.transportpce.test.converter;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Optional;
@@ -24,7 +22,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -68,20 +65,20 @@ public abstract class AbstractDataObjectConverter implements DataObjectConverter
      * @param normalizedNode normalized node you want to convert
      * @param rootNode {@link QName} of converted normalized node root
      *
-     * <p>
-     * The input object should be {@link ContainerNode}
-     * </p>
+     *     <p>
+     *     The input object should be {@link ContainerNode}
+     *     </p>
      */
     @Override
     @SuppressWarnings("unchecked")
     public <T extends DataObject> Optional<T> getDataObject(
-            @Nonnull NormalizedNode<?, ?> normalizedNode,
+            @Nonnull NormalizedNode normalizedNode,
             @Nonnull QName rootNode) {
         //Preconditions.checkNotNull(normalizedNode);
         if (normalizedNode instanceof ContainerNode) {
             YangInstanceIdentifier.PathArgument directChildIdentifier =
                     YangInstanceIdentifier.of(rootNode).getLastPathArgument();
-            Optional<NormalizedNode<?, ?>> directChild =
+            Optional<NormalizedNode> directChild =
                     NormalizedNodes.getDirectChild(normalizedNode, directChildIdentifier);
             if (!directChild.isPresent()) {
                 throw new IllegalStateException(String.format("Could not get the direct child of %s", rootNode));
@@ -100,26 +97,23 @@ public abstract class AbstractDataObjectConverter implements DataObjectConverter
 
     @Override
     @SuppressWarnings("unchecked")
-    public <T extends DataObject> Optional<T> getDataObjectFromRpc(
-            @Nonnull NormalizedNode<?, ?> normalizedNode,
-            @Nonnull SchemaPath rpcSchemaPath) {
+    public <T extends DataObject> Optional<T> getDataObjectFromRpc(@Nonnull NormalizedNode normalizedNode) {
 
         if (! (normalizedNode instanceof ContainerNode)) {
             LOG.error("converting normalized node is not ContainerNode. It's actual type is {}",
                     normalizedNode.getClass().getSimpleName());
             return Optional.empty();
         }
-        List<QName> qnameList = new ArrayList<>();
-        rpcSchemaPath.getPathFromRoot().forEach(qnameList::add);
-        T rpcDataObject = (T) codecRegistry
-                .fromNormalizedNodeRpcData(Absolute.of(qnameList), (ContainerNode) normalizedNode);
+        T rpcDataObject = (T) codecRegistry.fromNormalizedNodeRpcData(
+                Absolute.of(QName.create(schemaContext.getClass().getSimpleName())),
+                (ContainerNode) normalizedNode);
         return Optional.ofNullable(rpcDataObject);
     }
 
     @Override
-    public <T extends DataObject> Optional<NormalizedNode<?, ?>> toNormalizedNodes(@Nonnull T object,
+    public <T extends DataObject> Optional<NormalizedNode> toNormalizedNodes(@Nonnull T object,
             Class<T> dataObjectClass) {
-        Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> normalizedNode =
+        Entry<YangInstanceIdentifier, NormalizedNode> normalizedNode =
                 codecRegistry.toNormalizedNode(InstanceIdentifier.create(dataObjectClass), object);
         return Optional.ofNullable(normalizedNode.getValue());
     }
@@ -127,7 +121,7 @@ public abstract class AbstractDataObjectConverter implements DataObjectConverter
     @Override
     public <T extends DataObject> ConvertType<T> dataContainer() {
         return (object, objectClass) -> {
-            NormalizedNode<?, ?> value =
+            NormalizedNode value =
                     getCodecRegistry().toNormalizedNode(InstanceIdentifier.create(objectClass), object).getValue();
             return Optional.ofNullable(value);
         };