Move UnrecognizedStatement implementations 92/95892/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 22 Apr 2021 23:29:22 +0000 (01:29 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 22 Apr 2021 23:29:22 +0000 (01:29 +0200)
These are very simple, move them to yang-model-ri.

Change-Id: I4be5ad177c6595754ef8cf7c1843791e046235af
JIRA: YANGTOOLS-1241
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/DeclaredStatementDecorators.java
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/DeclaredStatements.java
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/decl/UnrecognizedStatementImpl.java [moved from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementImpl.java with 81% similarity]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUnrecognizedStatement.java [moved from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/RefUnrecognizedStatement.java with 92% similarity]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java

index 67bbdcd4b9c7dc6237166e40de998430bb55c1e8..f49b648fcc84c7fccd2bedf345be392ad14d34a6 100644 (file)
@@ -74,6 +74,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement;
@@ -142,6 +143,7 @@ import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefTypeStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefTypedefStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUniqueStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUnitsStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUnrecognizedStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUsesStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefValueStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefWhenStatement;
@@ -423,6 +425,11 @@ public final class DeclaredStatementDecorators {
         return new RefUnitsStatement(stmt, ref);
     }
 
+    public static UnrecognizedStatement decorateUnrecognized(final UnrecognizedStatement stmt,
+            final DeclarationReference ref) {
+        return new RefUnrecognizedStatement(stmt, ref);
+    }
+
     public static UsesStatement decorateUses(final UsesStatement stmt, final DeclarationReference ref) {
         return new RefUsesStatement(stmt, ref);
     }
index ce88e8710940e6ce4983e4f1b0b87737270a3a4b..c445ee2ba26d3a95688493cef2e95a54494259d3 100644 (file)
@@ -23,6 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.DeviateKind;
 import org.opendaylight.yangtools.yang.model.api.PathExpression;
 import org.opendaylight.yangtools.yang.model.api.Status;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
+import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
 import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.AnydataStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement;
@@ -91,6 +92,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ValueRange;
 import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement;
@@ -228,6 +230,7 @@ import org.opendaylight.yangtools.yang.model.ri.stmt.impl.decl.RegularWhenStatem
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.decl.RegularYangVersionStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.decl.RegularYinElementStatement;
 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.decl.SubmoduleStatementImpl;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.decl.UnrecognizedStatementImpl;
 import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
 
 /**
@@ -663,6 +666,12 @@ public final class DeclaredStatements {
             : new RegularUnitsStatement(argument, substatements);
     }
 
+    public static UnrecognizedStatement createUnrecognized(final String rawArgument,
+            final StatementDefinition publicDefinition,
+            final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+        return new UnrecognizedStatementImpl(rawArgument, publicDefinition, substatements);
+    }
+
     public static UsesStatement createUses(final String rawArgument, final QName argument,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
         return substatements.isEmpty() ?  new EmptyUsesStatement(rawArgument, argument)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension;
+package org.opendaylight.yangtools.yang.model.ri.stmt.impl.decl;
 
 import static java.util.Objects.requireNonNull;
 
@@ -17,10 +17,10 @@ import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
 import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithRawArgument.WithSubstatements;
 
-final class UnrecognizedStatementImpl extends WithSubstatements<Object> implements UnrecognizedStatement {
+public final class UnrecognizedStatementImpl extends WithSubstatements<Object> implements UnrecognizedStatement {
     private final @NonNull StatementDefinition definition;
 
-    UnrecognizedStatementImpl(final String rawArgument, final @NonNull StatementDefinition statementDefinition,
+    public UnrecognizedStatementImpl(final String rawArgument, final @NonNull StatementDefinition statementDefinition,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
         super(rawArgument, substatements);
         this.definition = requireNonNull(statementDefinition);
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension;
+package org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref;
 
 import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
index c3ad1bdb7ee754f6683439f8c6c2f5b2901ecac9..255494861232ac662aa88829df3b8da6394ec2bf 100644 (file)
@@ -18,6 +18,8 @@ import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators;
+import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
 import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@@ -73,13 +75,13 @@ final class UnrecognizedStatementSupport
     @Override
     protected UnrecognizedStatement createDeclared(final StmtContext<Object, UnrecognizedStatement, ?> ctx,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        return new UnrecognizedStatementImpl(ctx.rawArgument(), ctx.publicDefinition(), substatements);
+        return DeclaredStatements.createUnrecognized(ctx.rawArgument(), ctx.publicDefinition(), substatements);
     }
 
     @Override
     protected UnrecognizedStatement attachDeclarationReference(final UnrecognizedStatement stmt,
             final DeclarationReference reference) {
-        return new RefUnrecognizedStatement(stmt, reference);
+        return DeclaredStatementDecorators.decorateUnrecognized(stmt, reference);
     }
 
     // createEffective() should never be called, ensure that for each declared statement