[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/utils/MethodsGenerator.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
index 6723ce5..c4da89a 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
@@ -17,7 +17,9 @@
package org.onosproject.yangutils.translator.tojava.utils;
import org.onosproject.yangutils.translator.tojava.JavaAttributeInfo;
+import org.onosproject.yangutils.utils.io.impl.JavaDocGen;
+import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER;
import static org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType.getParseFromStringMethod;
import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase;
import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase;
@@ -88,11 +90,13 @@
import static org.onosproject.yangutils.utils.UtilConstants.TWELVE_SPACE_INDENTATION;
import static org.onosproject.yangutils.utils.UtilConstants.VALUE;
import static org.onosproject.yangutils.utils.UtilConstants.VOID;
+import static org.onosproject.yangutils.utils.UtilConstants.YANG_UTILS_TODO;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.BUILD_METHOD;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.CONSTRUCTOR;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.DEFAULT_CONSTRUCTOR;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.FROM_METHOD;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD;
+import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.MANAGER_SETTER_METHOD;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.OF_METHOD;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.SETTER_METHOD;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.TYPE_CONSTRUCTOR;
@@ -124,15 +128,16 @@
* Returns getter string.
*
* @param attr attribute info
+ * @param generatedJavaFiles generated java files
* @return getter string
*/
- public static String getGetterString(JavaAttributeInfo attr) {
+ public static String getGetterString(JavaAttributeInfo attr, int generatedJavaFiles) {
String returnType = getReturnType(attr);
String attributeName = getSmallCase(attr.getAttributeName());
return getJavaDoc(GETTER_METHOD, attributeName, attr.isListAttr())
- + getGetterForInterface(attributeName, returnType, attr.isListAttr());
+ + getGetterForInterface(attributeName, returnType, attr.isListAttr(), generatedJavaFiles);
}
/**
@@ -140,15 +145,22 @@
*
* @param attr attribute info
* @param className java class name
+ * @param generatedJavaFiles generated java files
* @return setter string
*/
- public static String getSetterString(JavaAttributeInfo attr, String className) {
+ public static String getSetterString(JavaAttributeInfo attr, String className, int generatedJavaFiles) {
String attrType = getReturnType(attr);
String attributeName = getSmallCase(attr.getAttributeName());
+ JavaDocGen.JavaDocType type;
+ if (generatedJavaFiles == GENERATE_SERVICE_AND_MANAGER) {
+ type = MANAGER_SETTER_METHOD;
+ } else {
+ type = SETTER_METHOD;
+ }
- return getJavaDoc(SETTER_METHOD, attributeName, attr.isListAttr())
- + getSetterForInterface(attributeName, attrType, className, attr.isListAttr());
+ return getJavaDoc(type, attributeName, attr.isListAttr())
+ + getSetterForInterface(attributeName, attrType, className, attr.isListAttr(), generatedJavaFiles);
}
/**
@@ -198,18 +210,19 @@
* Returns the getter method strings for class file.
*
* @param attr attribute info
+ * @param generatedJavaFiles for the type of java file being generated
* @return getter method for class
*/
- public static String getGetterForClass(JavaAttributeInfo attr) {
+ public static String getGetterForClass(JavaAttributeInfo attr, int generatedJavaFiles) {
String attrQuaifiedType = getReturnType(attr);
String attributeName = getSmallCase(attr.getAttributeName());
if (!attr.isListAttr()) {
- return getGetter(attrQuaifiedType, attributeName);
+ return getGetter(attrQuaifiedType, attributeName, generatedJavaFiles);
}
String listAttr = getListString() + attrQuaifiedType + DIAMOND_CLOSE_BRACKET;
- return getGetter(listAttr, attributeName);
+ return getGetter(listAttr, attributeName, generatedJavaFiles);
}
/**
@@ -217,12 +230,22 @@
*
* @param type return type
* @param name attribute name
+ * @param generatedJavaFiles generated java files
* @return getter for attribute
*/
- public static String getGetter(String type, String name) {
- return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + type + SPACE + GET_METHOD_PREFIX + getCaptialCase(name)
- + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION
- + RETURN + SPACE + name + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET;
+ public static String getGetter(String type, String name, int generatedJavaFiles) {
+ if ((generatedJavaFiles & GENERATE_SERVICE_AND_MANAGER) != 0) {
+ return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + type + SPACE + GET_METHOD_PREFIX + getCaptialCase(name)
+ + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE +
+ EIGHT_SPACE_INDENTATION + YANG_UTILS_TODO + NEW_LINE + EIGHT_SPACE_INDENTATION +
+ RETURN + SPACE + NULL + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET;
+ } else {
+ return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + type + SPACE + name
+ + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE +
+ EIGHT_SPACE_INDENTATION + RETURN + SPACE + name + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION
+ + CLOSE_CURLY_BRACKET;
+ }
+
}
/**
@@ -230,17 +253,18 @@
*
* @param attr attribute info
* @param className name of the class
+ * @param generatedJavaFiles generated java files
* @return setter method for class
*/
- public static String getSetterForClass(JavaAttributeInfo attr, String className) {
+ public static String getSetterForClass(JavaAttributeInfo attr, String className, int generatedJavaFiles) {
String attrQuaifiedType = getReturnType(attr);
String attributeName = getSmallCase(attr.getAttributeName());
if (!attr.isListAttr()) {
- return getSetter(className, attributeName, attrQuaifiedType);
+ return getSetter(className, attributeName, attrQuaifiedType, generatedJavaFiles);
}
String listAttr = getListString() + attrQuaifiedType + DIAMOND_CLOSE_BRACKET;
- return getSetter(className, attributeName, listAttr);
+ return getSetter(className, attributeName, listAttr, generatedJavaFiles);
}
/**
@@ -251,12 +275,19 @@
* @param type return type
* @return setter for attribute
*/
- private static String getSetter(String className, String name, String type) {
- return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + className + BUILDER + SPACE + SET_METHOD_PREFIX
- + getCaptialCase(name) + OPEN_PARENTHESIS + type + SPACE + name + CLOSE_PARENTHESIS + SPACE
- + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + THIS + PERIOD + name + SPACE + EQUAL + SPACE
- + name + SEMI_COLAN + NEW_LINE + EIGHT_SPACE_INDENTATION + RETURN + SPACE + THIS + SEMI_COLAN
- + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET;
+ private static String getSetter(String className, String name, String type, int generatedJavaFiles) {
+ if ((generatedJavaFiles & GENERATE_SERVICE_AND_MANAGER) != 0) {
+ return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + VOID + SPACE + SET_METHOD_PREFIX
+ + getCaptialCase(name) + OPEN_PARENTHESIS + type + SPACE + name + CLOSE_PARENTHESIS + SPACE +
+ OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + YANG_UTILS_TODO +
+ NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET;
+ } else {
+ return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + className + BUILDER + SPACE +
+ name + OPEN_PARENTHESIS + type + SPACE + name + CLOSE_PARENTHESIS + SPACE
+ + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + THIS + PERIOD + name + SPACE + EQUAL +
+ SPACE + name + SEMI_COLAN + NEW_LINE + EIGHT_SPACE_INDENTATION + RETURN + SPACE + THIS +
+ SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET;
+ }
}
/**
@@ -301,15 +332,17 @@
* @param yangName name of the attribute
* @param returnType return type of attribute
* @param isList is list attribute
+ * @param generatedJavaFiles generated java files
* @return getter method for interface
*/
- public static String getGetterForInterface(String yangName, String returnType, boolean isList) {
+ public static String getGetterForInterface(String yangName, String returnType, boolean isList,
+ int generatedJavaFiles) {
if (!isList) {
- return getGetterInterfaceString(returnType, yangName);
+ return getGetterInterfaceString(returnType, yangName, generatedJavaFiles);
}
String listAttr = getListString() + returnType + DIAMOND_CLOSE_BRACKET;
- return getGetterInterfaceString(listAttr, yangName);
+ return getGetterInterfaceString(listAttr, yangName, generatedJavaFiles);
}
/**
@@ -319,9 +352,15 @@
* @param yangName attribute name
* @return getter for interface
*/
- private static String getGetterInterfaceString(String returnType, String yangName) {
- return FOUR_SPACE_INDENTATION + returnType + SPACE + GET_METHOD_PREFIX + getCaptialCase(yangName)
- + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN;
+ private static String getGetterInterfaceString(String returnType, String yangName,
+ int generatedJavaFiles) {
+ if ((generatedJavaFiles & GENERATE_SERVICE_AND_MANAGER) != 0) {
+ return FOUR_SPACE_INDENTATION + returnType + SPACE + GET_METHOD_PREFIX + getCaptialCase(yangName)
+ + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN;
+ } else {
+ return FOUR_SPACE_INDENTATION + returnType + SPACE + yangName
+ + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN;
+ }
}
/**
@@ -331,15 +370,17 @@
* @param attrType return type of attribute
* @param className name of the java class being generated
* @param isList is list attribute
+ * @param generatedJavaFiles generated java files
* @return setter method for interface
*/
- public static String getSetterForInterface(String attrName, String attrType, String className, boolean isList) {
+ public static String getSetterForInterface(String attrName, String attrType, String className,
+ boolean isList, int generatedJavaFiles) {
if (!isList) {
- return getSetterInterfaceString(className, attrName, attrType);
+ return getSetterInterfaceString(className, attrName, attrType, generatedJavaFiles);
}
String listAttr = getListString() + attrType + DIAMOND_CLOSE_BRACKET;
- return getSetterInterfaceString(className, attrName, listAttr);
+ return getSetterInterfaceString(className, attrName, listAttr, generatedJavaFiles);
}
/**
@@ -350,9 +391,16 @@
* @param attrType attribute type
* @return setter string
*/
- private static String getSetterInterfaceString(String className, String attrName, String attrType) {
- return FOUR_SPACE_INDENTATION + className + BUILDER + SPACE + SET_METHOD_PREFIX + getCaptialCase(attrName)
- + OPEN_PARENTHESIS + attrType + SPACE + attrName + CLOSE_PARENTHESIS + SEMI_COLAN;
+ private static String getSetterInterfaceString(String className, String attrName, String attrType,
+ int generatedJavaFiles) {
+ if ((generatedJavaFiles & GENERATE_SERVICE_AND_MANAGER) != 0) {
+
+ return FOUR_SPACE_INDENTATION + VOID + SPACE + SET_METHOD_PREFIX + getCaptialCase(attrName)
+ + OPEN_PARENTHESIS + attrType + SPACE + attrName + CLOSE_PARENTHESIS + SEMI_COLAN;
+ } else {
+ return FOUR_SPACE_INDENTATION + className + BUILDER + SPACE + attrName
+ + OPEN_PARENTHESIS + attrType + SPACE + attrName + CLOSE_PARENTHESIS + SEMI_COLAN;
+ }
}
/**
@@ -411,17 +459,26 @@
*
* @param yangName name of the class
* @param attr attribute info
+ * @param generatedJavaFiles generated java files
* @return constructor for class
*/
- public static String getConstructor(String yangName, JavaAttributeInfo attr) {
+ public static String getConstructor(String yangName, JavaAttributeInfo attr, int generatedJavaFiles) {
String attributeName = getSmallCase(attr.getAttributeName());
+ String constructor;
- String constructor = EIGHT_SPACE_INDENTATION + THIS + PERIOD + getCamelCase(attributeName, null) + SPACE + EQUAL
- + SPACE + BUILDER.toLowerCase() + OBJECT + PERIOD + GET_METHOD_PREFIX
- + getCaptialCase(getCamelCase(attributeName, null)) + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN
- + NEW_LINE;
-
+ if ((generatedJavaFiles & GENERATE_SERVICE_AND_MANAGER) != 0) {
+ constructor = EIGHT_SPACE_INDENTATION + THIS + PERIOD + getCamelCase(attributeName, null) + SPACE + EQUAL
+ + SPACE + BUILDER.toLowerCase() + OBJECT + PERIOD + GET_METHOD_PREFIX
+ + getCaptialCase(getCamelCase(attributeName, null)) + OPEN_PARENTHESIS + CLOSE_PARENTHESIS +
+ SEMI_COLAN
+ + NEW_LINE;
+ } else {
+ constructor = EIGHT_SPACE_INDENTATION + THIS + PERIOD + getCamelCase(attributeName, null) + SPACE + EQUAL
+ + SPACE + BUILDER.toLowerCase() + OBJECT + PERIOD + getCamelCase(attributeName, null) +
+ OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN
+ + NEW_LINE;
+ }
return constructor;
}
@@ -433,7 +490,7 @@
* @param outputName name of output
* @return rpc method string
*/
- public static String getRpcStringMethod(String rpcName, String inputName, String outputName) {
+ public static String getRpcServiceMethod(String rpcName, String inputName, String outputName) {
rpcName = getSmallCase(getCamelCase(rpcName, null));
inputName = getCaptialCase(inputName);
@@ -444,6 +501,32 @@
}
/**
+ * Returns the rpc strings for manager impl.
+ *
+ * @param rpcName name of the rpc
+ * @param inputName name of input
+ * @param outputName name of output
+ * @return rpc method string
+ */
+ public static String getRpcManagerMethod(String rpcName, String inputName, String outputName) {
+
+ rpcName = getSmallCase(getCamelCase(rpcName, null));
+ inputName = getCaptialCase(inputName);
+ outputName = getCaptialCase(outputName);
+
+ String method = getOverRideString() +
+ FOUR_SPACE_INDENTATION + PUBLIC + SPACE + outputName + SPACE + rpcName + OPEN_PARENTHESIS
+ + inputName + SPACE + RPC_INPUT_VAR_NAME + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET
+ + NEW_LINE + EIGHT_SPACE_INDENTATION + YANG_UTILS_TODO + NEW_LINE;
+ if (!outputName.contentEquals(VOID)) {
+ method += EIGHT_SPACE_INDENTATION + RETURN + SPACE + NULL + SEMI_COLAN + NEW_LINE;
+ }
+ method += FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET;
+
+ return method;
+ }
+
+ /**
* Returns the build method strings for class file.
*
* @param yangName class name