YANG Translator optimization
Change-Id: Ie6a6b9d371a4fc5fd973cf56d6f3c7b44a3146ba
diff --git a/src/main/java/org/onosproject/yangutils/datamodel/YangChoice.java b/src/main/java/org/onosproject/yangutils/datamodel/YangChoice.java
index e9d7085..cfa1532 100644
--- a/src/main/java/org/onosproject/yangutils/datamodel/YangChoice.java
+++ b/src/main/java/org/onosproject/yangutils/datamodel/YangChoice.java
@@ -17,8 +17,8 @@
import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
import org.onosproject.yangutils.parser.Parsable;
-import org.onosproject.yangutils.translator.CachedFileHandle;
import org.onosproject.yangutils.utils.YangConstructType;
+
import static org.onosproject.yangutils.utils.YangConstructType.CHOICE_DATA;
/*-
@@ -140,11 +140,21 @@
super(YangNodeType.CHOICE_NODE);
}
+ /**
+ * Get the choice name.
+ *
+ * @return choice name
+ */
@Override
public String getName() {
return name;
}
+ /**
+ * Set the choice name.
+ *
+ * @param name choice name
+ */
@Override
public void setName(String name) {
this.name = name;
@@ -295,46 +305,13 @@
}
@Override
- public String getPackage() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void setPackage(String pkg) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void generateJavaCodeEntry(String codeGenDir) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void generateJavaCodeExit() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public CachedFileHandle getFileHandle() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void setFileHandle(CachedFileHandle fileHandle) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
public void detectCollidingChild(String identifierName, YangConstructType dataType) throws DataModelException {
- YangNode node = this.getChild();
- while ((node != null)) {
+ if (this.getParent() instanceof YangCase && dataType != YangConstructType.CASE_DATA) {
+ ((CollisionDetector) getParent()).detectCollidingChild(identifierName, dataType);
+ }
+ YangNode node = getChild();
+ while (node != null) {
if (node instanceof CollisionDetector) {
((CollisionDetector) node).detectSelfCollision(identifierName, dataType);
}
@@ -346,15 +323,15 @@
public void detectSelfCollision(String identifierName, YangConstructType dataType) throws DataModelException {
if (dataType == CHOICE_DATA) {
- if (this.getName().equals(identifierName)) {
+ if (getName().equals(identifierName)) {
throw new DataModelException("YANG file error: Identifier collision detected in choice \"" +
- this.getName() + "\"");
+ getName() + "\"");
}
return;
}
- YangNode node = this.getChild();
- while ((node != null)) {
+ YangNode node = getChild();
+ while (node != null) {
if (node instanceof CollisionDetector) {
((CollisionDetector) node).detectSelfCollision(identifierName, dataType);
}