[ONOS-5413]From string and to string method generation for YTB to handle in yms
Change-Id: Ib066598ca40ff642113481617369d82a6d94620a
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
index a9ce9b4..979df3a 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
@@ -18,8 +18,6 @@
import org.onosproject.yangutils.datamodel.RpcNotificationContainer;
import org.onosproject.yangutils.datamodel.YangAugmentableNode;
-import org.onosproject.yangutils.datamodel.YangBit;
-import org.onosproject.yangutils.datamodel.YangBits;
import org.onosproject.yangutils.datamodel.YangCase;
import org.onosproject.yangutils.datamodel.YangChoice;
import org.onosproject.yangutils.datamodel.YangDerivedInfo;
@@ -28,29 +26,27 @@
import org.onosproject.yangutils.datamodel.YangNode;
import org.onosproject.yangutils.datamodel.YangType;
import org.onosproject.yangutils.datamodel.YangTypeDef;
+import org.onosproject.yangutils.datamodel.YangUnion;
import org.onosproject.yangutils.datamodel.javadatamodel.JavaQualifiedTypeInfo;
import org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes;
import org.onosproject.yangutils.translator.tojava.JavaAttributeInfo;
import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer;
import org.onosproject.yangutils.translator.tojava.JavaFileInfoTranslator;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
+import org.onosproject.yangutils.translator.tojava.JavaImportData;
import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer;
+import org.onosproject.yangutils.translator.tojava.TempJavaEnumerationFragmentFiles;
import org.onosproject.yangutils.translator.tojava.TempJavaEventFragmentFiles;
import org.onosproject.yangutils.translator.tojava.TempJavaServiceFragmentFiles;
import org.onosproject.yangutils.translator.tojava.TempJavaTypeFragmentFiles;
-import org.onosproject.yangutils.utils.UtilConstants;
import org.onosproject.yangutils.utils.io.YangPluginConfig;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import static java.util.Collections.sort;
-import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.BINARY;
-import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.BITS;
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.DERIVED;
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.IDENTITYREF;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK;
@@ -86,13 +82,9 @@
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_CLASS_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_INTERFACE_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.TO_STRING_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData;
-import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator.getQualifiedTypeInfoOfCurNode;
import static org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles.getCurNodeAsAttributeInTarget;
import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.getQualifierInfoForCasesParent;
import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.isGetSetOfRootNodeRequired;
-import static org.onosproject.yangutils.translator.tojava.utils.BracketType.OPEN_CLOSE_BRACKET;
-import static org.onosproject.yangutils.translator.tojava.utils.BracketType.OPEN_CLOSE_BRACKET_WITH_VALUE;
import static org.onosproject.yangutils.translator.tojava.utils.IndentationType.FOUR_SPACE;
import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.addAugmentationAttribute;
import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getEnumsValueAttribute;
@@ -100,16 +92,19 @@
import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getOperationAttributeForConstructor;
import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getOperationAttributes;
import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getOperationTypeEnum;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getSetValueParaForUnionClass;
import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getYangAugmentedMapObjectForConstruct;
+import static org.onosproject.yangutils.translator.tojava.utils.BitsJavaInfoHandler.generateBitsFile;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getDataFromTempFileHandle;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.initiateJavaFileGeneration;
import static org.onosproject.yangutils.translator.tojava.utils.MethodBodyTypes.ENUM_METHOD_INT_VALUE;
import static org.onosproject.yangutils.translator.tojava.utils.MethodBodyTypes.ENUM_METHOD_STRING_VALUE;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodClassTypes.CLASS_TYPE;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.builderMethod;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getAddAugmentInfoMethodImpl;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getAddAugmentInfoMethodInterface;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getAugmentsDataMethodForService;
+import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBitSetEnumClassFromString;
+import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBitSetEnumClassToString;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getConstructorStart;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getEnumsConstructor;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getEnumsOfValueMethod;
@@ -127,6 +122,7 @@
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getSetterString;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethodClose;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethodOpen;
+import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getUnionToStringMethod;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getYangAugmentInfoImpl;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getYangAugmentInfoInterface;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getYangAugmentInfoMapImpl;
@@ -135,15 +131,10 @@
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.isSelectLeafSetInterface;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.processSubtreeFilteringInterface;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.setSelectLeafSetInterface;
-import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.brackets;
import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.getGettersForValueAndSelectLeaf;
import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.getInterfaceLeafIdEnumMethods;
-import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.getOmitNullValueString;
import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.getOperationAttributesGetters;
-import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.getOverRideString;
-import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.getReturnString;
import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.methodClose;
-import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.methodSignature;
import static org.onosproject.yangutils.translator.tojava.utils.StringGenerator.signatureClose;
import static org.onosproject.yangutils.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getAugmentableSubTreeFiltering;
import static org.onosproject.yangutils.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getProcessChildNodeSubtreeFiltering;
@@ -155,52 +146,33 @@
import static org.onosproject.yangutils.translator.tojava.utils.TranslatorUtils.addDefaultConstructor;
import static org.onosproject.yangutils.translator.tojava.utils.TranslatorUtils.getBeanFiles;
import static org.onosproject.yangutils.translator.tojava.utils.TranslatorUtils.getTypeFiles;
-import static org.onosproject.yangutils.utils.UtilConstants.ADD;
-import static org.onosproject.yangutils.utils.UtilConstants.BASE64;
import static org.onosproject.yangutils.utils.UtilConstants.BIG_INTEGER;
import static org.onosproject.yangutils.utils.UtilConstants.BUILDER;
import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_CLASS;
import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_INTERFACE;
import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_CURLY_BRACKET;
-import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_PARENTHESIS;
import static org.onosproject.yangutils.utils.UtilConstants.COMMA;
import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT;
import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT_CAPS;
-import static org.onosproject.yangutils.utils.UtilConstants.EIGHT_SPACE_INDENTATION;
-import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_PARAMETER_FUNCTION_CALL;
import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
-import static org.onosproject.yangutils.utils.UtilConstants.ENCODE_TO_STRING;
import static org.onosproject.yangutils.utils.UtilConstants.ENUM_CLASS;
-import static org.onosproject.yangutils.utils.UtilConstants.EQUAL;
import static org.onosproject.yangutils.utils.UtilConstants.EVENT_CLASS;
import static org.onosproject.yangutils.utils.UtilConstants.EVENT_LISTENER_STRING;
import static org.onosproject.yangutils.utils.UtilConstants.EVENT_STRING;
import static org.onosproject.yangutils.utils.UtilConstants.EVENT_SUBJECT_NAME_SUFFIX;
-import static org.onosproject.yangutils.utils.UtilConstants.GET;
-import static org.onosproject.yangutils.utils.UtilConstants.GET_ENCODER;
-import static org.onosproject.yangutils.utils.UtilConstants.IF;
import static org.onosproject.yangutils.utils.UtilConstants.IMPL_CLASS;
import static org.onosproject.yangutils.utils.UtilConstants.INT;
import static org.onosproject.yangutils.utils.UtilConstants.INTERFACE;
import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
-import static org.onosproject.yangutils.utils.UtilConstants.OPEN_CURLY_BRACKET;
-import static org.onosproject.yangutils.utils.UtilConstants.OPEN_PARENTHESIS;
import static org.onosproject.yangutils.utils.UtilConstants.OP_PARAM;
-import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
import static org.onosproject.yangutils.utils.UtilConstants.PRIVATE;
import static org.onosproject.yangutils.utils.UtilConstants.PROTECTED;
import static org.onosproject.yangutils.utils.UtilConstants.PUBLIC;
-import static org.onosproject.yangutils.utils.UtilConstants.QUOTES;
import static org.onosproject.yangutils.utils.UtilConstants.RPC_CLASS;
import static org.onosproject.yangutils.utils.UtilConstants.SCHEMA_NAME;
import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLON;
import static org.onosproject.yangutils.utils.UtilConstants.SERVICE_METHOD_STRING;
-import static org.onosproject.yangutils.utils.UtilConstants.SPACE;
import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE;
-import static org.onosproject.yangutils.utils.UtilConstants.TMP_VAL;
-import static org.onosproject.yangutils.utils.UtilConstants.TO;
-import static org.onosproject.yangutils.utils.UtilConstants.TRIM_STRING;
-import static org.onosproject.yangutils.utils.UtilConstants.TWELVE_SPACE_INDENTATION;
import static org.onosproject.yangutils.utils.UtilConstants.TYPEDEF_CLASS;
import static org.onosproject.yangutils.utils.UtilConstants.UNION_CLASS;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD;
@@ -330,7 +302,6 @@
JavaFileInfoTranslator fileInfo =
((JavaFileInfoContainer) curNode).getJavaFileInfo();
- YangPluginConfig pluginConfig = fileInfo.getPluginConfig();
boolean leavesPresent;
YangLeavesHolder leavesHolder;
@@ -387,7 +358,7 @@
//Add build method to builder interface file.
methods.add(((TempJavaCodeFragmentFilesContainer) curNode)
.getTempJavaCodeFragmentFiles()
- .addBuildMethodForInterface(pluginConfig));
+ .addBuildMethodForInterface());
//Add getters and setters in builder interface.
for (String method : methods) {
@@ -413,7 +384,6 @@
JavaFileInfoTranslator fileInfo =
((JavaFileInfoContainer) curNode).getJavaFileInfo();
- YangPluginConfig config = fileInfo.getPluginConfig();
boolean leavesPresent;
YangLeavesHolder leavesHolder;
@@ -493,8 +463,7 @@
methods.add(((TempJavaCodeFragmentFilesContainer) curNode)
.getTempJavaCodeFragmentFiles()
.addBuildMethodImpl());
- methods.add(addDefaultConstructor(curNode, PUBLIC, BUILDER
- ));
+ methods.add(addDefaultConstructor(curNode, PUBLIC, BUILDER));
//Add methods in builder class.
for (String method : methods) {
@@ -614,8 +583,7 @@
throw new IOException(getErrorMsg(className, IMPL_CLASS));
}
- methods.add(addDefaultConstructor(curNode, PROTECTED, DEFAULT
- ));
+ methods.add(addDefaultConstructor(curNode, PROTECTED, DEFAULT));
methods.add(builderMethod(className));
if (leavesPresent) {
@@ -693,6 +661,11 @@
methods.add(getToStringMethodOpen() + getDataFromTempFileHandle(
TO_STRING_IMPL_MASK, getBeanFiles(curNode), path) +
getToStringMethodClose());
+
+ for (BitsJavaInfoHandler handler : getBeanFiles(curNode)
+ .getBitsHandler()) {
+ generateBitsFile(handler.getAttr(), handler.getYangType(), curNode);
+ }
} catch (IOException e) {
throw new IOException(getErrorMsg(className, IMPL_CLASS));
}
@@ -713,8 +686,6 @@
JavaFileInfoTranslator fileInfo =
((JavaFileInfoContainer) curNode).getJavaFileInfo();
- YangPluginConfig config = fileInfo.getPluginConfig();
-
// import
String className = getCapitalCase(fileInfo.getJavaName());
String path = fileInfo.getBaseCodeGenPath() +
@@ -738,8 +709,7 @@
}
//Default constructor.
- methods.add(addDefaultConstructor(curNode, PRIVATE, EMPTY_STRING
- ));
+ methods.add(addDefaultConstructor(curNode, PRIVATE, EMPTY_STRING));
try {
@@ -768,7 +738,7 @@
getTypeFiles(curNode), path)));
// To string method.
- addTypedefToString(curNode, methods, path, type);
+ addTypedefToString(curNode, methods, path);
JavaCodeGeneratorInfo javaGenInfo = (JavaCodeGeneratorInfo) curNode;
@@ -810,65 +780,21 @@
* @param curNode current node
* @param methods list of methods string
* @param path file path
- * @param type YANG type
* @throws IOException a violation in IO rule
*/
private static void addTypedefToString(YangNode curNode,
- List<String> methods, String path,
- YangType type) throws IOException {
- String methodSig = methodSignature(TO + STRING_DATA_TYPE, EMPTY_STRING,
- PUBLIC, null, STRING_DATA_TYPE, null,
- CLASS_TYPE);
- String methodClose = signatureClose() + methodClose(FOUR_SPACE);
- String openClose = brackets(OPEN_CLOSE_BRACKET, null,
- null);
+ List<String> methods, String path)
+ throws IOException {
//To string method.
- if (type.getDataType() == BINARY) {
- JavaQualifiedTypeInfoTranslator typeInfo =
- getQualifiedTypeInfoOfCurNode(curNode, getCapitalCase
- (UtilConstants.BINARY));
-
- JavaAttributeInfo attr =
- getAttributeInfoForTheData(typeInfo,
- UtilConstants.BINARY,
- null, false, false);
- String attributeName = attr.getAttributeName();
- String bitsToStringMethod = getOverRideString() + methodSig +
- getReturnString(BASE64, EIGHT_SPACE_INDENTATION) +
- PERIOD + GET_ENCODER + brackets(OPEN_CLOSE_BRACKET, null,
- null) +
- PERIOD + ENCODE_TO_STRING + brackets(
- OPEN_CLOSE_BRACKET_WITH_VALUE, attributeName, null) +
- methodClose;
- methods.add(bitsToStringMethod);
- } else if (type.getDataType() == BITS) {
- JavaQualifiedTypeInfoTranslator typeInfo =
- getQualifiedTypeInfoOfCurNode(curNode,
- getCapitalCase(UtilConstants.BITS));
-
- JavaAttributeInfo attr =
- getAttributeInfoForTheData(typeInfo,
- UtilConstants.BITS,
- null, false, false);
- String attributeName = attr.getAttributeName();
- String bitsToStringMethod =
- getOverRideString() + methodSig +
- getToStringForBits(attr.getAttributeName(),
- (YangBits) type.getDataTypeExtendedInfo()) +
- getReturnString(attributeName, EIGHT_SPACE_INDENTATION) +
- PERIOD + TO + STRING_DATA_TYPE + openClose +
- methodClose;
- methods.add(bitsToStringMethod);
- } else {
- methods.add(getToStringMethodOpen() +
- getDataFromTempFileHandle(
- TO_STRING_IMPL_MASK,
- ((TempJavaCodeFragmentFilesContainer)
- curNode)
- .getTempJavaCodeFragmentFiles()
- .getTypeTempFiles(), path) +
- getToStringMethodClose());
+ methods.add(getToStringMethodOpen() +
+ getDataFromTempFileHandle(
+ TO_STRING_IMPL_MASK, getTypeFiles(curNode), path) +
+ getToStringMethodClose());
+ for (BitsJavaInfoHandler handler : getTypeFiles(curNode)
+ .getBitsHandler()) {
+ generateBitsFile(handler.getAttr(), handler.getYangType(), curNode);
}
+
}
/**
@@ -886,7 +812,6 @@
JavaFileInfoTranslator fileInfo =
((JavaFileInfoContainer) curNode).getJavaFileInfo();
- YangPluginConfig config = fileInfo.getPluginConfig();
String className = getCapitalCase(fileInfo.getJavaName());
String path = fileInfo.getBaseCodeGenPath() +
@@ -926,9 +851,11 @@
shortConflict = shortAttr.isShortConflict();
}
if (longConflict) {
- imports.add(tempFiles.getJavaImportData()
- .getBigIntegerImport());
- sort(imports);
+ String impt = tempFiles.getJavaImportData().getBigIntegerImport();
+ if (!imports.contains(impt)) {
+ imports.add(impt);
+ sort(imports);
+ }
}
initiateJavaFileGeneration(file, className, GENERATE_UNION_CLASS,
@@ -945,8 +872,7 @@
}
//Default constructor.
- methods.add(addDefaultConstructor(curNode, PRIVATE, EMPTY_STRING
- ));
+ methods.add(addDefaultConstructor(curNode, PRIVATE, EMPTY_STRING));
try {
@@ -977,11 +903,13 @@
path)));
//To string method.
- methods.add(getToStringMethodOpen() + getOmitNullValueString() +
- getDataFromTempFileHandle(
- TO_STRING_IMPL_MASK,
- getTypeFiles(curNode), path) +
- getToStringMethodClose());
+ methods.add(getUnionToStringMethod(
+ ((YangUnion) curNode).getTypeList()));
+
+ for (BitsJavaInfoHandler handler : getTypeFiles(curNode)
+ .getBitsHandler()) {
+ generateBitsFile(handler.getAttr(), handler.getYangType(), curNode);
+ }
//From string method.
methods.add(getFromStringMethodSignature(className) +
@@ -1054,6 +982,7 @@
insertDataIntoJavaFile(file, getDataFromTempFileHandle(
ATTRIBUTES_MASK, getTypeFiles(curNode), path));
+ insertDataIntoJavaFile(file, getSetValueParaForUnionClass());
}
/**
@@ -1061,23 +990,31 @@
*
* @param file generated file
* @param curNode current YANG node
+ * @param imports import list
* @return class file for type enum
* @throws IOException when fails to generate class file
*/
- public static File generateEnumClassFile(File file, YangNode curNode)
+ public static File generateEnumClassFile(File file, YangNode curNode, List<String> imports)
throws IOException {
JavaFileInfoTranslator fileInfo =
((JavaFileInfoContainer) curNode).getJavaFileInfo();
- YangPluginConfig config = fileInfo.getPluginConfig();
String className = fileInfo.getJavaName();
String path = fileInfo.getBaseCodeGenPath() +
fileInfo.getPackageFilePath();
+ TempJavaEnumerationFragmentFiles enumFile = ((JavaCodeGeneratorInfo)
+ curNode).getTempJavaCodeFragmentFiles().getEnumTempFiles();
+ JavaImportData data = enumFile.getJavaImportData();
+ if (!enumFile.isEnumClass()) {
+ imports.add(data.getImportForToBitSet());
+ imports.add(data.getImportForPattern());
+ imports.add(data.getImportForToString());
+
+ }
initiateJavaFileGeneration(file, getCapitalCase(className),
- GENERATE_ENUM_CLASS, null, path
- );
+ GENERATE_ENUM_CLASS, imports, path);
//Add attribute strings.
try {
@@ -1092,6 +1029,7 @@
ENUM_CLASS));
}
+ insertDataIntoJavaFile(file, NEW_LINE);
// Add an attribute to get the enum's values.
insertDataIntoJavaFile(file, getEnumsValueAttribute(className));
@@ -1113,24 +1051,17 @@
insertDataIntoJavaFile(file, getJavaDoc(GETTER_METHOD, className, false,
null) +
getGetter(INT, className, GENERATE_ENUM_CLASS) + NEW_LINE);
+
insertDataIntoJavaFile(file, getJavaDoc(GETTER_METHOD, SCHEMA_NAME, false,
null) +
getGetter(STRING_DATA_TYPE, SCHEMA_NAME, GENERATE_ENUM_CLASS) +
NEW_LINE);
- try {
- insertDataIntoJavaFile(file,
- getFromStringMethodSignature(
- getCapitalCase(className)) +
- getDataFromTempFileHandle(
- FROM_STRING_IMPL_MASK,
- ((TempJavaCodeFragmentFilesContainer) curNode)
- .getTempJavaCodeFragmentFiles()
- .getEnumTempFiles(),
- path) + getFromStringMethodClose());
- } catch (IOException e) {
- throw new IOException(getErrorMsg(getCapitalCase(className),
- ENUM_CLASS));
+ if (!enumFile.isEnumClass()) {
+ insertDataIntoJavaFile(file, getBitSetEnumClassFromString
+ (getCapitalCase(className)));
+ insertDataIntoJavaFile(file, getBitSetEnumClassToString(
+ getCapitalCase(className), (YangEnumeration) curNode));
}
insertDataIntoJavaFile(file, CLOSE_CURLY_BRACKET + NEW_LINE);
@@ -1174,13 +1105,11 @@
if (isGetSetOfRootNodeRequired(curNode)) {
//Getter methods.
methods.add(getGetterString(rootAttribute,
- GENERATE_SERVICE_AND_MANAGER
- ) +
+ GENERATE_SERVICE_AND_MANAGER) +
NEW_LINE);
// Setter methods.
methods.add(getSetterString(rootAttribute, className,
- GENERATE_SERVICE_AND_MANAGER
- ) +
+ GENERATE_SERVICE_AND_MANAGER) +
NEW_LINE);
}
@@ -1341,42 +1270,7 @@
*/
private static boolean leavesPresent(YangLeavesHolder holder) {
return holder.getListOfLeaf() != null &&
- !holder.getListOfLeaf().isEmpty() ||
- holder.getListOfLeafList() != null &&
- !holder.getListOfLeafList().isEmpty();
+ !holder.getListOfLeaf().isEmpty();
}
- /**
- * Generates toString code for bits.
- *
- * @param attributeName generated variable for bits
- * @param yangBits parsed yang bits
- * @return generated toString code for bits.
- */
- private static String getToStringForBits(String attributeName, YangBits yangBits) {
- String lines = EIGHT_SPACE_INDENTATION + STRING_DATA_TYPE + SPACE + TMP_VAL + SPACE + EQUAL + SPACE +
- QUOTES + QUOTES + SEMI_COLON + NEW_LINE;
- Integer key;
- YangBit bit;
- String bitName;
- for (Map.Entry<Integer, YangBit> entry : yangBits.getBitPositionMap().entrySet()) {
- key = entry.getKey();
- bit = entry.getValue();
- if (bit == null) {
- return null;
- }
-
- bitName = bit.getBitName();
- // Add if condition to check bit position
- lines += EIGHT_SPACE_INDENTATION + IF + SPACE + OPEN_PARENTHESIS + attributeName +
- PERIOD + GET + OPEN_PARENTHESIS + key + CLOSE_PARENTHESIS + CLOSE_PARENTHESIS +
- SPACE + OPEN_CURLY_BRACKET + NEW_LINE + TWELVE_SPACE_INDENTATION + TMP_VAL + SPACE +
- ADD + EQUAL + SPACE + QUOTES + bitName + SPACE + QUOTES + SEMI_COLON + NEW_LINE +
- EIGHT_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE;
- }
-
- lines += EIGHT_SPACE_INDENTATION + TMP_VAL + PERIOD + TRIM_STRING + EMPTY_PARAMETER_FUNCTION_CALL +
- SEMI_COLON + NEW_LINE;
- return lines;
- }
}