[ONOS-4303, ONOS-4508, ONOS-4509, ONOS-4510, ONOS-4351]notification,rpc,union,sub-module,augment
Change-Id: Ibeed9ff965c13fd66743c1080cb1350d93a3a435
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java
index 24fd71d..467ff8a 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java
@@ -21,7 +21,7 @@
import java.util.List;
import java.util.Set;
-import org.onosproject.yangutils.datamodel.YangTypeContainer;
+import org.onosproject.yangutils.datamodel.RpcNotificationContainer;
import org.onosproject.yangutils.datamodel.YangCase;
import org.onosproject.yangutils.datamodel.YangEnum;
import org.onosproject.yangutils.datamodel.YangEnumeration;
@@ -29,37 +29,27 @@
import org.onosproject.yangutils.datamodel.YangLeafList;
import org.onosproject.yangutils.datamodel.YangLeavesHolder;
import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yangutils.datamodel.YangRpc;
-import org.onosproject.yangutils.datamodel.YangType;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.javamodel.JavaLeafInfoContainer;
-import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaType;
+import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig;
-import static org.onosproject.yangutils.datamodel.YangNodeType.MODULE_NODE;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ENUM_CLASS;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_RPC_INTERFACE;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_UNION_CLASS;
+import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER;
+import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPE_CLASS;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.IMPL_CLASS_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.INTERFACE_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.ATTRIBUTES_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.CONSTRUCTOR_FOR_TYPE_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.CONSTRUCTOR_IMPL_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.ENUM_IMPL_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.EQUALS_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.FROM_STRING_IMPL_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.GETTER_FOR_CLASS_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.GETTER_FOR_INTERFACE_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.HASH_CODE_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.OF_STRING_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.RPC_IMPL_MASK;
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.JavaQualifiedTypeInfo.getQualifiedInfoOfFromString;
import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedTypeInfoOfCurNode;
import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.generateEnumAttributeString;
import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaAttributeDefination;
@@ -69,9 +59,6 @@
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateEnumClassFile;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateImplClassFile;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateInterfaceFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateRpcInterfaceFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateTypeDefClassFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateUnionClassFile;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getFileObject;
import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase;
import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase;
@@ -79,27 +66,20 @@
import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getParentNodeInGenCode;
import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBuildString;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getConstructor;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getDefaultConstructorString;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getEqualsMethod;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getFromStringMethod;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getGetterForClass;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getGetterString;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getHashCodeMethod;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getOfMethod;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getOfMethodStringAndJavaDoc;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getOverRideString;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcStringMethod;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getSetterForClass;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getSetterString;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethod;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getTypeConstructorStringAndJavaDoc;
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.parseBuilderInterfaceBuildMethodString;
import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addArrayListImport;
import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addAugmentedInfoImport;
import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addHasAugmentationImport;
-import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils
- .addImportsToStringAndHasCodeMethods;
import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.closeFile;
import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.isAugmentedInfoExtended;
import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils
@@ -113,7 +93,6 @@
import static org.onosproject.yangutils.utils.UtilConstants.IMPORT;
import static org.onosproject.yangutils.utils.UtilConstants.INTERFACE;
import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
-import static org.onosproject.yangutils.utils.UtilConstants.PACKAGE_INFO_JAVADOC_OF_CHILD;
import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN;
import static org.onosproject.yangutils.utils.UtilConstants.SLASH;
@@ -121,15 +100,14 @@
import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.readAppendFile;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.OF_METHOD;
-import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.generateJavaDocForRpc;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.clean;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getAbsolutePackagePath;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.insertDataIntoJavaFile;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.mergeJavaFiles;
/**
* Represents implementation of java code fragments temporary implementations.
+ * Manages the common temp file required for Java file(s) generated.
*/
public class TempJavaFragmentFiles {
/**
@@ -150,7 +128,7 @@
*/
private String absoluteDirPath;
/**
- * Contains all the class name which will be extended by generated files.
+ * Contains all the interface(s)/class name which will be extended by generated files.
*/
private List<String> extendsList = new ArrayList<>();
/**
@@ -165,26 +143,27 @@
* Folder suffix for temporary files folder.
*/
private static final String TEMP_FOLDER_NAME_SUFIX = "-Temp";
+
/**
* File name for getter method.
*/
private static final String GETTER_METHOD_FILE_NAME = "GetterMethod";
- /**
- * File name for getter method implementation.
- */
- private static final String GETTER_METHOD_IMPL_FILE_NAME = "GetterMethodImpl";
+
/**
* File name for setter method.
*/
private static final String SETTER_METHOD_FILE_NAME = "SetterMethod";
+
+ /**
+ * File name for getter method implementation.
+ */
+ private static final String GETTER_METHOD_IMPL_FILE_NAME = "GetterMethodImpl";
+
/**
* File name for setter method implementation.
*/
private static final String SETTER_METHOD_IMPL_FILE_NAME = "SetterMethodImpl";
- /**
- * File name for constructor.
- */
- private static final String CONSTRUCTOR_FILE_NAME = "Constructor";
+
/**
* File name for attributes.
*/
@@ -201,22 +180,12 @@
* File name for equals method.
*/
private static final String EQUALS_METHOD_FILE_NAME = "Equals";
- /**
- * File name for of string method.
- */
- private static final String OF_STRING_METHOD_FILE_NAME = "OfString";
+
/**
* File name for temporary enum class.
*/
private static final String ENUM_CLASS_TEMP_FILE_NAME = "EnumClass";
- /**
- * File name for construction for special type like union, typedef.
- */
- private static final String CONSTRUCTOR_FOR_TYPE_FILE_NAME = "ConstructorForType";
- /**
- * File name for from string method.
- */
- private static final String FROM_STRING_METHOD_FILE_NAME = "FromString";
+
/**
* File name for interface java file name suffix.
*/
@@ -233,28 +202,12 @@
* File name for impl class file name suffix.
*/
private static final String IMPL_CLASS_FILE_NAME_SUFFIX = IMPL;
- /**
- * File name for typedef class file name suffix.
- */
- private static final String TYPEDEF_CLASS_FILE_NAME_SUFFIX = EMPTY_STRING;
+
/**
* File name for enum class file name suffix.
*/
private static final String ENUM_CLASS_FILE_NAME_SUFFIX = EMPTY_STRING;
- /**
- * File name for rpc method.
- */
- private static final String RPC_FILE_NAME = "Rpc";
- /**
- * File name for generated class file for special type like union, typedef
- * suffix.
- */
- private static final String RPC_INTERFACE_FILE_NAME_SUFFIX = "Service";
- /**
- * File name for generated class file for special type like union, typedef
- * suffix.
- */
- private static final String UNION_TYPE_CLASS_FILE_NAME_SUFFIX = EMPTY_STRING;
+
/**
* Java file handle for interface file.
*/
@@ -271,38 +224,32 @@
* Java file handle for impl class file.
*/
private File implClassJavaFileHandle;
- /**
- * Java file handle for typedef class file.
- */
- private File typedefClassJavaFileHandle;
- /**
- * Java file handle for type class like union, typedef file.
- */
- private File typeClassJavaFileHandle;
+
/**
* Temporary file handle for attribute.
*/
private File attributesTempFileHandle;
+
/**
* Temporary file handle for getter of interface.
*/
private File getterInterfaceTempFileHandle;
- /**
- * Temporary file handle for getter of class.
- */
- private File getterImplTempFileHandle;
+
/**
* Temporary file handle for setter of interface.
*/
private File setterInterfaceTempFileHandle;
+
+ /**
+ * Temporary file handle for getter of class.
+ */
+ private File getterImplTempFileHandle;
+
/**
* Temporary file handle for setter of class.
*/
private File setterImplTempFileHandle;
- /**
- * Temporary file handle for constructor of class.
- */
- private File constructorImplTempFileHandle;
+
/**
* Temporary file handle for hash code method of class.
*/
@@ -319,30 +266,12 @@
* Temporary file handle for enum class file.
*/
private File enumClassTempFileHandle;
- /**
- * Temporary file handle for of string method of class.
- */
- private File ofStringImplTempFileHandle;
- /**
- * Temporary file handle for constructor for type class.
- */
- private File constructorForTypeTempFileHandle;
- /**
- * Temporary file handle for from string method of class.
- */
- private File fromStringImplTempFileHandle;
- /**
- * Temporary file handle for rpc interface.
- */
- private File rpcInterfaceImplTempFileHandle;
- /**
- * Java file handle for rpc interface file.
- */
- private File rpcInterfaceJavaFileHandle;
+
/**
* Import info for case.
*/
private JavaQualifiedTypeInfo caseImportInfo;
+
/**
* Is attribute added.
*/
@@ -356,6 +285,9 @@
*/
private File enumClassJavaFileHandle;
+ public TempJavaFragmentFiles() {
+ }
+
/**
* Returns enum class java file handle.
*
@@ -407,7 +339,7 @@
* @param absoluteDirPath absolute path where the file needs to be
* generated.
*/
- private void setAbsoluteDirPath(String absoluteDirPath) {
+ void setAbsoluteDirPath(String absoluteDirPath) {
this.absoluteDirPath = absoluteDirPath;
}
@@ -434,14 +366,14 @@
*
* @return generated temp files
*/
- private int getGeneratedTempFiles() {
+ int getGeneratedTempFiles() {
return generatedTempFiles;
}
/**
- * Sets generated file files.
+ * Clears the generated file mask.
*/
- private void clearGeneratedTempFiles() {
+ void clearGeneratedTempFileMask() {
generatedTempFiles = 0;
}
@@ -450,7 +382,7 @@
*
* @param generatedTempFile generated file
*/
- private void addGeneratedTempFile(int generatedTempFile) {
+ void addGeneratedTempFile(int generatedTempFile) {
generatedTempFiles |= generatedTempFile;
}
@@ -459,7 +391,7 @@
*
* @return generated Java files
*/
- private int getGeneratedJavaFiles() {
+ int getGeneratedJavaFiles() {
return getJavaFileInfo().getGeneratedFileTypes();
}
@@ -468,7 +400,7 @@
*
* @return mapped Java class name
*/
- private String getGeneratedJavaClassName() {
+ String getGeneratedJavaClassName() {
return getJavaFileInfo().getJavaName();
}
@@ -486,11 +418,83 @@
*
* @param javaImportData import data for the generated Java file
*/
- private void setJavaImportData(JavaImportData javaImportData) {
+ void setJavaImportData(JavaImportData javaImportData) {
this.javaImportData = javaImportData;
}
/**
+ * Retrieves the status of any attributes added.
+ *
+ * @return status of any attributes added
+ */
+ public boolean isAttributePresent() {
+ return isAttributePresent;
+ }
+
+ /**
+ * Sets status of any attributes added.
+ *
+ * @param attributePresent status of any attributes added
+ */
+ public void setAttributePresent(boolean attributePresent) {
+ isAttributePresent = attributePresent;
+ }
+
+ /**
+ * Returns getter methods's temporary file handle.
+ *
+ * @return temporary file handle
+ */
+ public File getGetterInterfaceTempFileHandle() {
+ return getterInterfaceTempFileHandle;
+ }
+
+ /**
+ * Sets to getter method's temporary file handle.
+ *
+ * @param getterForInterface file handle for to getter method
+ */
+ private void setGetterInterfaceTempFileHandle(File getterForInterface) {
+ getterInterfaceTempFileHandle = getterForInterface;
+ }
+
+ /**
+ * Returns setter method's temporary file handle.
+ *
+ * @return temporary file handle
+ */
+ public File getSetterInterfaceTempFileHandle() {
+ return setterInterfaceTempFileHandle;
+ }
+
+ /**
+ * Sets to setter method's temporary file handle.
+ *
+ * @param setterForInterface file handle for to setter method
+ */
+ private void setSetterInterfaceTempFileHandle(File setterForInterface) {
+ setterInterfaceTempFileHandle = setterForInterface;
+ }
+
+ /**
+ * Returns setter method's impl's temporary file handle.
+ *
+ * @return temporary file handle
+ */
+ public File getSetterImplTempFileHandle() {
+ return setterImplTempFileHandle;
+ }
+
+ /**
+ * Sets to setter method's impl's temporary file handle.
+ *
+ * @param setterImpl file handle for to setter method's implementation class
+ */
+ private void setSetterImplTempFileHandle(File setterImpl) {
+ setterImplTempFileHandle = setterImpl;
+ }
+
+ /**
* Creates an instance of temporary java code fragment.
*
* @param javaFileInfo generated java file information
@@ -501,17 +505,19 @@
setExtendsList(new ArrayList<>());
setJavaImportData(new JavaImportData());
setJavaFileInfo(javaFileInfo);
- clearGeneratedTempFiles();
+ clearGeneratedTempFileMask();
setAbsoluteDirPath(getAbsolutePackagePath(getJavaFileInfo().getBaseCodeGenPath(),
getJavaFileInfo().getPackageFilePath()));
- /**
+
+ /*
* Initialize getter when generation file type matches to interface
* mask.
*/
if ((getGeneratedJavaFiles() & INTERFACE_MASK) != 0) {
addGeneratedTempFile(GETTER_FOR_INTERFACE_MASK);
}
- /**
+
+ /*
* Initialize getter and setter when generation file type matches to
* builder interface mask.
*/
@@ -519,7 +525,8 @@
addGeneratedTempFile(GETTER_FOR_INTERFACE_MASK);
addGeneratedTempFile(SETTER_FOR_INTERFACE_MASK);
}
- /**
+
+ /*
* Initialize getterImpl, setterImpl and attributes when generation file
* type matches to builder class mask.
*/
@@ -528,77 +535,71 @@
addGeneratedTempFile(GETTER_FOR_CLASS_MASK);
addGeneratedTempFile(SETTER_FOR_CLASS_MASK);
}
- /**
+
+ /*
* Initialize getterImpl, attributes, constructor, hash code, equals and
* to strings when generation file type matches to impl class mask.
*/
if ((getGeneratedJavaFiles() & IMPL_CLASS_MASK) != 0) {
addGeneratedTempFile(ATTRIBUTES_MASK);
addGeneratedTempFile(GETTER_FOR_CLASS_MASK);
- addGeneratedTempFile(CONSTRUCTOR_IMPL_MASK);
addGeneratedTempFile(HASH_CODE_IMPL_MASK);
addGeneratedTempFile(EQUALS_IMPL_MASK);
addGeneratedTempFile(TO_STRING_IMPL_MASK);
}
- if ((getGeneratedJavaFiles() & GENERATE_RPC_INTERFACE) != 0) {
- addGeneratedTempFile(RPC_IMPL_MASK);
- }
- /**
- * Initialize getterImpl, attributes, hash code, equals and to strings
- * when generation file type matches to typeDef class mask.
+
+ /*
+ * Initialize temp files to generate type class.
*/
- if ((getGeneratedJavaFiles() & GENERATE_TYPEDEF_CLASS) != 0) {
+ if ((getGeneratedJavaFiles() & GENERATE_TYPE_CLASS) != 0) {
addGeneratedTempFile(ATTRIBUTES_MASK);
addGeneratedTempFile(GETTER_FOR_CLASS_MASK);
addGeneratedTempFile(HASH_CODE_IMPL_MASK);
addGeneratedTempFile(EQUALS_IMPL_MASK);
addGeneratedTempFile(TO_STRING_IMPL_MASK);
- addGeneratedTempFile(OF_STRING_IMPL_MASK);
- addGeneratedTempFile(CONSTRUCTOR_FOR_TYPE_MASK);
- addGeneratedTempFile(FROM_STRING_IMPL_MASK);
}
- /**
- * Initialize getterImpl, attributes, hash code, equals, of string,
- * constructor, union's to string, from string when generation file type
- * matches to union class mask.
+
+ /*
+ * Initialize getter and setter when generation file type matches to
+ * builder interface mask.
*/
- if ((getGeneratedJavaFiles() & GENERATE_UNION_CLASS) != 0) {
- addGeneratedTempFile(ATTRIBUTES_MASK);
+ if ((getGeneratedJavaFiles() & GENERATE_SERVICE_AND_MANAGER) != 0) {
+ addGeneratedTempFile(GETTER_FOR_INTERFACE_MASK);
+ addGeneratedTempFile(SETTER_FOR_INTERFACE_MASK);
addGeneratedTempFile(GETTER_FOR_CLASS_MASK);
- addGeneratedTempFile(HASH_CODE_IMPL_MASK);
- addGeneratedTempFile(EQUALS_IMPL_MASK);
- addGeneratedTempFile(OF_STRING_IMPL_MASK);
- addGeneratedTempFile(CONSTRUCTOR_FOR_TYPE_MASK);
- addGeneratedTempFile(TO_STRING_IMPL_MASK);
- addGeneratedTempFile(FROM_STRING_IMPL_MASK);
+ addGeneratedTempFile(SETTER_FOR_CLASS_MASK);
}
- /**
+
+ /*
* Initialize enum when generation file type matches to enum class mask.
*/
if ((getGeneratedJavaFiles() & GENERATE_ENUM_CLASS) != 0) {
addGeneratedTempFile(ENUM_IMPL_MASK);
}
- /**
+
+ /*
* Set temporary file handles.
*/
if ((getGeneratedTempFiles() & ATTRIBUTES_MASK) != 0) {
setAttributesTempFileHandle(getTemporaryFileHandle(ATTRIBUTE_FILE_NAME));
}
+
if ((getGeneratedTempFiles() & GETTER_FOR_INTERFACE_MASK) != 0) {
setGetterInterfaceTempFileHandle(getTemporaryFileHandle(GETTER_METHOD_FILE_NAME));
}
+
if ((getGeneratedTempFiles() & SETTER_FOR_INTERFACE_MASK) != 0) {
setSetterInterfaceTempFileHandle(getTemporaryFileHandle(SETTER_METHOD_FILE_NAME));
}
+
if ((getGeneratedTempFiles() & GETTER_FOR_CLASS_MASK) != 0) {
setGetterImplTempFileHandle(getTemporaryFileHandle(GETTER_METHOD_IMPL_FILE_NAME));
}
+
if ((getGeneratedTempFiles() & SETTER_FOR_CLASS_MASK) != 0) {
setSetterImplTempFileHandle(getTemporaryFileHandle(SETTER_METHOD_IMPL_FILE_NAME));
}
- if ((getGeneratedTempFiles() & CONSTRUCTOR_IMPL_MASK) != 0) {
- setConstructorImplTempFileHandle(getTemporaryFileHandle(CONSTRUCTOR_FILE_NAME));
- }
+
if ((getGeneratedTempFiles() & HASH_CODE_IMPL_MASK) != 0) {
setHashCodeImplTempFileHandle(getTemporaryFileHandle(HASH_CODE_METHOD_FILE_NAME));
}
@@ -611,18 +612,6 @@
if ((getGeneratedTempFiles() & ENUM_IMPL_MASK) != 0) {
setEnumClassTempFileHandle(getTemporaryFileHandle(ENUM_CLASS_TEMP_FILE_NAME));
}
- if ((getGeneratedTempFiles() & OF_STRING_IMPL_MASK) != 0) {
- setOfStringImplTempFileHandle(getTemporaryFileHandle(OF_STRING_METHOD_FILE_NAME));
- }
- if ((getGeneratedTempFiles() & CONSTRUCTOR_FOR_TYPE_MASK) != 0) {
- setConstructorForTypeTempFileHandle(getTemporaryFileHandle(CONSTRUCTOR_FOR_TYPE_FILE_NAME));
- }
- if ((getGeneratedTempFiles() & FROM_STRING_IMPL_MASK) != 0) {
- setFromStringImplTempFileHandle(getTemporaryFileHandle(FROM_STRING_METHOD_FILE_NAME));
- }
- if ((getGeneratedTempFiles() & RPC_IMPL_MASK) != 0) {
- setRpcInterfaceImplTempFileHandle(getTemporaryFileHandle(RPC_FILE_NAME));
- }
}
/**
@@ -698,42 +687,6 @@
}
/**
- * Returns java file handle for typedef class file.
- *
- * @return java file handle for typedef class file
- */
- private File getTypedefClassJavaFileHandle() {
- return typedefClassJavaFileHandle;
- }
-
- /**
- * Sets the java file handle for typedef class file.
- *
- * @param typedefClassJavaFileHandle java file handle
- */
- private void setTypedefClassJavaFileHandle(File typedefClassJavaFileHandle) {
- this.typedefClassJavaFileHandle = typedefClassJavaFileHandle;
- }
-
- /**
- * Returns java file handle for type class file.
- *
- * @return java file handle for type class file
- */
- private File getTypeClassJavaFileHandle() {
- return typeClassJavaFileHandle;
- }
-
- /**
- * Sets the java file handle for type class file.
- *
- * @param typeClassJavaFileHandle type file handle
- */
- private void setTypeClassJavaFileHandle(File typeClassJavaFileHandle) {
- this.typeClassJavaFileHandle = typeClassJavaFileHandle;
- }
-
- /**
* Returns attribute's temporary file handle.
*
* @return temporary file handle
@@ -747,27 +700,10 @@
*
* @param attributeForClass file handle for attribute
*/
- private void setAttributesTempFileHandle(File attributeForClass) {
+ void setAttributesTempFileHandle(File attributeForClass) {
attributesTempFileHandle = attributeForClass;
}
- /**
- * Returns getter methods's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getGetterInterfaceTempFileHandle() {
- return getterInterfaceTempFileHandle;
- }
-
- /**
- * Sets to getter method's temporary file handle.
- *
- * @param getterForInterface file handle for to getter method
- */
- private void setGetterInterfaceTempFileHandle(File getterForInterface) {
- getterInterfaceTempFileHandle = getterForInterface;
- }
/**
* Returns getter method's impl's temporary file handle.
@@ -783,63 +719,10 @@
*
* @param getterImpl file handle for to getter method's impl
*/
- private void setGetterImplTempFileHandle(File getterImpl) {
+ void setGetterImplTempFileHandle(File getterImpl) {
getterImplTempFileHandle = getterImpl;
}
- /**
- * Returns setter method's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getSetterInterfaceTempFileHandle() {
- return setterInterfaceTempFileHandle;
- }
-
- /**
- * Sets to setter method's temporary file handle.
- *
- * @param setterForInterface file handle for to setter method
- */
- private void setSetterInterfaceTempFileHandle(File setterForInterface) {
- setterInterfaceTempFileHandle = setterForInterface;
- }
-
- /**
- * Returns setter method's impl's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getSetterImplTempFileHandle() {
- return setterImplTempFileHandle;
- }
-
- /**
- * Sets to setter method's impl's temporary file handle.
- *
- * @param setterImpl file handle for to setter method's implementation class
- */
- private void setSetterImplTempFileHandle(File setterImpl) {
- setterImplTempFileHandle = setterImpl;
- }
-
- /**
- * Returns constructor's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getConstructorImplTempFileHandle() {
- return constructorImplTempFileHandle;
- }
-
- /**
- * Sets to constructor's temporary file handle.
- *
- * @param constructor file handle for to constructor
- */
- private void setConstructorImplTempFileHandle(File constructor) {
- constructorImplTempFileHandle = constructor;
- }
/**
* Returns hash code method's temporary file handle.
@@ -855,7 +738,7 @@
*
* @param hashCodeMethod file handle for hash code method
*/
- private void setHashCodeImplTempFileHandle(File hashCodeMethod) {
+ void setHashCodeImplTempFileHandle(File hashCodeMethod) {
hashCodeImplTempFileHandle = hashCodeMethod;
}
@@ -873,47 +756,11 @@
*
* @param equalsMethod file handle for to equals method
*/
- private void setEqualsImplTempFileHandle(File equalsMethod) {
+ void setEqualsImplTempFileHandle(File equalsMethod) {
equalsImplTempFileHandle = equalsMethod;
}
/**
- * Returns rpc method's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getRpcInterfaceImplTempFileHandle() {
- return rpcInterfaceImplTempFileHandle;
- }
-
- /**
- * Sets rpc method's temporary file handle.
- *
- * @param rpcInterfaceImplTempFileHandle file handle for to rpc method
- */
- private void setRpcInterfaceImplTempFileHandle(File rpcInterfaceImplTempFileHandle) {
- this.rpcInterfaceImplTempFileHandle = rpcInterfaceImplTempFileHandle;
- }
-
- /**
- * Returns rpc method's java file handle.
- *
- * @return java file handle
- */
- private File getRpcInterfaceJavaFileHandle() {
- return rpcInterfaceJavaFileHandle;
- }
-
- /**
- * Sets rpc method's java file handle.
- *
- * @param rpcInterfaceJavaFileHandle file handle for to rpc method
- */
- private void setRpcInterfaceJavaFileHandle(File rpcInterfaceJavaFileHandle) {
- this.rpcInterfaceJavaFileHandle = rpcInterfaceJavaFileHandle;
- }
-
- /**
* Returns to string method's temporary file handle.
*
* @return temporary file handle
@@ -927,7 +774,7 @@
*
* @param toStringMethod file handle for to string method
*/
- private void setToStringImplTempFileHandle(File toStringMethod) {
+ void setToStringImplTempFileHandle(File toStringMethod) {
toStringImplTempFileHandle = toStringMethod;
}
@@ -950,68 +797,11 @@
}
/**
- * Returns of string method's temporary file handle.
- *
- * @return of string method's temporary file handle
- */
- public File getOfStringImplTempFileHandle() {
- return ofStringImplTempFileHandle;
- }
-
- /**
- * Set of string method's temporary file handle.
- *
- * @param ofStringImplTempFileHandle of string method's temporary file
- * handle
- */
- private void setOfStringImplTempFileHandle(File ofStringImplTempFileHandle) {
- this.ofStringImplTempFileHandle = ofStringImplTempFileHandle;
- }
-
- /**
- * Returns type class constructor method's temporary file handle.
- *
- * @return type class constructor method's temporary file handle
- */
- public File getConstructorForTypeTempFileHandle() {
- return constructorForTypeTempFileHandle;
- }
-
- /**
- * Sets type class constructor method's temporary file handle.
- *
- * @param constructorForTypeTempFileHandle type class constructor method's
- * temporary file handle
- */
- private void setConstructorForTypeTempFileHandle(File constructorForTypeTempFileHandle) {
- this.constructorForTypeTempFileHandle = constructorForTypeTempFileHandle;
- }
-
- /**
- * Returns from string method's temporary file handle.
- *
- * @return from string method's temporary file handle
- */
- public File getFromStringImplTempFileHandle() {
- return fromStringImplTempFileHandle;
- }
-
- /**
- * Sets from string method's temporary file handle.
- *
- * @param fromStringImplTempFileHandle from string method's temporary file
- * handle
- */
- private void setFromStringImplTempFileHandle(File fromStringImplTempFileHandle) {
- this.fromStringImplTempFileHandle = fromStringImplTempFileHandle;
- }
-
- /**
* Returns list of classes to be extended by generated files.
*
* @return list of classes to be extended by generated files
*/
- private List<String> getExtendsList() {
+ List<String> getExtendsList() {
return extendsList;
}
@@ -1020,7 +810,7 @@
*
* @param extendsList list of classes to be extended
*/
- private void setExtendsList(List<String> extendsList) {
+ void setExtendsList(List<String> extendsList) {
this.extendsList = extendsList;
}
@@ -1034,31 +824,6 @@
}
/**
- * Adds of string for type.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addOfStringMethod(JavaAttributeInfo attr)
- throws IOException {
- appendToFile(getOfStringImplTempFileHandle(), getOfMethodStringAndJavaDoc(attr,
- getGeneratedJavaClassName())
- + NEW_LINE);
- }
-
- /**
- * Adds type constructor.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addTypeConstructor(JavaAttributeInfo attr)
- throws IOException {
- appendToFile(getConstructorForTypeTempFileHandle(), getTypeConstructorStringAndJavaDoc(attr,
- getGeneratedJavaClassName()) + NEW_LINE);
- }
-
- /**
* Adds attribute for class.
*
* @param attr attribute info
@@ -1077,24 +842,7 @@
*/
private void addGetterForInterface(JavaAttributeInfo attr)
throws IOException {
- appendToFile(getGetterInterfaceTempFileHandle(), getGetterString(attr) + NEW_LINE);
- }
-
- /**
- * Adds getter method's impl for class.
- *
- * @param attr attribute info
- * @param genFiletype generated file type
- * @throws IOException when fails to append to temporary file
- */
- private void addGetterImpl(JavaAttributeInfo attr, int genFiletype)
- throws IOException {
- if ((genFiletype & BUILDER_CLASS_MASK) != 0) {
- appendToFile(getGetterImplTempFileHandle(), getOverRideString() + getGetterForClass(attr) + NEW_LINE);
- } else {
- appendToFile(getGetterImplTempFileHandle(), getJavaDoc(GETTER_METHOD, attr.getAttributeName(), false)
- + getGetterForClass(attr) + NEW_LINE);
- }
+ appendToFile(getGetterInterfaceTempFileHandle(), getGetterString(attr, getGeneratedJavaFiles()) + NEW_LINE);
}
/**
@@ -1106,7 +854,7 @@
private void addSetterForInterface(JavaAttributeInfo attr)
throws IOException {
appendToFile(getSetterInterfaceTempFileHandle(),
- getSetterString(attr, getGeneratedJavaClassName()) + NEW_LINE);
+ getSetterString(attr, getGeneratedJavaClassName(), getGeneratedJavaFiles()) + NEW_LINE);
}
/**
@@ -1118,7 +866,26 @@
private void addSetterImpl(JavaAttributeInfo attr)
throws IOException {
appendToFile(getSetterImplTempFileHandle(),
- getOverRideString() + getSetterForClass(attr, getGeneratedJavaClassName()) + NEW_LINE);
+ getOverRideString() + getSetterForClass(attr, getGeneratedJavaClassName(), getGeneratedJavaFiles()) +
+ NEW_LINE);
+ }
+
+ /**
+ * Adds getter method's impl for class.
+ *
+ * @param attr attribute info
+ * @throws IOException when fails to append to temporary file
+ */
+ private void addGetterImpl(JavaAttributeInfo attr)
+ throws IOException {
+ if ((getGeneratedJavaFiles() & BUILDER_CLASS_MASK) != 0
+ || (getGeneratedJavaFiles() & GENERATE_SERVICE_AND_MANAGER) != 0) {
+ appendToFile(getGetterImplTempFileHandle(), getOverRideString() + getGetterForClass(attr,
+ getGeneratedJavaFiles()) + NEW_LINE);
+ } else {
+ appendToFile(getGetterImplTempFileHandle(), getJavaDoc(GETTER_METHOD, attr.getAttributeName(), false)
+ + getGetterForClass(attr, getGeneratedJavaFiles()) + NEW_LINE);
+ }
}
/**
@@ -1144,17 +911,6 @@
}
/**
- * Adds constructor for class.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addConstructor(JavaAttributeInfo attr)
- throws IOException {
- appendToFile(getConstructorImplTempFileHandle(), getConstructor(getGeneratedJavaClassName(), attr));
- }
-
- /**
* Adds default constructor for class.
*
* @param modifier modifier for constructor.
@@ -1224,42 +980,6 @@
generateEnumAttributeString(curEnumInfo.getAttributeName(), getEnumValue()));
}
- /**
- * Add from string method for union class.
- *
- * @param javaAttributeInfo type attribute info
- * @param fromStringAttributeInfo from string attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addFromStringMethod(JavaAttributeInfo javaAttributeInfo,
- JavaAttributeInfo fromStringAttributeInfo)
- throws IOException {
- appendToFile(getFromStringImplTempFileHandle(), getFromStringMethod(javaAttributeInfo,
- fromStringAttributeInfo) + NEW_LINE);
- }
-
- /**
- * Adds rpc string information to applicable temp file.
- *
- * @param javaAttributeInfoOfInput rpc's input node attribute info
- * @param javaAttributeInfoOfOutput rpc's output node attribute info
- * @param rpcName name of the rpc function
- * @throws IOException IO operation fail
- */
- private void addRpcString(JavaAttributeInfo javaAttributeInfoOfInput, JavaAttributeInfo javaAttributeInfoOfOutput,
- String rpcName)
- throws IOException {
- String rpcInput = "";
- String rpcOutput = "void";
- if (javaAttributeInfoOfInput != null) {
- rpcInput = javaAttributeInfoOfInput.getAttributeName();
- }
- if (javaAttributeInfoOfOutput != null) {
- rpcOutput = javaAttributeInfoOfOutput.getAttributeName();
- }
- appendToFile(getRpcInterfaceImplTempFileHandle(), generateJavaDocForRpc(rpcName, rpcInput, rpcOutput) +
- getRpcStringMethod(rpcName, rpcInput, rpcOutput) + NEW_LINE);
- }
/**
* Returns a temporary file handle for the specific file type.
@@ -1268,7 +988,7 @@
* @return temporary file handle
* @throws IOException when fails to create new file handle
*/
- private File getTemporaryFileHandle(String fileName)
+ File getTemporaryFileHandle(String fileName)
throws IOException {
String path = getTempDirPath();
File dir = new File(path);
@@ -1289,9 +1009,9 @@
* @return temporary file handle
* @throws IOException when fails to create new file handle
*/
- private File getJavaFileHandle(String fileName)
+ File getJavaFileHandle(String fileName)
throws IOException {
- createPackage(getAbsoluteDirPath(), getJavaFileInfo().getJavaName());
+// createPackage(getAbsoluteDirPath(), getJavaFileInfo().getJavaName());
return getFileObject(getDirPath(), fileName, JAVA_FILE_EXTENSION, getJavaFileInfo());
}
@@ -1318,7 +1038,7 @@
*
* @return directory path
*/
- private String getTempDirPath() {
+ String getTempDirPath() {
return getPackageDirPathFromJavaJPackage(getAbsoluteDirPath()) + SLASH + getGeneratedJavaClassName()
+ TEMP_FOLDER_NAME_SUFIX + SLASH;
}
@@ -1350,7 +1070,7 @@
* @param data data to be appended
* @throws IOException when fails to append to file
*/
- private void appendToFile(File file, String data)
+ void appendToFile(File file, String data)
throws IOException {
try {
insertDataIntoJavaFile(file, data);
@@ -1379,8 +1099,7 @@
if (!(parent instanceof TempJavaCodeFragmentFilesContainer)) {
throw new TranslatorException("missing parent temp file handle");
}
- ((TempJavaCodeFragmentFilesContainer) parent)
- .getTempJavaCodeFragmentFiles().getBeanTempFiles()
+ getNodesInterfaceFragmentFiles(parent)
.addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfo);
}
@@ -1407,22 +1126,26 @@
if (!(parentNode instanceof TempJavaCodeFragmentFilesContainer)) {
throw new TranslatorException("Parent node does not have file info");
}
-
- TempJavaFragmentFiles tempJavaFragmentFiles;
- if (parentNode instanceof YangRpc) {
- tempJavaFragmentFiles = ((TempJavaCodeFragmentFilesContainer) parentNode)
- .getTempJavaCodeFragmentFiles()
- .getServiceTempFiles();
- } else {
- tempJavaFragmentFiles = ((TempJavaCodeFragmentFilesContainer) parentNode)
- .getTempJavaCodeFragmentFiles()
- .getBeanTempFiles();
- }
+ TempJavaFragmentFiles tempJavaFragmentFiles = getNodesInterfaceFragmentFiles(parentNode);
JavaImportData parentImportData = tempJavaFragmentFiles.getJavaImportData();
boolean isQualified = parentImportData.addImportInfo(qualifiedTypeInfo);
return getAttributeInfoForTheData(qualifiedTypeInfo, curNodeName, null, isQualified, isListNode);
}
+ public static TempJavaFragmentFiles getNodesInterfaceFragmentFiles(YangNode node) {
+ TempJavaFragmentFiles tempJavaFragmentFiles;
+ if (node instanceof RpcNotificationContainer) {
+ tempJavaFragmentFiles = ((TempJavaCodeFragmentFilesContainer) node)
+ .getTempJavaCodeFragmentFiles()
+ .getServiceTempFiles();
+ } else {
+ tempJavaFragmentFiles = ((TempJavaCodeFragmentFilesContainer) node)
+ .getTempJavaCodeFragmentFiles()
+ .getBeanTempFiles();
+ }
+ return tempJavaFragmentFiles;
+ }
+
/**
* Adds parent's info to current node import list.
*
@@ -1448,9 +1171,11 @@
* Adds leaf attributes in generated files.
*
* @param listOfLeaves list of YANG leaf
+ * @param yangPluginConfig
* @throws IOException IO operation fail
*/
- private void addLeavesInfoToTempFiles(List<YangLeaf> listOfLeaves)
+ private void addLeavesInfoToTempFiles(List<YangLeaf> listOfLeaves,
+ YangPluginConfig yangPluginConfig)
throws IOException {
if (listOfLeaves != null) {
for (YangLeaf leaf : listOfLeaves) {
@@ -1461,7 +1186,8 @@
javaLeaf.updateJavaQualifiedInfo();
JavaAttributeInfo javaAttributeInfo = getAttributeInfoForTheData(
javaLeaf.getJavaQualifiedInfo(),
- javaLeaf.getName(), javaLeaf.getDataType(),
+ javaLeaf.getJavaName(yangPluginConfig.getConflictResolver()),
+ javaLeaf.getDataType(),
getIsQualifiedAccessOrAddToImportList(javaLeaf.getJavaQualifiedInfo()),
false);
addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfo);
@@ -1473,9 +1199,10 @@
* Adds leaf list's attributes in generated files.
*
* @param listOfLeafList list of YANG leaves
+ * @param yangPluginConfig
* @throws IOException IO operation fail
*/
- private void addLeafListInfoToTempFiles(List<YangLeafList> listOfLeafList)
+ private void addLeafListInfoToTempFiles(List<YangLeafList> listOfLeafList, YangPluginConfig yangPluginConfig)
throws IOException {
if (listOfLeafList != null) {
for (YangLeafList leafList : listOfLeafList) {
@@ -1486,7 +1213,8 @@
javaLeaf.updateJavaQualifiedInfo();
JavaAttributeInfo javaAttributeInfo = getAttributeInfoForTheData(
javaLeaf.getJavaQualifiedInfo(),
- javaLeaf.getName(), javaLeaf.getDataType(),
+ javaLeaf.getJavaName(yangPluginConfig.getConflictResolver()),
+ javaLeaf.getDataType(),
getIsQualifiedAccessOrAddToImportList(javaLeaf.getJavaQualifiedInfo()),
true);
addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfo);
@@ -1499,44 +1227,18 @@
* generated temporary file.
*
* @param curNode java file info of the generated file
+ * @param yangPluginConfig plugin config
* @throws IOException IO operation fail
*/
- void addCurNodeLeavesInfoToTempFiles(YangNode curNode)
+ public void addCurNodeLeavesInfoToTempFiles(YangNode curNode,
+ YangPluginConfig yangPluginConfig)
throws IOException {
if (!(curNode instanceof YangLeavesHolder)) {
throw new TranslatorException("Data model node does not have any leaves");
}
YangLeavesHolder leavesHolder = (YangLeavesHolder) curNode;
- addLeavesInfoToTempFiles(leavesHolder.getListOfLeaf());
- addLeafListInfoToTempFiles(leavesHolder.getListOfLeafList());
- }
-
- /**
- * Add all the type in the current data model node as part of the generated
- * temporary file.
- *
- * @param yangTypeContainer YANG java data model node which has type info, eg union /
- * typedef
- * @throws IOException IO operation fail
- */
- public void addTypeInfoToTempFiles(YangTypeContainer yangTypeContainer)
- throws IOException {
- List<YangType<?>> typeList = yangTypeContainer.getTypeList();
- if (typeList != null) {
- for (YangType<?> yangType : typeList) {
- if (!(yangType instanceof YangJavaType)) {
- throw new TranslatorException("Type does not have Java info");
- }
- YangJavaType<?> javaType = (YangJavaType<?>) yangType;
- javaType.updateJavaQualifiedInfo();
- JavaAttributeInfo javaAttributeInfo = getAttributeInfoForTheData(
- javaType.getJavaQualifiedInfo(),
- javaType.getDataTypeName(), javaType,
- getIsQualifiedAccessOrAddToImportList(javaType.getJavaQualifiedInfo()),
- false);
- addJavaSnippetInfoToApplicableTempFiles((YangNode) yangTypeContainer, javaAttributeInfo);
- }
- }
+ addLeavesInfoToTempFiles(leavesHolder.getListOfLeaf(), yangPluginConfig);
+ addLeafListInfoToTempFiles(leavesHolder.getListOfLeafList(), yangPluginConfig);
}
/**
@@ -1567,49 +1269,6 @@
}
/**
- * Adds the new attribute info to the target generated temporary files for
- * union class.
- *
- * @param hasType the node for which the type is being added as an attribute
- * @param javaAttributeInfo the attribute info that needs to be added to
- * temporary files
- * @throws IOException IO operation fail
- */
- private void addJavaSnippetInfoToApplicableTempFiles(YangNode hasType, JavaAttributeInfo javaAttributeInfo)
- throws IOException {
- JavaQualifiedTypeInfo qualifiedInfoOfFromString = getQualifiedInfoOfFromString(javaAttributeInfo);
- /*
- * Create a new java attribute info with qualified information of
- * wrapper classes.
- */
- JavaAttributeInfo fromStringAttributeInfo = getAttributeInfoForTheData(qualifiedInfoOfFromString,
- javaAttributeInfo.getAttributeName(),
- javaAttributeInfo.getAttributeType(),
- getIsQualifiedAccessOrAddToImportList(qualifiedInfoOfFromString), false);
- if ((getGeneratedTempFiles() & FROM_STRING_IMPL_MASK) != 0) {
- addFromStringMethod(javaAttributeInfo, fromStringAttributeInfo);
- }
- addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfo);
- }
-
- /**
- * Adds the JAVA rpc snippet information.
- *
- * @param javaAttributeInfoOfInput rpc's input node attribute info
- * @param javaAttributeInfoOfOutput rpc's output node attribute info
- * @param rpcName name of the rpc function
- * @throws IOException IO operation fail
- */
- public void addJavaSnippetInfoToApplicableTempFiles(JavaAttributeInfo javaAttributeInfoOfInput,
- JavaAttributeInfo javaAttributeInfoOfOutput,
- String rpcName)
- throws IOException {
- if ((getGeneratedTempFiles() & RPC_IMPL_MASK) != 0) {
- addRpcString(javaAttributeInfoOfInput, javaAttributeInfoOfOutput, rpcName);
- }
- }
-
- /**
* Adds the new attribute info to the target generated temporary files.
*
* @param newAttrInfo the attribute info that needs to be added to temporary
@@ -1618,24 +1277,25 @@
*/
void addJavaSnippetInfoToApplicableTempFiles(JavaAttributeInfo newAttrInfo)
throws IOException {
- isAttributePresent = true;
+ setAttributePresent(true);
if ((getGeneratedTempFiles() & ATTRIBUTES_MASK) != 0) {
addAttribute(newAttrInfo);
}
+
if ((getGeneratedTempFiles() & GETTER_FOR_INTERFACE_MASK) != 0) {
addGetterForInterface(newAttrInfo);
}
+
if ((getGeneratedTempFiles() & SETTER_FOR_INTERFACE_MASK) != 0) {
addSetterForInterface(newAttrInfo);
}
- if ((getGeneratedTempFiles() & GETTER_FOR_CLASS_MASK) != 0) {
- addGetterImpl(newAttrInfo, getGeneratedJavaFiles());
- }
+
if ((getGeneratedTempFiles() & SETTER_FOR_CLASS_MASK) != 0) {
addSetterImpl(newAttrInfo);
}
- if ((getGeneratedTempFiles() & CONSTRUCTOR_IMPL_MASK) != 0) {
- addConstructor(newAttrInfo);
+
+ if ((getGeneratedTempFiles() & GETTER_FOR_CLASS_MASK) != 0) {
+ addGetterImpl(newAttrInfo);
}
if ((getGeneratedTempFiles() & HASH_CODE_IMPL_MASK) != 0) {
addHashCodeMethod(newAttrInfo);
@@ -1649,12 +1309,6 @@
if ((getGeneratedTempFiles() & ENUM_IMPL_MASK) != 0) {
addAttributesForEnumClass(newAttrInfo);
}
- if ((getGeneratedTempFiles() & OF_STRING_IMPL_MASK) != 0) {
- addOfStringMethod(newAttrInfo);
- }
- if ((getGeneratedTempFiles() & CONSTRUCTOR_FOR_TYPE_MASK) != 0) {
- addTypeConstructor(newAttrInfo);
- }
}
/**
@@ -1663,7 +1317,7 @@
* @param suffix for the class name based on the file type
* @return java class name
*/
- private String getJavaClassName(String suffix) {
+ String getJavaClassName(String suffix) {
return getCaptialCase(getJavaFileInfo().getJavaName()) + suffix;
}
@@ -1686,24 +1340,21 @@
public void generateJavaFile(int fileType, YangNode curNode)
throws IOException {
List<String> imports = new ArrayList<>();
- if (isAttributePresent) {
+ if (isAttributePresent()) {
imports = getJavaImportData().getImports();
}
- /**
+ /*
* Prepares java file generator for extends list.
*/
prepareJavaFileGeneratorForExtendsList(getExtendsList());
- if (curNode.getNodeType().equals(MODULE_NODE)) {
- createPackage(absoluteDirPath, getJavaFileInfo().getJavaName());
- } else {
- createPackage(absoluteDirPath, ((JavaFileInfoContainer) curNode.getParent()).getJavaFileInfo().getJavaName()
- + PACKAGE_INFO_JAVADOC_OF_CHILD);
- }
- /**
+ createPackage(curNode);
+
+ /*
* Generate java code.
*/
- if ((fileType & INTERFACE_MASK) != 0 | (fileType & BUILDER_INTERFACE_MASK) != 0) {
- /**
+ if ((fileType & INTERFACE_MASK) != 0 || (fileType &
+ BUILDER_INTERFACE_MASK) != 0) {
+ /*
* Adds import for case.
*/
if (curNode instanceof YangCase) {
@@ -1715,7 +1366,7 @@
}
}
}
- /**
+ /*
* Adds import for HasAugmentation class.
*/
if (isHasAugmentationExtended(getExtendsList())) {
@@ -1724,21 +1375,22 @@
if (isAugmentedInfoExtended(getExtendsList())) {
addAugmentedInfoImport(curNode, imports, true);
}
- /**
+ /*
* Create interface file.
*/
setInterfaceJavaFileHandle(getJavaFileHandle(getJavaClassName(INTERFACE_FILE_NAME_SUFFIX)));
setInterfaceJavaFileHandle(
- generateInterfaceFile(getInterfaceJavaFileHandle(), imports, curNode, isAttributePresent));
- /**
+ generateInterfaceFile(getInterfaceJavaFileHandle(), imports, curNode, isAttributePresent()));
+ /*
* Create builder interface file.
*/
if ((fileType & BUILDER_INTERFACE_MASK) != 0) {
setBuilderInterfaceJavaFileHandle(
getJavaFileHandle(getJavaClassName(BUILDER_INTERFACE_FILE_NAME_SUFFIX)));
setBuilderInterfaceJavaFileHandle(
- generateBuilderInterfaceFile(getBuilderInterfaceJavaFileHandle(), curNode, isAttributePresent));
- /**
+ generateBuilderInterfaceFile(getBuilderInterfaceJavaFileHandle(), curNode,
+ isAttributePresent()));
+ /*
* Append builder interface file to interface file and close it.
*/
mergeJavaFiles(getBuilderInterfaceJavaFileHandle(), getInterfaceJavaFileHandle());
@@ -1754,68 +1406,61 @@
removeCaseImport(imports);
}
}
- if ((fileType & BUILDER_CLASS_MASK) != 0 | (fileType & IMPL_CLASS_MASK) != 0) {
- if (isAttributePresent) {
+ if (((fileType & GENERATE_SERVICE_AND_MANAGER) != 0)
+ && ((fileType & BUILDER_CLASS_MASK) != 0 || (fileType & IMPL_CLASS_MASK) != 0)) {
+ if (isAttributePresent()) {
addImportsToStringAndHasCodeMethods(curNode, imports);
}
if (isHasAugmentationExtended(getExtendsList())) {
addAugmentedInfoImport(curNode, imports, true);
addArrayListImport(curNode, imports, true);
}
- /**
+ /*
* Create builder class file.
*/
setBuilderClassJavaFileHandle(getJavaFileHandle(getJavaClassName(BUILDER_CLASS_FILE_NAME_SUFFIX)));
setBuilderClassJavaFileHandle(
- generateBuilderClassFile(getBuilderClassJavaFileHandle(), imports, curNode, isAttributePresent));
- /**
+ generateBuilderClassFile(getBuilderClassJavaFileHandle(), imports, curNode, isAttributePresent()));
+ /*
* Create impl class file.
*/
if ((fileType & IMPL_CLASS_MASK) != 0) {
setImplClassJavaFileHandle(getJavaFileHandle(getJavaClassName(IMPL_CLASS_FILE_NAME_SUFFIX)));
setImplClassJavaFileHandle(
- generateImplClassFile(getImplClassJavaFileHandle(), curNode, isAttributePresent));
- /**
+ generateImplClassFile(getImplClassJavaFileHandle(), curNode, isAttributePresent()));
+ /*
* Append impl class to builder class and close it.
*/
mergeJavaFiles(getImplClassJavaFileHandle(), getBuilderClassJavaFileHandle());
}
insertDataIntoJavaFile(getBuilderClassJavaFileHandle(), getJavaClassDefClose());
}
- /**
- * Creates type def class file.
- */
- if ((fileType & GENERATE_TYPEDEF_CLASS) != 0) {
- addImportsToStringAndHasCodeMethods(curNode, imports);
- setTypedefClassJavaFileHandle(getJavaFileHandle(getJavaClassName(TYPEDEF_CLASS_FILE_NAME_SUFFIX)));
- setTypedefClassJavaFileHandle(generateTypeDefClassFile(getTypedefClassJavaFileHandle(), curNode, imports));
- }
- /**
- * Creates type class file.
- */
- if ((fileType & GENERATE_UNION_CLASS) != 0) {
- addImportsToStringAndHasCodeMethods(curNode, imports);
- setTypeClassJavaFileHandle(getJavaFileHandle(getJavaClassName(UNION_TYPE_CLASS_FILE_NAME_SUFFIX)));
- setTypeClassJavaFileHandle(generateUnionClassFile(getTypeClassJavaFileHandle(), curNode, imports));
- }
- /**
+
+ /*
* Creates type enum class file.
*/
if ((fileType & GENERATE_ENUM_CLASS) != 0) {
setEnumClassJavaFileHandle(getJavaFileHandle(getJavaClassName(ENUM_CLASS_FILE_NAME_SUFFIX)));
setEnumClassJavaFileHandle(generateEnumClassFile(getEnumClassJavaFileHandle(), curNode));
}
- /**
- * Creates rpc interface file.
- */
- if ((fileType & GENERATE_RPC_INTERFACE) != 0) {
- setRpcInterfaceJavaFileHandle(getJavaFileHandle(getJavaClassName(RPC_INTERFACE_FILE_NAME_SUFFIX)));
- setRpcInterfaceJavaFileHandle(generateRpcInterfaceFile(getRpcInterfaceJavaFileHandle(), curNode, imports));
- }
- /**
+
+ /*
* Close all the file handles.
*/
- close(false);
+ freeTemporaryResources(false);
+ }
+
+ /**
+ * Adds imports for ToString and HashCodeMethod.
+ *
+ * @param curNode current YANG node
+ * @param imports import list
+ * @return import list
+ */
+ public List<String> addImportsToStringAndHasCodeMethods(YangNode curNode, List<String> imports) {
+ imports.add(getJavaImportData().getImportForHashAndEquals());
+ imports.add(getJavaImportData().getImportForToString());
+ return imports;
}
/**
@@ -1841,10 +1486,10 @@
* and java files.
* @throws IOException when failed to delete the temporary files
*/
- public void close(boolean isErrorOccurred)
+ public void freeTemporaryResources(boolean isErrorOccurred)
throws IOException {
boolean isError = isErrorOccurred;
- /**
+ /*
* Close all java file handles and when error occurs delete the files.
*/
if ((getGeneratedJavaFiles() & INTERFACE_MASK) != 0) {
@@ -1859,36 +1504,17 @@
if ((getGeneratedJavaFiles() & IMPL_CLASS_MASK) != 0) {
closeFile(getImplClassJavaFileHandle(), true);
}
- if ((getGeneratedJavaFiles() & GENERATE_TYPEDEF_CLASS) != 0) {
- closeFile(getTypedefClassJavaFileHandle(), isError);
- }
+
if ((getGeneratedJavaFiles() & GENERATE_ENUM_CLASS) != 0) {
closeFile(getEnumClassJavaFileHandle(), isError);
}
- if ((getGeneratedJavaFiles() & GENERATE_UNION_CLASS) != 0) {
- closeFile(getTypeClassJavaFileHandle(), isError);
- }
- if ((getGeneratedJavaFiles() & GENERATE_RPC_INTERFACE) != 0) {
- closeFile(getRpcInterfaceJavaFileHandle(), isError);
- }
- /**
+
+ /*
* Close all temporary file handles and delete the files.
*/
- if ((getGeneratedTempFiles() & GETTER_FOR_INTERFACE_MASK) != 0) {
- closeFile(getGetterInterfaceTempFileHandle(), true);
- }
if ((getGeneratedTempFiles() & GETTER_FOR_CLASS_MASK) != 0) {
closeFile(getGetterImplTempFileHandle(), true);
}
- if ((getGeneratedTempFiles() & SETTER_FOR_INTERFACE_MASK) != 0) {
- closeFile(getSetterInterfaceTempFileHandle(), true);
- }
- if ((getGeneratedTempFiles() & SETTER_FOR_CLASS_MASK) != 0) {
- closeFile(getSetterImplTempFileHandle(), true);
- }
- if ((getGeneratedTempFiles() & CONSTRUCTOR_IMPL_MASK) != 0) {
- closeFile(getConstructorImplTempFileHandle(), true);
- }
if ((getGeneratedTempFiles() & ATTRIBUTES_MASK) != 0) {
closeFile(getAttributesTempFileHandle(), true);
}
@@ -1904,20 +1530,6 @@
if ((getGeneratedTempFiles() & ENUM_IMPL_MASK) != 0) {
closeFile(getEnumClassTempFileHandle(), true);
}
- if ((getGeneratedTempFiles() & CONSTRUCTOR_FOR_TYPE_MASK) != 0) {
- closeFile(getConstructorForTypeTempFileHandle(), true);
- }
- if ((getGeneratedTempFiles() & OF_STRING_IMPL_MASK) != 0) {
- closeFile(getOfStringImplTempFileHandle(), true);
- }
- if ((getGeneratedTempFiles() & FROM_STRING_IMPL_MASK) != 0) {
- closeFile(getFromStringImplTempFileHandle(), true);
- }
- if ((getGeneratedTempFiles() & RPC_IMPL_MASK) != 0) {
- closeFile(getRpcInterfaceImplTempFileHandle(), true);
- }
- clean(getTempDirPath());
- clearGeneratedTempFiles();
}
/**