Consolidate BooleanTypeEffectiveStatementImpl 84/90884/4
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 2 Jul 2020 17:43:56 +0000 (19:43 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 2 Jul 2020 22:31:55 +0000 (00:31 +0200)
TypeEffectiveStatementImpl can easily support the case of a boolean
type, migrate it.

JIRA: YANGTOOLS-1065
Change-Id: I24bc5fa4909710805d9503db69ed49f65878e1af
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BooleanTypeEffectiveStatementImpl.java [deleted file]

index f2d4ddb3f729c24ff29d4ca24a9e725aa9c7f719..bf17401ba6a1ec17eaee6182edcd816b6eb79887 100644 (file)
@@ -219,7 +219,7 @@ abstract class AbstractTypeStatementSupport
         } else if (baseType instanceof BitsTypeDefinition) {
             return new BitsTypeEffectiveStatementImpl(ctx, (BitsTypeDefinition) baseType);
         } else if (baseType instanceof BooleanTypeDefinition) {
-            return new BooleanTypeEffectiveStatementImpl(ctx, (BooleanTypeDefinition) baseType);
+            return createBoolean(ctx, (BooleanTypeDefinition) baseType, declared, substatements);
         } else if (baseType instanceof DecimalTypeDefinition) {
             return new DecimalTypeEffectiveStatementImpl(ctx, (DecimalTypeDefinition) baseType);
         } else if (baseType instanceof EmptyTypeDefinition) {
@@ -352,4 +352,11 @@ abstract class AbstractTypeStatementSupport
 
         return new TypeEffectiveStatementImpl<>(declared, substatements, builder);
     }
+
+    private static @NonNull TypeEffectiveStatement<TypeStatement> createBoolean(final StmtContext<?, ?, ?> ctx,
+            final BooleanTypeDefinition baseType, final TypeStatement declared,
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        return new TypeEffectiveStatementImpl<>(declared, substatements, RestrictedTypes.newBooleanBuilder(baseType,
+            typeEffectiveSchemaPath(ctx)));
+    }
 }
\ No newline at end of file
diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BooleanTypeEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BooleanTypeEffectiveStatementImpl.java
deleted file mode 100644 (file)
index 179dfee..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * 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.type;
-
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
-import org.opendaylight.yangtools.yang.model.api.type.BooleanTypeDefinition;
-import org.opendaylight.yangtools.yang.model.util.type.RestrictedTypes;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-
-final class BooleanTypeEffectiveStatementImpl extends AbstractTypeEffectiveStatement<BooleanTypeDefinition> {
-    BooleanTypeEffectiveStatementImpl(
-            final StmtContext<String, TypeStatement, EffectiveStatement<String, TypeStatement>> ctx,
-            final BooleanTypeDefinition baseType) {
-        super(ctx, RestrictedTypes.newBooleanBuilder(baseType,
-            AbstractTypeStatementSupport.typeEffectiveSchemaPath(ctx)));
-    }
-}