Move TypeUtils built-in type constants and utilities 35/65435/2
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 11 Nov 2017 11:49:13 +0000 (12:49 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 13 Nov 2017 10:39:43 +0000 (11:39 +0100)
These are only used in rfc7950.stmt.type package, hence a natural
place for them is AbstractTypeStatementSupport.

Change-Id: I69f1b25d89351c9bb411de7936df29b7ec6c1728
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BuiltinTypeStatement.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/TypeStatementRFC7950Support.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeUtils.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/AugmentTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/TypedefConstraintsTest.java

index 467579c0fc2fbd0a4050fe0f404e3fe14389f6ad..bf5f8b925d9a872afcb34e07f8d3b40c4fa79808 100644 (file)
@@ -70,15 +70,57 @@ abstract class AbstractTypeStatementSupport
         .addAny(YangStmtMapping.TYPE)
         .build();
 
+    static final String BINARY = "binary";
+    static final String BITS = "bits";
+    static final String BOOLEAN = "boolean";
+    static final String DECIMAL64 = "decimal64";
+    static final String EMPTY = "empty";
+    static final String ENUMERATION = "enumeration";
+    static final String IDENTITY_REF = "identityref";
+    static final String INSTANCE_IDENTIFIER = "instance-identifier";
+    static final String INT8 = "int8";
+    static final String INT16 = "int16";
+    static final String INT32 = "int32";
+    static final String INT64 = "int64";
+    static final String LEAF_REF = "leafref";
+    static final String STRING = "string";
+    static final String UINT8 = "uint8";
+    static final String UINT16 = "uint16";
+    static final String UINT32 = "uint32";
+    static final String UINT64 = "uint64";
+    static final String UNION = "union";
+
+    private static final Map<String, String> BUILT_IN_TYPES = ImmutableMap.<String, String>builder()
+        .put(BINARY, BINARY)
+        .put(BITS, BITS)
+        .put(BOOLEAN, BOOLEAN)
+        .put(DECIMAL64, DECIMAL64)
+        .put(EMPTY, EMPTY)
+        .put(ENUMERATION, ENUMERATION)
+        .put(IDENTITY_REF,IDENTITY_REF)
+        .put(INSTANCE_IDENTIFIER, INSTANCE_IDENTIFIER)
+        .put(INT8, INT8)
+        .put(INT16, INT16)
+        .put(INT32, INT32)
+        .put(INT64, INT64)
+        .put(LEAF_REF, LEAF_REF)
+        .put(STRING, STRING)
+        .put(UINT8, UINT8)
+        .put(UINT16, UINT16)
+        .put(UINT32, UINT32)
+        .put(UINT64, UINT64)
+        .put(UNION, UNION)
+        .build();
+
     private static final Map<String, StatementSupport<?, ?, ?>> ARGUMENT_SPECIFIC_SUPPORTS =
             ImmutableMap.<String, StatementSupport<?, ?, ?>>builder()
-            .put(TypeUtils.BITS, new BitsSpecificationSupport())
-            .put(TypeUtils.DECIMAL64, new Decimal64SpecificationSupport())
-            .put(TypeUtils.ENUMERATION, new EnumSpecificationSupport())
-            .put(TypeUtils.IDENTITY_REF, new IdentityRefSpecificationRFC6020Support())
-            .put(TypeUtils.INSTANCE_IDENTIFIER, new InstanceIdentifierSpecificationSupport())
-            .put(TypeUtils.LEAF_REF, new LeafrefSpecificationRFC6020Support())
-            .put(TypeUtils.UNION, new UnionSpecificationSupport())
+            .put(BITS, new BitsSpecificationSupport())
+            .put(DECIMAL64, new Decimal64SpecificationSupport())
+            .put(ENUMERATION, new EnumSpecificationSupport())
+            .put(IDENTITY_REF, new IdentityRefSpecificationRFC6020Support())
+            .put(INSTANCE_IDENTIFIER, new InstanceIdentifierSpecificationSupport())
+            .put(LEAF_REF, new LeafrefSpecificationRFC6020Support())
+            .put(UNION, new UnionSpecificationSupport())
             .build();
 
     AbstractTypeStatementSupport() {
@@ -102,43 +144,43 @@ abstract class AbstractTypeStatementSupport
         // First look up the proper base type
         final TypeEffectiveStatement<TypeStatement> typeStmt;
         switch (ctx.getStatementArgument()) {
-            case TypeUtils.BINARY:
+            case BINARY:
                 typeStmt = BuiltinEffectiveStatement.BINARY;
                 break;
-            case TypeUtils.BOOLEAN:
+            case BOOLEAN:
                 typeStmt = BuiltinEffectiveStatement.BOOLEAN;
                 break;
-            case TypeUtils.EMPTY:
+            case EMPTY:
                 typeStmt = BuiltinEffectiveStatement.EMPTY;
                 break;
-            case TypeUtils.INSTANCE_IDENTIFIER:
+            case INSTANCE_IDENTIFIER:
                 typeStmt = BuiltinEffectiveStatement.INSTANCE_IDENTIFIER;
                 break;
-            case TypeUtils.INT8:
+            case INT8:
                 typeStmt = BuiltinEffectiveStatement.INT8;
                 break;
-            case TypeUtils.INT16:
+            case INT16:
                 typeStmt = BuiltinEffectiveStatement.INT16;
                 break;
-            case TypeUtils.INT32:
+            case INT32:
                 typeStmt = BuiltinEffectiveStatement.INT32;
                 break;
-            case TypeUtils.INT64:
+            case INT64:
                 typeStmt = BuiltinEffectiveStatement.INT64;
                 break;
-            case TypeUtils.STRING:
+            case STRING:
                 typeStmt = BuiltinEffectiveStatement.STRING;
                 break;
-            case TypeUtils.UINT8:
+            case UINT8:
                 typeStmt = BuiltinEffectiveStatement.UINT8;
                 break;
-            case TypeUtils.UINT16:
+            case UINT16:
                 typeStmt = BuiltinEffectiveStatement.UINT16;
                 break;
-            case TypeUtils.UINT32:
+            case UINT32:
                 typeStmt = BuiltinEffectiveStatement.UINT32;
                 break;
-            case TypeUtils.UINT64:
+            case UINT64:
                 typeStmt = BuiltinEffectiveStatement.UINT64;
                 break;
             default:
@@ -221,7 +263,7 @@ abstract class AbstractTypeStatementSupport
         super.onFullDefinitionDeclared(stmt);
 
         // if it is yang built-in type, no prerequisite is needed, so simply return
-        if (TypeUtils.isYangBuiltInTypeString(stmt.getStatementArgument())) {
+        if (BUILT_IN_TYPES.containsKey(stmt.getStatementArgument())) {
             return;
         }
 
@@ -256,7 +298,7 @@ abstract class AbstractTypeStatementSupport
 
     @Override
     public final String internArgument(final String rawArgument) {
-        final String found = TypeUtils.findBuiltinString(rawArgument);
+        final String found = BUILT_IN_TYPES.get(rawArgument);
         return found != null ? found : rawArgument;
     }
 
index 7ab2609a9e61c9ed179f4a0b9ed625a4c0e2ea39..59cdafbed03eef55d6b3456d9743c266b44382f2 100644 (file)
@@ -20,26 +20,25 @@ 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.meta.StatementSource;
 import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
 
 final class BuiltinTypeStatement implements TypeStatement {
     private static final Map<String, BuiltinTypeStatement> BUILTINS;
 
     static {
         final Builder<String, BuiltinTypeStatement> builder = ImmutableMap.builder();
-        putBuiltin(builder, TypeUtils.BINARY);
-        putBuiltin(builder, TypeUtils.BOOLEAN);
-        putBuiltin(builder, TypeUtils.EMPTY);
-        putBuiltin(builder, TypeUtils.INSTANCE_IDENTIFIER);
-        putBuiltin(builder, TypeUtils.INT8);
-        putBuiltin(builder, TypeUtils.INT16);
-        putBuiltin(builder, TypeUtils.INT32);
-        putBuiltin(builder, TypeUtils.INT64);
-        putBuiltin(builder, TypeUtils.STRING);
-        putBuiltin(builder, TypeUtils.UINT8);
-        putBuiltin(builder, TypeUtils.UINT16);
-        putBuiltin(builder, TypeUtils.UINT32);
-        putBuiltin(builder, TypeUtils.UINT64);
+        putBuiltin(builder, AbstractTypeStatementSupport.BINARY);
+        putBuiltin(builder, AbstractTypeStatementSupport.BOOLEAN);
+        putBuiltin(builder, AbstractTypeStatementSupport.EMPTY);
+        putBuiltin(builder, AbstractTypeStatementSupport.INSTANCE_IDENTIFIER);
+        putBuiltin(builder, AbstractTypeStatementSupport.INT8);
+        putBuiltin(builder, AbstractTypeStatementSupport.INT16);
+        putBuiltin(builder, AbstractTypeStatementSupport.INT32);
+        putBuiltin(builder, AbstractTypeStatementSupport.INT64);
+        putBuiltin(builder, AbstractTypeStatementSupport.STRING);
+        putBuiltin(builder, AbstractTypeStatementSupport.UINT8);
+        putBuiltin(builder, AbstractTypeStatementSupport.UINT16);
+        putBuiltin(builder, AbstractTypeStatementSupport.UINT32);
+        putBuiltin(builder, AbstractTypeStatementSupport.UINT64);
         BUILTINS = builder.build();
     }
 
index 04b5d1a0a3066d490a6607f9152ea78a570fa19b..e6a77c7d50183a106d62c005c9d7645f3badb9d2 100644 (file)
@@ -11,7 +11,6 @@ import com.google.common.annotations.Beta;
 import com.google.common.collect.ImmutableMap;
 import java.util.Map;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
 
 /**
  * Class providing necessary support for processing YANG 1.1 Type statement.
@@ -19,8 +18,8 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
 @Beta
 public final class TypeStatementRFC7950Support extends AbstractTypeStatementSupport {
     private static final Map<String, StatementSupport<?, ?, ?>> ARGUMENT_SPECIFIC_SUPPORTS = ImmutableMap.of(
-        TypeUtils.LEAF_REF, new LeafrefSpecificationRFC7950Support(),
-        TypeUtils.IDENTITY_REF, new IdentityrefSpecificationRFC7950Support());
+        LEAF_REF, new LeafrefSpecificationRFC7950Support(),
+        IDENTITY_REF, new IdentityrefSpecificationRFC7950Support());
 
     @Override
     public boolean hasArgumentSpecificSupports() {
index 65a4576e386feeeceb800c6eec661be09daea6c6..70859e33a2ffb2333d41b91c4075ec6234bb6d1c 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
-import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
 import java.math.BigDecimal;
 import java.math.BigInteger;
@@ -18,7 +17,6 @@ import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.YangVersion;
@@ -42,48 +40,6 @@ import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
 */
 public final class TypeUtils {
 
-    public static final String BINARY = "binary";
-    public static final String BITS = "bits";
-    public static final String BOOLEAN = "boolean";
-    public static final String DECIMAL64 = "decimal64";
-    public static final String EMPTY = "empty";
-    public static final String ENUMERATION = "enumeration";
-    public static final String IDENTITY_REF = "identityref";
-    public static final String INSTANCE_IDENTIFIER = "instance-identifier";
-    public static final String INT8 = "int8";
-    public static final String INT16 = "int16";
-    public static final String INT32 = "int32";
-    public static final String INT64 = "int64";
-    public static final String LEAF_REF = "leafref";
-    public static final String STRING = "string";
-    public static final String UINT8 = "uint8";
-    public static final String UINT16 = "uint16";
-    public static final String UINT32 = "uint32";
-    public static final String UINT64 = "uint64";
-    public static final String UNION = "union";
-
-    private static final Map<String, String> BUILT_IN_TYPES = ImmutableMap.<String, String>builder()
-        .put(BINARY, BINARY)
-        .put(BITS, BITS)
-        .put(BOOLEAN, BOOLEAN)
-        .put(DECIMAL64, DECIMAL64)
-        .put(EMPTY, EMPTY)
-        .put(ENUMERATION, ENUMERATION)
-        .put(IDENTITY_REF,IDENTITY_REF)
-        .put(INSTANCE_IDENTIFIER, INSTANCE_IDENTIFIER)
-        .put(INT8, INT8)
-        .put(INT16, INT16)
-        .put(INT32, INT32)
-        .put(INT64, INT64)
-        .put(LEAF_REF, LEAF_REF)
-        .put(STRING, STRING)
-        .put(UINT8, UINT8)
-        .put(UINT16, UINT16)
-        .put(UINT32, UINT32)
-        .put(UINT64, UINT64)
-        .put(UNION, UNION)
-        .build();
-
     private static final Splitter PIPE_SPLITTER = Splitter.on('|').trimResults();
     private static final Splitter TWO_DOTS_SPLITTER = Splitter.on("..").trimResults();
 
@@ -209,10 +165,6 @@ public final class TypeUtils {
         return ranges;
     }
 
-    public static boolean isYangBuiltInTypeString(final String typeName) {
-        return BUILT_IN_TYPES.containsKey(typeName);
-    }
-
     public static SchemaPath typeEffectiveSchemaPath(final StmtContext<?, ?, ?> stmtCtx) {
         final SchemaPath path = stmtCtx.getSchemaPath().get();
         final SchemaPath parent = path.getParent();
@@ -270,10 +222,6 @@ public final class TypeUtils {
                 && isAnyDefaultValueMarkedWithIfFeature(typeStmt, defaultValues);
     }
 
-    public static String findBuiltinString(final String rawArgument) {
-        return BUILT_IN_TYPES.get(rawArgument);
-    }
-
     private static boolean isRelevantForIfFeatureCheck(final TypeEffectiveStatement<?> typeStmt) {
         final TypeDefinition<?> typeDefinition = typeStmt.getTypeDefinition();
         return typeDefinition instanceof EnumTypeDefinition || typeDefinition instanceof BitsTypeDefinition
index 30160c075c28e1a8cf5fc6dfaff955e28393b9ac..9276f72c7f474c8d39416d7103ee29064502a807 100644 (file)
@@ -23,7 +23,6 @@ import org.junit.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.common.YangConstants;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
@@ -36,7 +35,7 @@ import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
+import org.opendaylight.yangtools.yang.model.util.BaseTypes;
 
 public class AugmentTest {
     private static final QNameModule FOO = QNameModule.create(
@@ -97,8 +96,7 @@ public class AugmentTest {
         assertEquals(expectedSchemaPath, ds0ChannelNumber.getPath());
         assertFalse(ds0ChannelNumber.isAugmenting());
         // type of leaf ds0ChannelNumber
-        final QName typeQName = QName.create(YangConstants.RFC6020_YANG_MODULE, TypeUtils.STRING);
-        final List<QName> typePath = Collections.singletonList(typeQName);
+        final List<QName> typePath = Collections.singletonList(BaseTypes.STRING_QNAME);
         expectedSchemaPath = SchemaPath.create(typePath, true);
         assertEquals(expectedSchemaPath, ds0ChannelNumber.getType().getPath());
 
index 3f0fee007e2f4f7f9c464df1d5c89d9e50aa6575..70e0c9e6f5be414b3df9df380fe9b4a52fd84e7c 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
+import org.opendaylight.yangtools.yang.model.util.BaseTypes;
 
 public class TypedefConstraintsTest {
 
@@ -69,7 +69,7 @@ public class TypedefConstraintsTest {
         assertEquals(new BigDecimal(5.5), range.upperEndpoint());
 
         assertTrue(decType.getQName().getModule().equals(leafDecimal.getQName().getModule()));
-        assertTrue(decType.getQName().getLocalName().equals(TypeUtils.DECIMAL64));
+        assertTrue(decType.getQName().getLocalName().equals(BaseTypes.DECIMAL64_QNAME.getLocalName()));
         assertNull(decType.getBaseType());
     }