Whitebox issue fix
Change-Id: I856266e26d2686affb9271c460927ba3e0e07db2
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/StatusListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/StatusListener.java
index b91003b..4c2abf9 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/StatusListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/StatusListener.java
@@ -22,10 +22,10 @@
import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangParser;
import org.onosproject.yangutils.parser.exceptions.ParserException;
import org.onosproject.yangutils.parser.impl.TreeWalkListener;
+import org.onosproject.yangutils.utils.YangConstructType;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorLocation.ENTRY;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorMessageConstruction.constructListenerErrorMessage;
-import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.INVALID_CONTENT;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.INVALID_HOLDER;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_HOLDER;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerUtil.removeQuotesAndHandleConcat;
@@ -44,7 +44,7 @@
* deprecated-keyword
*
* ANTLR grammar rule
- * statusStatement : STATUS_KEYWORD (CURRENT_KEYWORD | OBSOLETE_KEYWORD | DEPRECATED_KEYWORD) STMTEND;
+ * statusStatement : STATUS_KEYWORD status STMTEND;
*/
/**
@@ -99,14 +99,27 @@
YangStatusType status;
String value = removeQuotesAndHandleConcat(ctx.status().getText());
- if (value.equals(CURRENT_KEYWORD)) {
- status = YangStatusType.CURRENT;
- } else if (value.equals(DEPRECATED_KEYWORD)) {
- status = YangStatusType.DEPRECATED;
- } else if (value.equals(OBSOLETE_KEYWORD)) {
- status = YangStatusType.OBSOLETE;
- } else {
- throw new ParserException(constructListenerErrorMessage(INVALID_CONTENT, STATUS_DATA, value, ENTRY));
+ switch (value) {
+ case CURRENT_KEYWORD: {
+ status = YangStatusType.CURRENT;
+ break;
+ }
+ case DEPRECATED_KEYWORD: {
+ status = YangStatusType.DEPRECATED;
+ break;
+ }
+ case OBSOLETE_KEYWORD: {
+ status = YangStatusType.OBSOLETE;
+ break;
+ }
+ default: {
+ ParserException parserException = new ParserException("YANG file error : " +
+ YangConstructType.getYangConstructType(STATUS_DATA) + " " + ctx.status().getText() +
+ " is not valid.");
+ parserException.setLine(ctx.getStart().getLine());
+ parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
+ throw parserException;
+ }
}
return status;