yang choice case translator + whitebox fix

Change-Id: I96f1855bc71a002335946150b51e911ae6ac2fb2
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AugmentListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AugmentListener.java
index 57eea99..68a1b36 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AugmentListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AugmentListener.java
@@ -224,6 +224,5 @@
      */
     private static void validateForChildNodes() {
         //TODO: implement with linker.
-        return;
     }
 }
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseFileListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseFileListener.java
index 7b41b77..f08fe6f 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseFileListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseFileListener.java
@@ -80,8 +80,8 @@
         checkStackIsNotEmpty(listener, MISSING_HOLDER, YANGBASE_DATA, "", EXIT);
 
         // Data Model tree root node is set.
-        if ((listener.getParsedDataStack().peek() instanceof YangModule)
-                || (listener.getParsedDataStack().peek() instanceof YangSubModule)) {
+        if (listener.getParsedDataStack().peek() instanceof YangModule
+                || listener.getParsedDataStack().peek() instanceof YangSubModule) {
             listener.setRootNode((YangNode) listener.getParsedDataStack().pop());
         } else {
             throw new ParserException(constructListenerErrorMessage(INVALID_CHILD, YANGBASE_DATA, "", EXIT));
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitListener.java
index ddd08f3..16523c9 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitListener.java
@@ -137,7 +137,7 @@
             switch (tmpNode.getYangConstructType()) {
                 case BITS_DATA: {
                     YangBits yangBits = (YangBits) tmpNode;
-                    if ((ctx.bitBodyStatement() == null) || (ctx.bitBodyStatement().positionStatement() == null)) {
+                    if (ctx.bitBodyStatement() == null || ctx.bitBodyStatement().positionStatement() == null) {
                         int maxPosition = 0;
                         boolean isPositionPresent = false;
 
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java
index 103a7ee..ad2988d 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java
@@ -131,7 +131,7 @@
             switch (tmpNode.getYangConstructType()) {
                 case ENUMERATION_DATA: {
                     YangEnumeration yangEnumeration = (YangEnumeration) tmpNode;
-                    if ((ctx.enumStatementBody() == null) || (ctx.enumStatementBody().valueStatement() == null)) {
+                    if (ctx.enumStatementBody() == null || ctx.enumStatementBody().valueStatement() == null) {
                         int maxValue = 0;
                         boolean isValuePresent = false;
 
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LengthRestrictionListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LengthRestrictionListener.java
index 51a29d5..e3cd47f 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LengthRestrictionListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LengthRestrictionListener.java
@@ -73,6 +73,8 @@
 
     private static final String PIPE = "|";
     private static final String LENGTH_INTERVAL = "..";
+    private static final int MAX_RANGE_BOUNDARY = 2;
+    private static final int MIN_RANGE_BOUNDARY = 1;
 
     /**
      * Creates a new length restriction listener.
@@ -114,7 +116,8 @@
                                             GeneratedYangParser.LengthStatementContext ctx) {
 
         YangStringRestriction stringRestriction;
-        YangBuiltInDataTypeInfo<?> startValue, endValue;
+        YangBuiltInDataTypeInfo<?> startValue;
+        YangBuiltInDataTypeInfo<?> endValue;
         YangRangeRestriction lengthRestriction = new YangRangeRestriction<>();
 
         if (type.getDataType() != YangDataTypes.STRING && type.getDataType() != YangDataTypes.DERIVED) {
@@ -148,11 +151,12 @@
         String[] rangeArguments = rangeArgument.trim().split(Pattern.quote(PIPE));
 
         for (String rangePart : rangeArguments) {
-            String startInterval, endInterval;
+            String startInterval;
+            String endInterval;
             YangRangeInterval rangeInterval = new YangRangeInterval<>();
             String[] rangeBoundary = rangePart.trim().split(Pattern.quote(LENGTH_INTERVAL));
 
-            if (rangeBoundary.length > 2) {
+            if (rangeBoundary.length > MAX_RANGE_BOUNDARY) {
                 ParserException parserException = new ParserException("YANG file error : " +
                         YangConstructType.getYangConstructType(LENGTH_DATA) + " " + rangeArgument +
                         " is not valid.");
@@ -161,7 +165,7 @@
                 throw parserException;
             }
 
-            if (rangeBoundary.length == 1) {
+            if (rangeBoundary.length == MIN_RANGE_BOUNDARY) {
                 startInterval = rangeBoundary[0];
                 endInterval = rangeBoundary[0];
             } else {
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RangeRestrictionListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RangeRestrictionListener.java
index 46bc67a..e4e5485 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RangeRestrictionListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RangeRestrictionListener.java
@@ -70,6 +70,8 @@
 
     private static final String PIPE = "|";
     private static final String RANGE_INTERVAL = "..";
+    private static final int MAX_RANGE_BOUNDARY = 2;
+    private static final int MIN_RANGE_BOUNDARY = 1;
 
     /**
      * Creates a new range restriction listener.
@@ -110,18 +112,20 @@
     private static void setRangeRestriction(YangType type,
             GeneratedYangParser.RangeStatementContext ctx) {
 
-        YangBuiltInDataTypeInfo<?> startValue, endValue;
+        YangBuiltInDataTypeInfo<?> startValue;
+        YangBuiltInDataTypeInfo<?> endValue;
         YangRangeRestriction rangeRestriction = new YangRangeRestriction();
 
         String rangeArgument = removeQuotesAndHandleConcat(ctx.range().getText());
         String[] rangeArguments = rangeArgument.trim().split(Pattern.quote(PIPE));
 
         for (String rangePart : rangeArguments) {
-            String startInterval, endInterval;
+            String startInterval;
+            String endInterval;
             YangRangeInterval rangeInterval = new YangRangeInterval();
             String[] rangeBoundary = rangePart.trim().split(Pattern.quote(RANGE_INTERVAL));
 
-            if (rangeBoundary.length > 2) {
+            if (rangeBoundary.length > MAX_RANGE_BOUNDARY) {
                 ParserException parserException = new ParserException("YANG file error : " +
                         YangConstructType.getYangConstructType(RANGE_DATA) + " " + rangeArgument +
                         " is not valid.");
@@ -130,7 +134,7 @@
                 throw parserException;
             }
 
-            if (rangeBoundary.length == 1) {
+            if (rangeBoundary.length == MIN_RANGE_BOUNDARY) {
                 startInterval = rangeBoundary[0];
                 endInterval = rangeBoundary[0];
             } else {
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java
index a2b4531..e93001e 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java
@@ -31,7 +31,6 @@
 import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangParser;
 import org.onosproject.yangutils.parser.exceptions.ParserException;
 import org.onosproject.yangutils.parser.impl.TreeWalkListener;
-import org.onosproject.yangutils.utils.YangConstructType;
 
 import static org.onosproject.yangutils.datamodel.ResolvableStatus.UNRESOLVED;
 import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.addResolutionInfo;
@@ -89,7 +88,7 @@
         checkStackIsNotEmpty(listener, MISSING_HOLDER, TYPE_DATA, ctx.string().getText(), ENTRY);
 
         // Validate node identifier.
-        YangNodeIdentifier nodeIdentifier = getValidNodeIdentifier(ctx.string().getText(), YangConstructType.TYPE_DATA,
+        YangNodeIdentifier nodeIdentifier = getValidNodeIdentifier(ctx.string().getText(), TYPE_DATA,
                 ctx);
 
         // Obtain the YANG data type.
@@ -107,7 +106,7 @@
         switch (tmpData.getYangConstructType()) {
             case LEAF_DATA:
                 YangLeaf leaf = (YangLeaf) tmpData;
-                leaf.setDataType((YangType<?>) type);
+                leaf.setDataType(type);
 
                 /*
                  * If data type is derived, resolution information to be added
@@ -139,7 +138,7 @@
                 break;
             case LEAF_LIST_DATA:
                 YangLeafList leafList = (YangLeafList) tmpData;
-                leafList.setDataType((YangType<?>) type);
+                leafList.setDataType(type);
 
                 /*
                  * If data type is derived, resolution information to be added
@@ -157,9 +156,6 @@
                                 ctx.string().getText(), EXIT));
                     }
 
-                    // Get the prefix information
-                    String prefix = ((YangType<?>) type).getPrefix();
-
                     // Create empty derived info and attach it to type extended info.
                     YangDerivedInfo<?> yangDerivedInfo = new YangDerivedInfo<>();
                     ((YangType<YangDerivedInfo>) type).setDataTypeExtendedInfo(yangDerivedInfo);
@@ -174,7 +170,7 @@
             case UNION_DATA:
                 YangUnion unionNode = (YangUnion) tmpData;
                 try {
-                    unionNode.addType((YangType<?>) type);
+                    unionNode.addType(type);
                 } catch (DataModelException e) {
                     ParserException parserException = new ParserException(e.getMessage());
                     parserException.setLine(ctx.getStart().getLine());
@@ -188,16 +184,13 @@
                  */
                 if (yangDataTypes == YangDataTypes.DERIVED) {
 
-                    // Get the prefix information
-                    String prefix = ((YangType<?>) type).getPrefix();
-
                     // Create empty derived info and attach it to type extended info.
                     YangDerivedInfo<?> yangDerivedInfo = new YangDerivedInfo<>();
                     ((YangType<YangDerivedInfo>) type).setDataTypeExtendedInfo(yangDerivedInfo);
 
                     // Add resolution information to the list
                     YangResolutionInfo resolutionInfo =
-                            new YangResolutionInfo<YangType>(type, (YangNode) unionNode, errorLine, errorPosition);
+                            new YangResolutionInfo<YangType>(type, unionNode, errorLine, errorPosition);
                     addToResolutionList(resolutionInfo, ctx);
                 }
 
@@ -205,24 +198,20 @@
             case TYPEDEF_DATA:
                 /* Prepare the base type info and set in derived type */
                 YangTypeDef typeDef = (YangTypeDef) tmpData;
-                typeDef.setDataType((YangType<?>) type);
+                typeDef.setDataType(type);
 
                 /*
                  * If data type is derived, resolution information to be added
                  * in resolution list.
                  */
                 if (yangDataTypes == YangDataTypes.DERIVED) {
-
-                    // Get the prefix information
-                    String prefix = ((YangType<?>) type).getPrefix();
-
                     // Create empty derived info and attach it to type extended info.
                     YangDerivedInfo<?> yangDerivedInfo = new YangDerivedInfo<>();
                     ((YangType<YangDerivedInfo>) type).setDataTypeExtendedInfo(yangDerivedInfo);
 
                     // Add resolution information to the list
                     YangResolutionInfo resolutionInfo =
-                            new YangResolutionInfo<YangType>(type, (YangNode) typeDef, errorLine, errorPosition);
+                            new YangResolutionInfo<YangType>(type, typeDef, errorLine, errorPosition);
                     addToResolutionList(resolutionInfo, ctx);
                 }
                 break;
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnionListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnionListener.java
index 5a25762..1d2a698 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnionListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnionListener.java
@@ -51,7 +51,6 @@
 import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangParser;
 import org.onosproject.yangutils.parser.exceptions.ParserException;
 import org.onosproject.yangutils.parser.impl.TreeWalkListener;
-import org.onosproject.yangutils.utils.YangConstructType;
 
 import static org.onosproject.yangutils.datamodel.utils.GeneratedLanguage.JAVA_GENERATION;
 import static org.onosproject.yangutils.datamodel.utils.YangDataModelFactory.getYangUnionNode;
@@ -214,7 +213,7 @@
                 curNode.addChild(unionNode);
             } catch (DataModelException e) {
                 throw new ParserException(constructExtendedListenerErrorMessage(UNHANDLED_PARSED_DATA,
-                        YangConstructType.UNION_DATA, "", ENTRY, e.getMessage()));
+                        UNION_DATA, "", ENTRY, e.getMessage()));
             }
         }
     }