[ONOS-4411,ONOS-4413,ONOS-4526] Yang Enumeration Translator and Defect fixes.

Change-Id: Ie5b6b5d6d6df283a57ae06b1979f0d03022f3baf
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
index fdf876d..335de7f 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
@@ -19,7 +19,6 @@
 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;
@@ -54,12 +53,14 @@
 import static org.onosproject.yangutils.utils.UtilConstants.OBJECT;
 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.PACKAGE_INFO_JAVADOC_OF_CHILD;
 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;
+import static org.onosproject.yangutils.utils.UtilConstants.VOID;
 
 /**
  * Represents javadoc for the generated classes.
@@ -108,11 +109,16 @@
         GETTER_METHOD,
 
         /**
-         * For rpc.
+         * For rpc service.
          */
         RPC_INTERFACE,
 
         /**
+         * For rpc manager.
+         */
+        RPC_MANAGER,
+
+        /**
          * For event.
          */
         EVENT,
@@ -203,7 +209,7 @@
                 return generateForBuilderInterface(name);
             }
             case PACKAGE_INFO: {
-                return generateForPackage(name);
+                return generateForPackage(name, isList);
             }
             case GETTER_METHOD: {
                 return generateForGetters(name, isList);
@@ -239,7 +245,10 @@
                 return generateForEnumAttr(name);
             }
             case RPC_INTERFACE: {
-                return generateForRpcInterface(name);
+               return generateForRpcService(name);
+            }
+            case RPC_MANAGER: {
+               return generateForImplClass(name);
             }
             case EVENT: {
                 return generateForEvent(name);
@@ -274,13 +283,14 @@
      */
     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
+        String javadoc = 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;
+                + getInputString(inputName, rpcName);
+        if (!outputName.equals(VOID)) {
+            javadoc = javadoc + getOutputString(outputName, rpcName);
+        }
+        return javadoc + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
     }
 
     /**
@@ -315,7 +325,7 @@
      * @param interfaceName interface name
      * @return javaDocs
      */
-    private static String generateForRpcInterface(String interfaceName) {
+    private static String generateForRpcService(String interfaceName) {
         return NEW_LINE + JAVA_DOC_FIRST_LINE + INTERFACE_JAVA_DOC + interfaceName + PERIOD + NEW_LINE
                 + JAVA_DOC_END_LINE;
     }
@@ -436,7 +446,7 @@
         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
                 + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM
-                + FROM_STRING_PARAM_NAME + SPACE + INPUT + SPACE + STRING_DATA_TYPE + PERIOD + NEW_LINE
+                + FROM_STRING_PARAM_NAME + SPACE + INPUT + SPACE + STRING_DATA_TYPE + NEW_LINE
                 + FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + OBJECT + SPACE + OF + SPACE + attribute + NEW_LINE
                 + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
     }
@@ -512,10 +522,15 @@
      * Generates javaDocs for package-info.
      *
      * @param packageName package name
+     * @param isChildNode is it child node
      * @return javaDocs
      */
-    private static String generateForPackage(String packageName) {
-        return JAVA_DOC_FIRST_LINE + PACKAGE_INFO_JAVADOC + packageName + PERIOD + NEW_LINE + JAVA_DOC_END_LINE;
+    private static String generateForPackage(String packageName, boolean isChildNode) {
+        String javaDoc = JAVA_DOC_FIRST_LINE + PACKAGE_INFO_JAVADOC + packageName;
+        if (isChildNode) {
+            javaDoc = javaDoc + PACKAGE_INFO_JAVADOC_OF_CHILD;
+        }
+        return javaDoc + PERIOD + NEW_LINE + JAVA_DOC_END_LINE;
     }
 
     /**
@@ -536,11 +551,10 @@
      * @return javaDocs
      */
     private static String generateForConstructors(String className) {
-        return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE
-                + FOUR_SPACE_INDENTATION + JAVA_DOC_CONSTRUCTOR + className + IMPL + PERIOD + NEW_LINE
-                + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM
-                + BUILDER.toLowerCase() + OBJECT + SPACE + BUILDER_OBJECT + className + NEW_LINE
-                + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
+        return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_CONSTRUCTOR
+                + className + IMPL + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
+                + FOUR_SPACE_INDENTATION + JAVA_DOC_PARAM + BUILDER.toLowerCase() + OBJECT + SPACE + BUILDER_OBJECT
+                + className + NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
     }
 
     /**