[ONOS-4302] RPC translator implementation
Change-Id: I457f12a2b0edaadee5ff888e0297b40854d53096
diff --git a/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java b/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
index 0ecaaa1..c793cd6 100644
--- a/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
+++ b/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
@@ -18,6 +18,8 @@
import org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase;
import static org.onosproject.yangutils.utils.UtilConstants.BUILDER;
import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_CLASS_JAVA_DOC;
import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_INTERFACE_JAVA_DOC;
@@ -40,6 +42,7 @@
import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_OF;
import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_PARAM;
import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_RETURN;
+import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_RPC;
import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_SETTERS;
import static org.onosproject.yangutils.utils.UtilConstants.JAVA_DOC_SETTERS_COMMON;
import static org.onosproject.yangutils.utils.UtilConstants.LIST;
@@ -49,6 +52,8 @@
import static org.onosproject.yangutils.utils.UtilConstants.OF;
import static org.onosproject.yangutils.utils.UtilConstants.PACKAGE_INFO_JAVADOC;
import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
+import static org.onosproject.yangutils.utils.UtilConstants.RPC_INPUT_STRING;
+import static org.onosproject.yangutils.utils.UtilConstants.RPC_OUTPUT_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.VALUE;
@@ -100,6 +105,11 @@
GETTER_METHOD,
/**
+ * For rpc.
+ */
+ RPC_INTERFACE,
+
+ /**
* For setters.
*/
SETTER_METHOD,
@@ -125,9 +135,9 @@
CONSTRUCTOR,
/**
- * For union's from method.
+ * For from method.
*/
- UNION_FROM_METHOD,
+ FROM_METHOD,
/**
* For type constructor.
@@ -160,42 +170,60 @@
*/
public static String getJavaDoc(JavaDocType type, String name, boolean isList) {
- name = JavaIdentifierSyntax.getSmallCase(JavaIdentifierSyntax.getCamelCase(name, null));
- String javaDoc;
- if (type.equals(JavaDocType.IMPL_CLASS)) {
- javaDoc = generateForImplClass(name);
- } else if (type.equals(JavaDocType.BUILDER_CLASS)) {
- javaDoc = generateForBuilderClass(name);
- } else if (type.equals(JavaDocType.INTERFACE)) {
- javaDoc = generateForInterface(name);
- } else if (type.equals(JavaDocType.BUILDER_INTERFACE)) {
- javaDoc = generateForBuilderInterface(name);
- } else if (type.equals(JavaDocType.PACKAGE_INFO)) {
- javaDoc = generateForPackage(name);
- } else if (type.equals(JavaDocType.GETTER_METHOD)) {
- javaDoc = generateForGetters(name, isList);
- } else if (type.equals(JavaDocType.TYPE_DEF_SETTER_METHOD)) {
- javaDoc = generateForTypeDefSetter(name);
- } else if (type.equals(JavaDocType.SETTER_METHOD)) {
- javaDoc = generateForSetters(name, isList);
- } else if (type.equals(JavaDocType.OF_METHOD)) {
- javaDoc = generateForOf(name);
- } else if (type.equals(JavaDocType.DEFAULT_CONSTRUCTOR)) {
- javaDoc = generateForDefaultConstructors(name);
- } else if (type.equals(JavaDocType.BUILD_METHOD)) {
- javaDoc = generateForBuild(name);
- } else if (type.equals(JavaDocType.TYPE_CONSTRUCTOR)) {
- javaDoc = generateForTypeConstructor(name);
- } else if (type.equals(JavaDocType.UNION_FROM_METHOD)) {
- javaDoc = generateForUnionFrom(name);
- } else if (type.equals(JavaDocType.ENUM_CLASS)) {
- javaDoc = generateForEnum(name);
- } else if (type.equals(JavaDocType.ENUM_ATTRIBUTE)) {
- javaDoc = generateForEnumAttr(name);
- } else {
- javaDoc = generateForConstructors(name);
+ name = JavaIdentifierSyntax.getSmallCase(getCamelCase(name, null));
+ switch (type) {
+ case IMPL_CLASS: {
+ return generateForImplClass(name);
+ }
+ case BUILDER_CLASS: {
+ return generateForBuilderClass(name);
+ }
+ case INTERFACE: {
+ return generateForInterface(name);
+ }
+ case BUILDER_INTERFACE: {
+ return generateForBuilderInterface(name);
+ }
+ case PACKAGE_INFO: {
+ return generateForPackage(name);
+ }
+ case GETTER_METHOD: {
+ return generateForGetters(name, isList);
+ }
+ case TYPE_DEF_SETTER_METHOD: {
+ return generateForTypeDefSetter(name);
+ }
+ case SETTER_METHOD: {
+ return generateForSetters(name, isList);
+ }
+ case OF_METHOD: {
+ return generateForOf(name);
+ }
+ case DEFAULT_CONSTRUCTOR: {
+ return generateForDefaultConstructors(name);
+ }
+ case BUILD_METHOD: {
+ return generateForBuild(name);
+ }
+ case TYPE_CONSTRUCTOR: {
+ return generateForTypeConstructor(name);
+ }
+ case FROM_METHOD: {
+ return generateForFromString(name);
+ }
+ case ENUM_CLASS: {
+ return generateForEnum(name);
+ }
+ case ENUM_ATTRIBUTE: {
+ return generateForEnumAttr(name);
+ }
+ case RPC_INTERFACE: {
+ return generateForRpcInterface(name);
+ }
+ default: {
+ return generateForConstructors(name);
+ }
}
- return javaDoc;
}
/**
@@ -210,6 +238,62 @@
}
/**
+ * Generates javaDocs for rpc method.
+ *
+ * @param rpcName name of the rpc
+ * @param inputName name of input
+ * @param outputName name of output
+ * @return javaDocs of rpc method
+ */
+ public static String generateJavaDocForRpc(String rpcName, String inputName, String outputName) {
+ rpcName = getCamelCase(rpcName, null);
+ inputName = getCaptialCase(inputName);
+ outputName = getCaptialCase(outputName);
+
+ return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_RPC
+ + rpcName + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
+ + getInputString(inputName, rpcName) + getOutputString(outputName, rpcName) + FOUR_SPACE_INDENTATION
+ + JAVA_DOC_END_LINE;
+ }
+
+ /**
+ * Returns output string of rpc.
+ *
+ * @param outputName name of output
+ * @param rpcName name of rpc
+ * @return javaDocs for output string of rpc
+ */
+ private static String getOutputString(String outputName, String rpcName) {
+ return FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + outputName + SPACE + RPC_OUTPUT_STRING + rpcName + NEW_LINE;
+ }
+
+ /**
+ * Returns input string of rpc.
+ *
+ * @param inputName name of input
+ * @param rpcName name of rpc
+ * @return javaDocs for input string of rpc
+ */
+ private static String getInputString(String inputName, String rpcName) {
+ if (inputName.equals("")) {
+ return null;
+ } else {
+ return FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + inputName + SPACE + RPC_INPUT_STRING + rpcName + NEW_LINE;
+ }
+ }
+
+ /**
+ * Generates javaDoc for the interface.
+ *
+ * @param interfaceName interface name
+ * @return javaDocs
+ */
+ private static String generateForRpcInterface(String interfaceName) {
+ return NEW_LINE + JAVA_DOC_FIRST_LINE + INTERFACE_JAVA_DOC + interfaceName + PERIOD + NEW_LINE
+ + JAVA_DOC_END_LINE;
+ }
+
+ /**
* Generates javaDocs for getter method.
*
* @param attribute attribute
@@ -275,7 +359,7 @@
* @param attribute attribute
* @return javaDocs
*/
- private static String generateForUnionFrom(String attribute) {
+ private static String generateForFromString(String attribute) {
return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_OF
+ attribute + SPACE + FROM_STRING_METHOD_NAME + SPACE + INPUT + SPACE + STRING_DATA_TYPE + PERIOD