Create unit tests for anydata implemetnation.
[yangtools.git] / yang / yang-data-util / src / main / java / org / opendaylight / yangtools / yang / data / util / DataSchemaContextNode.java
index 7f2117fcc5b41d87433455a1d19670a5d2ee771d..53e5dbc63547af443404408990f49e8eae4bf2be 100644 (file)
@@ -13,8 +13,8 @@ import java.util.List;
 import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
-import javax.annotation.Nullable;
 import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.concepts.Identifiable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -33,7 +33,6 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
-import org.opendaylight.yangtools.yang.model.util.EffectiveAugmentationSchema;
 
 /**
  * Schema derived data providing necessary information for mapping between
@@ -80,11 +79,11 @@ public abstract class DataSchemaContextNode<T extends PathArgument> implements I
      * @param child Child path argument
      * @return A child node, or null if not found
      */
-    @Nullable public abstract DataSchemaContextNode<?> getChild(PathArgument child);
+    public abstract @Nullable DataSchemaContextNode<?> getChild(PathArgument child);
 
-    @Nullable public abstract DataSchemaContextNode<?> getChild(QName child);
+    public abstract @Nullable DataSchemaContextNode<?> getChild(QName child);
 
-    @Nullable public DataSchemaNode getDataSchemaNode() {
+    public @Nullable DataSchemaNode getDataSchemaNode() {
         return dataSchemaNode;
     }
 
@@ -147,21 +146,6 @@ public abstract class DataSchemaContextNode<T extends PathArgument> implements I
             .collect(Collectors.toSet()));
     }
 
-    /**
-     * Returns an AugmentationSchemaNode as effective in a parent node.
-     *
-     * @param schema Augmentation schema
-     * @param parent Parent schema
-     * @return Adjusted Augmentation schema
-     * @throws NullPointerException if any of the arguments is null
-     * @deprecated Use {@link EffectiveAugmentationSchema#create(AugmentationSchemaNode, DataNodeContainer)} instead.
-     */
-    @Deprecated
-    public static AugmentationSchemaNode augmentationProxy(final AugmentationSchemaNode schema,
-            final DataNodeContainer parent) {
-        return EffectiveAugmentationSchema.create(schema, parent);
-    }
-
     /**
      * Returns a DataContextNodeOperation for provided child node
      *
@@ -171,23 +155,17 @@ public abstract class DataSchemaContextNode<T extends PathArgument> implements I
      * DataContextNodeOperation for child as call for
      * {@link #fromDataSchemaNode(DataSchemaNode)}.
      */
-    @Nullable static DataSchemaContextNode<?> fromAugmentation(final DataNodeContainer parent,
+    static @Nullable DataSchemaContextNode<?> fromAugmentation(final DataNodeContainer parent,
             final AugmentationTarget parentAug, final DataSchemaNode child) {
-        AugmentationSchemaNode augmentation = null;
         for (AugmentationSchemaNode aug : parentAug.getAvailableAugmentations()) {
-            DataSchemaNode potential = aug.getDataChildByName(child.getQName());
-            if (potential != null) {
-                augmentation = aug;
-                break;
+            if (aug.findDataChildByName(child.getQName()).isPresent()) {
+                return new AugmentationContextNode(aug, parent);
             }
         }
-        if (augmentation != null) {
-            return new AugmentationContextNode(augmentation, parent);
-        }
         return fromDataSchemaNode(child);
     }
 
-    @Nullable public static DataSchemaContextNode<?> fromDataSchemaNode(final DataSchemaNode potential) {
+    public static @Nullable DataSchemaContextNode<?> fromDataSchemaNode(final DataSchemaNode potential) {
         if (potential instanceof ContainerSchemaNode) {
             return new ContainerContextNode((ContainerSchemaNode) potential);
         } else if (potential instanceof ListSchemaNode) {