[ONOS-5274] Removal of rpc prfixed input and output from data model.
Change-Id: I14abf404eaf272e2b1457fa14d23117b4c0beaa7
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/InputListener.java b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/InputListener.java
index 3003d56..0b7e116 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/InputListener.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/InputListener.java
@@ -39,6 +39,7 @@
 import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.UNHANDLED_PARSED_DATA;
 import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.checkStackIsNotEmpty;
 import static org.onosproject.yangutils.translator.tojava.YangDataModelFactory.getYangInputNode;
+import static org.onosproject.yangutils.utils.UtilConstants.INPUT;
 
 /*
  * Reference: RFC6020 and YANG ANTLR Grammar
@@ -67,8 +68,6 @@
  */
 public final class InputListener {
 
-    private static final String INPUT_KEYWORD = "_input";
-
     /**
      * Creates a new input listener.
      */
@@ -92,8 +91,7 @@
         if (curData instanceof YangRpc) {
 
             YangInput yangInput = getYangInputNode(JAVA_GENERATION);
-            yangInput.setName(((YangRpc) curData).getName() + INPUT_KEYWORD);
-
+            yangInput.setName(INPUT);
             yangInput.setLineNumber(ctx.getStart().getLine());
             yangInput.setCharPosition(ctx.getStart().getCharPositionInLine());
             yangInput.setFileName(listener.getFileName());
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OutputListener.java b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OutputListener.java
index 70c135f..6ae74b8 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OutputListener.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OutputListener.java
@@ -39,6 +39,7 @@
 import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.UNHANDLED_PARSED_DATA;
 import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.checkStackIsNotEmpty;
 import static org.onosproject.yangutils.translator.tojava.YangDataModelFactory.getYangOutputNode;
+import static org.onosproject.yangutils.utils.UtilConstants.OUTPUT;
 
 /*
  * Reference: RFC6020 and YANG ANTLR Grammar
@@ -67,8 +68,6 @@
  */
 public final class OutputListener {
 
-    private static final String OUTPUT_KEYWORD = "_output";
-
     /**
      * Creates a new output listener.
      */
@@ -92,8 +91,7 @@
         if (curData instanceof YangRpc) {
 
             YangOutput yangOutput = getYangOutputNode(JAVA_GENERATION);
-            yangOutput.setName(((YangRpc) curData).getName() + OUTPUT_KEYWORD);
-
+            yangOutput.setName(OUTPUT);
             yangOutput.setLineNumber(ctx.getStart().getLine());
             yangOutput.setCharPosition(ctx.getStart().getCharPositionInLine());
             yangOutput.setFileName(listener.getFileName());
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
index 3c41605..adb5c62 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
@@ -21,16 +21,20 @@
 import org.onosproject.yangutils.datamodel.YangAugment;
 import org.onosproject.yangutils.datamodel.YangCase;
 import org.onosproject.yangutils.datamodel.YangChoice;
+import org.onosproject.yangutils.datamodel.YangInput;
 import org.onosproject.yangutils.datamodel.YangLeavesHolder;
 import org.onosproject.yangutils.datamodel.YangNode;
 import org.onosproject.yangutils.datamodel.YangNodeIdentifier;
+import org.onosproject.yangutils.datamodel.YangOutput;
 import org.onosproject.yangutils.datamodel.YangTranslatorOperatorNode;
 import org.onosproject.yangutils.datamodel.YangTypeHolder;
 import org.onosproject.yangutils.datamodel.utils.DataModelUtils;
 import org.onosproject.yangutils.translator.exception.TranslatorException;
 import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaAugmentTranslator;
 import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaEnumerationTranslator;
+import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaInputTranslator;
 import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModuleTranslator;
+import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaOutputTranslator;
 import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModuleTranslator;
 import org.onosproject.yangutils.utils.io.YangPluginConfig;
 
@@ -50,6 +54,8 @@
 import static org.onosproject.yangutils.translator.tojava.utils.TranslatorUtils.getErrorMsgForCodeGenerator;
 import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED;
 import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
+import static org.onosproject.yangutils.utils.UtilConstants.INPUT_KEYWORD;
+import static org.onosproject.yangutils.utils.UtilConstants.OUTPUT_KEYWORD;
 import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
 import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase;
 import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
@@ -79,8 +85,7 @@
         if (info instanceof YangJavaAugmentTranslator) {
             updatePackageForAugmentInfo(info, config);
         } else {
-            translator.setJavaName(getCamelCase(((YangNode) info).getName(),
-                                                config.getConflictResolver()));
+            setNodeJavaName(info, config);
             translator.setJavaAttributeName(info.getJavaFileInfo()
                                                     .getJavaName());
             translator.setPackage(getCurNodePackage((YangNode) info));
@@ -89,6 +94,29 @@
     }
 
     /**
+     * The java name for input, output is prefixed with rpc name and other
+     * nodes are set by taking its own name from YANG.
+     *
+     * @param info   YANG java file info node
+     * @param config YANG plugin config
+     */
+    private static void setNodeJavaName(JavaCodeGeneratorInfo info,
+                                        YangPluginConfig config) {
+        String javaGenName;
+        if (info instanceof YangJavaInputTranslator) {
+            javaGenName = ((YangInput) info).getParent().getName() +
+                    INPUT_KEYWORD;
+        } else if (info instanceof YangJavaOutputTranslator) {
+            javaGenName = ((YangOutput) info).getParent().getName() +
+                    OUTPUT_KEYWORD;
+        } else {
+            javaGenName = ((YangNode) info).getName();
+        }
+        info.getJavaFileInfo().setJavaName(getCamelCase(
+                javaGenName, config.getConflictResolver()));
+    }
+
+    /**
      * Updates YANG java file package information.
      *
      * @param info   YANG java file info node
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java b/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
index c098e20..d8d75f4 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
@@ -1682,6 +1682,16 @@
             "OpType";
 
     /**
+     * Static attribute for input keyword to be suffixed with rpc name.
+     */
+    public static final String INPUT_KEYWORD = "_input";
+
+    /**
+     * Static attribute for output keyword to be suffixed with rpc name.
+     */
+    public static final String OUTPUT_KEYWORD = "_output";
+
+    /**
      * Static attribute for event class.
      */
     public static final String EVENT_CLASS = "event class";