[ONOS-5274] Removal of rpc prfixed input and output from data model.
Change-Id: I14abf404eaf272e2b1457fa14d23117b4c0beaa7
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
index 496bf0b..7cb6435 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
@@ -16,15 +16,15 @@
package org.onosproject.yangutils.datamodel;
+import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
+import org.onosproject.yangutils.datamodel.utils.Parsable;
+import org.onosproject.yangutils.datamodel.utils.YangConstructType;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
-import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
-import org.onosproject.yangutils.datamodel.utils.Parsable;
-import org.onosproject.yangutils.datamodel.utils.YangConstructType;
-
import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.detectCollidingChildUtil;
/*
@@ -73,7 +73,7 @@
public abstract class YangInput
extends YangNode
implements YangLeavesHolder, Parsable, CollisionDetector,
- YangAugmentableNode, YangIsFilterContentNodes {
+ YangAugmentableNode, YangIsFilterContentNodes {
private static final long serialVersionUID = 806201608L;
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
index 7ec9dfd..3d5975b 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
@@ -16,15 +16,15 @@
package org.onosproject.yangutils.datamodel;
+import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
+import org.onosproject.yangutils.datamodel.utils.Parsable;
+import org.onosproject.yangutils.datamodel.utils.YangConstructType;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
-import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
-import org.onosproject.yangutils.datamodel.utils.Parsable;
-import org.onosproject.yangutils.datamodel.utils.YangConstructType;
-
import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.detectCollidingChildUtil;
/*
@@ -72,7 +72,7 @@
public abstract class YangOutput
extends YangNode
implements YangLeavesHolder, Parsable, CollisionDetector,
- YangAugmentableNode, YangIsFilterContentNodes {
+ YangAugmentableNode, YangIsFilterContentNodes {
private static final long serialVersionUID = 806201612L;
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";
diff --git a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/InputListenerTest.java b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/InputListenerTest.java
index 9000235..277eafe 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/InputListenerTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/InputListenerTest.java
@@ -16,24 +16,24 @@
package org.onosproject.yangutils.parser.impl.listeners;
-import java.io.IOException;
-import java.util.ListIterator;
-
import org.junit.Test;
+import org.onosproject.yangutils.datamodel.YangContainer;
+import org.onosproject.yangutils.datamodel.YangInput;
+import org.onosproject.yangutils.datamodel.YangLeaf;
+import org.onosproject.yangutils.datamodel.YangList;
import org.onosproject.yangutils.datamodel.YangModule;
import org.onosproject.yangutils.datamodel.YangNode;
import org.onosproject.yangutils.datamodel.YangNodeType;
import org.onosproject.yangutils.datamodel.YangRpc;
-import org.onosproject.yangutils.datamodel.YangInput;
-import org.onosproject.yangutils.datamodel.YangLeaf;
-import org.onosproject.yangutils.datamodel.YangList;
-import org.onosproject.yangutils.datamodel.YangContainer;
-import org.onosproject.yangutils.datamodel.YangTypeDef;
import org.onosproject.yangutils.datamodel.YangStatusType;
+import org.onosproject.yangutils.datamodel.YangTypeDef;
import org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes;
import org.onosproject.yangutils.parser.exceptions.ParserException;
import org.onosproject.yangutils.parser.impl.YangUtilsParserManager;
+import java.io.IOException;
+import java.util.ListIterator;
+
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
@@ -61,7 +61,7 @@
assertThat(yangRpc.getName(), is("activate-software-image"));
YangInput yangInput = (YangInput) yangRpc.getChild();
- assertThat(yangInput.getName(), is("activate-software-image_input"));
+ assertThat(yangInput.getName(), is("input"));
ListIterator<YangLeaf> leafIterator = yangInput.getListOfLeaf().listIterator();
YangLeaf leafInfo = leafIterator.next();
@@ -102,7 +102,7 @@
assertThat(yangRpc.getName(), is("activate-software-image"));
YangInput yangInput = (YangInput) yangRpc.getChild();
- assertThat(yangInput.getName(), is("activate-software-image_input"));
+ assertThat(yangInput.getName(), is("input"));
YangTypeDef typeDef = (YangTypeDef) yangInput.getChild();
assertThat(typeDef.getName(), is("my-type"));
assertThat(typeDef.getStatus(), is(YangStatusType.DEPRECATED));
diff --git a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/OutputListenerTest.java b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/OutputListenerTest.java
index e31f4c4..6ee23dc 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/OutputListenerTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/OutputListenerTest.java
@@ -16,11 +16,8 @@
package org.onosproject.yangutils.parser.impl.listeners;
-import java.io.IOException;
-import java.util.ListIterator;
import org.junit.Test;
import org.onosproject.yangutils.datamodel.YangContainer;
-import org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes;
import org.onosproject.yangutils.datamodel.YangLeaf;
import org.onosproject.yangutils.datamodel.YangList;
import org.onosproject.yangutils.datamodel.YangModule;
@@ -30,9 +27,13 @@
import org.onosproject.yangutils.datamodel.YangRpc;
import org.onosproject.yangutils.datamodel.YangStatusType;
import org.onosproject.yangutils.datamodel.YangTypeDef;
+import org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes;
import org.onosproject.yangutils.parser.exceptions.ParserException;
import org.onosproject.yangutils.parser.impl.YangUtilsParserManager;
+import java.io.IOException;
+import java.util.ListIterator;
+
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
@@ -60,7 +61,8 @@
assertThat(yangRpc.getName(), is("activate-software-image"));
YangOutput yangOutput = (YangOutput) yangRpc.getChild();
- assertThat(yangOutput.getName(), is("activate-software-image_output"));
+ assertThat(yangOutput.getName(), is("output"));
+
ListIterator<YangLeaf> leafIterator = yangOutput.getListOfLeaf().listIterator();
YangLeaf leafInfo = leafIterator.next();
@@ -101,7 +103,8 @@
assertThat(yangRpc.getName(), is("activate-software-image"));
YangOutput yangOutput = (YangOutput) yangRpc.getChild();
- assertThat(yangOutput.getName(), is("activate-software-image_output"));
+ assertThat(yangOutput.getName(), is("output"));
+
YangTypeDef typeDef = (YangTypeDef) yangOutput.getChild();
assertThat(typeDef.getName(), is("my-type"));
assertThat(typeDef.getStatus(), is(YangStatusType.DEPRECATED));