Eliminate no-op MandatoryLeafEnforcer
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / tree / OrderedLeafSetModificationStrategy.java
index 4d0b62f997c788b963072c5aa8336aa635de82f0..992800755f10d24e33c266d8773b8c12c702ea6d 100644 (file)
@@ -8,22 +8,17 @@
 package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import com.google.common.base.Optional;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
+
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.OrderedLeafSetNode;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableOrderedLeafSetNodeBuilder;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 
-final class OrderedLeafSetModificationStrategy extends AbstractNodeContainerModificationStrategy {
-    private final Optional<ModificationApplyOperation> entryStrategy;
-
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    OrderedLeafSetModificationStrategy(final LeafListSchemaNode schema) {
-        super((Class) LeafSetNode.class);
-        entryStrategy = Optional.<ModificationApplyOperation> of(new LeafSetEntryModificationStrategy(schema));
+final class OrderedLeafSetModificationStrategy extends AbstractLeafSetModificationStrategy {
+    OrderedLeafSetModificationStrategy(final LeafListSchemaNode schema, final DataTreeConfiguration treeConfig) {
+        super(schema, treeConfig);
     }
 
     @Override
@@ -39,10 +34,9 @@ final class OrderedLeafSetModificationStrategy extends AbstractNodeContainerModi
     }
 
     @Override
-    public Optional<ModificationApplyOperation> getChild(final YangInstanceIdentifier.PathArgument identifier) {
-        if (identifier instanceof YangInstanceIdentifier.NodeWithValue) {
-            return entryStrategy;
-        }
-        return Optional.absent();
+    protected NormalizedNode<?, ?> createEmptyValue(final NormalizedNode<?, ?> original) {
+        checkArgument(original instanceof OrderedLeafSetNode<?>);
+        return ImmutableOrderedLeafSetNodeBuilder.create()
+                .withNodeIdentifier(((OrderedLeafSetNode<?>) original).getIdentifier()).build();
     }
 }
\ No newline at end of file