Revert "Convert anyxml nodes lazily"
[netconf.git] / netconf / sal-netconf-connector / src / main / java / org / opendaylight / netconf / sal / connect / netconf / util / NodeContainerProxy.java
index 65f486cd466a15937335b875779d21daf65c65f4..da65e5595934cc2655da5532c760a314e5371f45 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.netconf.sal.connect.netconf.util;
 
-import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
@@ -15,13 +14,17 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
-import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition;
+import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
+import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
+import org.opendaylight.yangtools.yang.model.api.MustDefinition;
+import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
+import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.Status;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
@@ -29,35 +32,32 @@ import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
 
 /**
- * Simple proxy for container like schema nodes, where user provides a collection of children schema nodes
+ * Simple proxy for container like schema nodes, where user provides a collection of children schema nodes.
  */
 public final class NodeContainerProxy implements ContainerSchemaNode {
 
     private final Map<QName, DataSchemaNode> childNodes;
-    private final QName qName;
-    private final Set<AugmentationSchema> availableAugmentations;
+    private final QName qualifiedName;
+    private final Set<AugmentationSchemaNode> availableAugmentations;
 
-    public NodeContainerProxy(final QName qName, final Map<QName, DataSchemaNode> childNodes, final Set<AugmentationSchema> availableAugmentations) {
+    public NodeContainerProxy(final QName qualifiedName, final Map<QName, DataSchemaNode> childNodes,
+                              final Set<AugmentationSchemaNode> availableAugmentations) {
         this.availableAugmentations = availableAugmentations;
         this.childNodes = Preconditions.checkNotNull(childNodes, "childNodes");
-        this.qName = qName;
+        this.qualifiedName = qualifiedName;
     }
 
-    public NodeContainerProxy(final QName qName, final Collection<DataSchemaNode> childNodes) {
-        this(qName, asMap(childNodes), Collections.<AugmentationSchema>emptySet());
+    public NodeContainerProxy(final QName qualifiedName, final Collection<DataSchemaNode> childNodes) {
+        this(qualifiedName, asMap(childNodes), Collections.emptySet());
     }
 
-    public NodeContainerProxy(final QName qName, final Collection<DataSchemaNode> childNodes, final Set<AugmentationSchema> availableAugmentations) {
-        this(qName, asMap(childNodes), availableAugmentations);
+    public NodeContainerProxy(final QName qualifiedName, final Collection<DataSchemaNode> childNodes,
+                              final Set<AugmentationSchemaNode> availableAugmentations) {
+        this(qualifiedName, asMap(childNodes), availableAugmentations);
     }
 
     private static Map<QName, DataSchemaNode> asMap(final Collection<DataSchemaNode> childNodes) {
-        return Maps.uniqueIndex(childNodes, new Function<DataSchemaNode, QName>() {
-            @Override
-            public QName apply(final DataSchemaNode input) {
-                return input.getQName();
-            }
-        });
+        return Maps.uniqueIndex(childNodes, DataSchemaNode::getQName);
     }
 
     @Override
@@ -76,13 +76,8 @@ public final class NodeContainerProxy implements ContainerSchemaNode {
     }
 
     @Override
-    public DataSchemaNode getDataChildByName(final QName qName) {
-        return childNodes.get(qName);
-    }
-
-    @Override
-    public DataSchemaNode getDataChildByName(final String s) {
-        throw new UnsupportedOperationException();
+    public Optional<DataSchemaNode> findDataChildByName(final QName name) {
+        return Optional.ofNullable(childNodes.get(name));
     }
 
     @Override
@@ -96,7 +91,7 @@ public final class NodeContainerProxy implements ContainerSchemaNode {
     }
 
     @Override
-    public Set<AugmentationSchema> getAvailableAugmentations() {
+    public Set<AugmentationSchemaNode> getAvailableAugmentations() {
         return availableAugmentations;
     }
 
@@ -115,14 +110,9 @@ public final class NodeContainerProxy implements ContainerSchemaNode {
         throw new UnsupportedOperationException();
     }
 
-    @Override
-    public ConstraintDefinition getConstraints() {
-        throw new UnsupportedOperationException();
-    }
-
     @Override
     public QName getQName() {
-        return qName;
+        return qualifiedName;
     }
 
     @Override
@@ -131,12 +121,12 @@ public final class NodeContainerProxy implements ContainerSchemaNode {
     }
 
     @Override
-    public String getDescription() {
+    public Optional<String> getDescription() {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public String getReference() {
+    public Optional<String> getReference() {
         throw new UnsupportedOperationException();
     }
 
@@ -149,4 +139,24 @@ public final class NodeContainerProxy implements ContainerSchemaNode {
     public List<UnknownSchemaNode> getUnknownSchemaNodes() {
         return Collections.emptyList();
     }
-}
\ No newline at end of file
+
+    @Override
+    public Set<NotificationDefinition> getNotifications() {
+        return Collections.emptySet();
+    }
+
+    @Override
+    public Set<ActionDefinition> getActions() {
+        return Collections.emptySet();
+    }
+
+    @Override
+    public Optional<RevisionAwareXPath> getWhenCondition() {
+        return Optional.empty();
+    }
+
+    @Override
+    public Collection<MustDefinition> getMustConstraints() {
+        return Collections.emptySet();
+    }
+}