[ONOS-3902, ONOS-3903, ONOS-3904] string type, integer type derrived type
Change-Id: I8279e93fcb7dfb82491cc09057c9d75165add68d
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
index 187c600..c0c128b 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
@@ -16,6 +16,8 @@
package org.onosproject.yangutils.parser.impl;
+import java.util.Stack;
+
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.tree.ErrorNode;
import org.antlr.v4.runtime.tree.TerminalNode;
@@ -23,20 +25,19 @@
import org.onosproject.yangutils.parser.Parsable;
import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangListener;
import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangParser;
-
+import org.onosproject.yangutils.parser.impl.listeners.BaseFileListener;
+import org.onosproject.yangutils.parser.impl.listeners.BelongsToListener;
+import org.onosproject.yangutils.parser.impl.listeners.ConfigListener;
+import org.onosproject.yangutils.parser.impl.listeners.ContactListener;
+import org.onosproject.yangutils.parser.impl.listeners.ContainerListener;
import org.onosproject.yangutils.parser.impl.listeners.DefaultListener;
+import org.onosproject.yangutils.parser.impl.listeners.DescriptionListener;
+import org.onosproject.yangutils.parser.impl.listeners.ImportListener;
+import org.onosproject.yangutils.parser.impl.listeners.IncludeListener;
import org.onosproject.yangutils.parser.impl.listeners.KeyListener;
import org.onosproject.yangutils.parser.impl.listeners.LeafListListener;
import org.onosproject.yangutils.parser.impl.listeners.LeafListener;
import org.onosproject.yangutils.parser.impl.listeners.ListListener;
-import org.onosproject.yangutils.parser.impl.listeners.ContainerListener;
-import org.onosproject.yangutils.parser.impl.listeners.ConfigListener;
-import org.onosproject.yangutils.parser.impl.listeners.ContactListener;
-import org.onosproject.yangutils.parser.impl.listeners.BaseFileListener;
-import org.onosproject.yangutils.parser.impl.listeners.BelongsToListener;
-import org.onosproject.yangutils.parser.impl.listeners.DescriptionListener;
-import org.onosproject.yangutils.parser.impl.listeners.ImportListener;
-import org.onosproject.yangutils.parser.impl.listeners.IncludeListener;
import org.onosproject.yangutils.parser.impl.listeners.MandatoryListener;
import org.onosproject.yangutils.parser.impl.listeners.MaxElementsListener;
import org.onosproject.yangutils.parser.impl.listeners.MinElementsListener;
@@ -54,9 +55,6 @@
import org.onosproject.yangutils.parser.impl.listeners.TypeListener;
import org.onosproject.yangutils.parser.impl.listeners.UnitsListener;
import org.onosproject.yangutils.parser.impl.listeners.VersionListener;
-import org.onosproject.yangutils.parser.impl.parserutils.ListenerError;
-
-import java.util.Stack;
/**
* ANTLR generates a parse-tree listener interface that responds to events
@@ -72,9 +70,6 @@
// Parse tree root node
private YangNode rootNode;
- // Maintains the state of Exception.
- private ListenerError errorInformation = new ListenerError();
-
/**
* Returns stack of parsable data.
*
@@ -85,15 +80,6 @@
}
/**
- * Returns error information.
- *
- * @return error information object having exception flag and message
- */
- public ListenerError getErrorInformation() {
- return errorInformation;
- }
-
- /**
* Returns root node.
*
* @return rootNode of data model tree.
@@ -120,15 +106,6 @@
this.rootNode = rootNode;
}
- /**
- * Set listener error information.
- *
- * @param errorInformation error occurred during tree walk.
- */
- public void setErrorInformation(ListenerError errorInformation) {
- this.errorInformation = errorInformation;
- }
-
@Override
public void enterYangfile(GeneratedYangParser.YangfileContext ctx) {
BaseFileListener.processYangFileEntry(this, ctx);
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListener.java
index 9c951ae..49c0348 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListener.java
@@ -59,15 +59,14 @@
}
/**
- * It is called when parser receives an input matching the grammar
- * rule (config), performs validation and updates the data model
- * tree.
+ * It is called when parser receives an input matching the grammar rule
+ * (config), performs validation and updates the data model tree.
*
* @param listener listener's object.
* @param ctx context object of the grammar rule.
*/
public static void processConfigEntry(TreeWalkListener listener,
- GeneratedYangParser.ConfigStatementContext ctx) {
+ GeneratedYangParser.ConfigStatementContext ctx) {
boolean isConfig = false;
// Check for stack to be non empty.
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeDefListener.java b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeDefListener.java
index 9d41253..d2f90ce 100644
--- a/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeDefListener.java
+++ b/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeDefListener.java
@@ -56,26 +56,27 @@
import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
import org.onosproject.yangutils.parser.Parsable;
import org.onosproject.yangutils.parser.ParsableDataType;
-import static org.onosproject.yangutils.parser.ParsableDataType.TYPEDEF_DATA;
-import static org.onosproject.yangutils.parser.ParsableDataType.UNITS_DATA;
-import static org.onosproject.yangutils.parser.ParsableDataType.DEFAULT_DATA;
-import static org.onosproject.yangutils.parser.ParsableDataType.TYPE_DATA;
-import static org.onosproject.yangutils.parser.ParsableDataType.DESCRIPTION_DATA;
-import static org.onosproject.yangutils.parser.ParsableDataType.REFERENCE_DATA;
-import static org.onosproject.yangutils.parser.ParsableDataType.STATUS_DATA;
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.parser.impl.YangUtilsParserManager;
+
+import static org.onosproject.yangutils.parser.ParsableDataType.DEFAULT_DATA;
+import static org.onosproject.yangutils.parser.ParsableDataType.DESCRIPTION_DATA;
+import static org.onosproject.yangutils.parser.ParsableDataType.REFERENCE_DATA;
+import static org.onosproject.yangutils.parser.ParsableDataType.STATUS_DATA;
+import static org.onosproject.yangutils.parser.ParsableDataType.TYPEDEF_DATA;
+import static org.onosproject.yangutils.parser.ParsableDataType.TYPE_DATA;
+import static org.onosproject.yangutils.parser.ParsableDataType.UNITS_DATA;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorLocation.ENTRY;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorLocation.EXIT;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorMessageConstruction.constructExtendedListenerErrorMessage;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorMessageConstruction.constructListenerErrorMessage;
-import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_HOLDER;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.INVALID_CARDINALITY;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.INVALID_HOLDER;
-import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.UNHANDLED_PARSED_DATA;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_CURRENT_HOLDER;
+import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_HOLDER;
+import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.UNHANDLED_PARSED_DATA;
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.checkStackIsNotEmpty;
/**
@@ -115,8 +116,8 @@
Parsable curData = listener.getParsedDataStack().peek();
- if (curData instanceof YangModule | curData instanceof YangSubModule | curData instanceof YangContainer
- | curData instanceof YangList) {
+ if ((curData instanceof YangModule) | (curData instanceof YangSubModule) | (curData instanceof YangContainer)
+ | (curData instanceof YangList)) {
/*
* TODO YangGrouping, YangRpc, YangInput, YangOutput, Notification.
*/
@@ -150,7 +151,6 @@
if (listener.getParsedDataStack().peek() instanceof YangTypeDef) {
listener.getParsedDataStack().pop();
} else {
- listener.getErrorInformation().setErrorFlag(true);
throw new ParserException(constructListenerErrorMessage(MISSING_CURRENT_HOLDER, TYPEDEF_DATA,
ctx.IDENTIFIER().getText(), EXIT));
}
diff --git a/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerError.java b/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerError.java
deleted file mode 100644
index c5c3c8b..0000000
--- a/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerError.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright 2016 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yangutils.parser.impl.parserutils;
-
-/**
- * Error information while doing a listener's based walk is maintained in it.
- */
-public class ListenerError {
-
- // Maintains the state of exception.
- private boolean errorFlag = false;
-
- // Maintains the reason of exception.
- private String errorMsg;
-
- // Maintains the line number of exception.
- private int lineNumber;
-
- // Maintains the character position in lin of exception.
- private int charPositionInLine;
-
- /**
- * Returns error flag.
- *
- * @return error flag.
- */
- public boolean isErrorFlag() {
- return errorFlag;
- }
-
- /**
- * Returns reason for error.
- *
- * @return error message
- */
- public String getErrorMsg() {
- return errorMsg;
- }
-
- /**
- * Returns error line number.
- *
- * @return error line number.
- */
- public int getLineNumber() {
- return lineNumber;
- }
-
- /**
- * Returns error position in line.
- *
- * @return error character position in line.
- */
- public int getCharPositionInLine() {
- return charPositionInLine;
- }
-
- /**
- * Set error flag.
- *
- * @param errorFlag error existence flag.
- */
- public void setErrorFlag(boolean errorFlag) {
- this.errorFlag = errorFlag;
- }
-
- /**
- * Set error message.
- *
- * @param errorMsg reason for error.
- */
- public void setErrorMsg(String errorMsg) {
- this.errorMsg = errorMsg;
- }
-
- /**
- * Set error line number.
- *
- * @param lineNumber line number of error.
- */
- public void setLineNumber(int lineNumber) {
- this.lineNumber = lineNumber;
- }
-
- /**
- * Set error character position in line.
- *
- * @param charPositionInLine error character position in line.
- */
- public void setCharPositionInLine(int charPositionInLine) {
- this.charPositionInLine = charPositionInLine;
- }
-}
\ No newline at end of file