[ONOS-4411,ONOS-4413,ONOS-4526] Yang Enumeration Translator and Defect fixes.
Change-Id: Ie5b6b5d6d6df283a57ae06b1979f0d03022f3baf
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java
index ad2988d..afe3a02 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java
@@ -78,6 +78,8 @@
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_HOLDER;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.checkStackIsNotEmpty;
import static org.onosproject.yangutils.utils.YangConstructType.ENUM_DATA;
+import static org.onosproject.yangutils.utils.UtilConstants.QUOTES;
+import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
/**
* Represents listener based call back function corresponding to the "enum" rule
@@ -104,10 +106,18 @@
checkStackIsNotEmpty(listener, MISSING_HOLDER, ENUM_DATA, ctx.string().getText(), ENTRY);
YangEnum enumNode = new YangEnum();
- enumNode.setNamedValue(ctx.string().getText());
+ enumNode.setNamedValue(getValidNamedValue(ctx.string().getText()));
listener.getParsedDataStack().push(enumNode);
}
+ /* Removes quotes from the enum name if present.*/
+ private static String getValidNamedValue(String name) {
+ if (name.contains(QUOTES)) {
+ name = name.replace(QUOTES, EMPTY_STRING);
+ }
+ return name;
+ }
+
/**
* It is called when parser exits from grammar rule (enum), it perform
* validations and update the data model tree.
@@ -163,7 +173,8 @@
}
} else {
throw new ParserException(
- constructListenerErrorMessage(MISSING_CURRENT_HOLDER, ENUM_DATA, ctx.string().getText(), EXIT));
+ constructListenerErrorMessage(MISSING_CURRENT_HOLDER, ENUM_DATA, ctx.string().getText(),
+ EXIT));
}
}
}