Remove getSemanticVersion()
[yangtools.git] / model / yang-model-ri / src / main / java / org / opendaylight / yangtools / yang / model / ri / stmt / EffectiveStatements.java
index b18c7c591a61f25732215689606bc2ca3bc4df47..e9ca7fc01d90cbe645516d760213c5b64540e42a 100644 (file)
@@ -17,7 +17,6 @@ import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
@@ -275,11 +274,12 @@ import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.SlimLeafListEffect
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.TypedefEffectiveStatementImpl;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredCaseEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredInputEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredLeafEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredOutputEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
 
 /**
- * Static entry point to instantiating {@link EffectiveStatement} covered in the {@code RFC7950} metamodel.
+ * Static entry point to instantiating declared {@link EffectiveStatement} covered in the {@code RFC7950} metamodel.
  */
 @Beta
 @NonNullByDefault
@@ -342,9 +342,9 @@ public final class EffectiveStatements {
 
     public static AugmentEffectiveStatement createAugment(final AugmentStatement declared,
             final SchemaNodeIdentifier argument, final int flags, final QNameModule rootModuleQName,
-            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
-            final @Nullable AugmentationSchemaNode original) throws SubstatementIndexingException {
-        return new AugmentEffectiveStatementImpl(declared, argument, flags, rootModuleQName, substatements, original);
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
+                throws SubstatementIndexingException {
+        return new AugmentEffectiveStatementImpl(declared, argument, flags, rootModuleQName, substatements);
     }
 
     public static BaseEffectiveStatement createBase(final BaseStatement declared,
@@ -376,11 +376,6 @@ public final class EffectiveStatements {
         }
     }
 
-    public static CaseEffectiveStatement createCase(final QName argument, final int flags,
-            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        return new UndeclaredCaseEffectiveStatement(substatements, argument, flags);
-    }
-
     public static CaseEffectiveStatement createCase(final CaseStatement declared, final QName argument,
             final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
         return new DeclaredCaseEffectiveStatement(declared, substatements, argument, flags);
@@ -550,12 +545,6 @@ public final class EffectiveStatements {
         }
     }
 
-    public static InputEffectiveStatement createInput(final QName argument, final int flags,
-            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
-            throws SubstatementIndexingException {
-        return new UndeclaredInputEffectiveStatement(substatements, argument, flags);
-    }
-
     public static InputEffectiveStatement createInput(final InputStatement declared, final QName argument,
             final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
                 throws SubstatementIndexingException {
@@ -574,10 +563,15 @@ public final class EffectiveStatements {
 
     public static LeafEffectiveStatement copyLeaf(final LeafEffectiveStatement original, final QName argument,
             final int flags) {
-        checkArgument(original instanceof AbstractLeafEffectiveStatement, "Unsupported original %s", original);
-        final var orig = (AbstractLeafEffectiveStatement) original;
-        return argument.equals(orig.getDeclared().argument()) ? new EmptyLeafEffectiveStatement(orig, flags)
-            : new RegularLeafEffectiveStatement(orig, argument, flags);
+        if (original instanceof AbstractLeafEffectiveStatement) {
+            final var orig = (AbstractLeafEffectiveStatement) original;
+            return argument.equals(orig.getDeclared().argument()) ? new EmptyLeafEffectiveStatement(orig, flags)
+                : new RegularLeafEffectiveStatement(orig, argument, flags);
+        } else if (original instanceof UndeclaredLeafEffectiveStatement) {
+            return new UndeclaredLeafEffectiveStatement((UndeclaredLeafEffectiveStatement) original, argument, flags);
+        } else {
+            throw new IllegalArgumentException("Unsupported original " + original);
+        }
     }
 
     public static LeafEffectiveStatement createLeaf(final LeafStatement declared, final QName argument, final int flags,
@@ -711,12 +705,6 @@ public final class EffectiveStatements {
         }
     }
 
-    public static OutputEffectiveStatement createOutput(final QName argument, final int flags,
-            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
-            throws SubstatementIndexingException {
-        return new UndeclaredOutputEffectiveStatement(substatements, argument, flags);
-    }
-
     public static OutputEffectiveStatement createOutput(final OutputStatement declared, final QName argument,
             final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
                 throws SubstatementIndexingException {