aboutsummaryrefslogtreecommitdiffstats
path: root/aai-traversal/src/main/java/org/onap/aai/rest/dsl/DslQueryProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'aai-traversal/src/main/java/org/onap/aai/rest/dsl/DslQueryProcessor.java')
-rw-r--r--aai-traversal/src/main/java/org/onap/aai/rest/dsl/DslQueryProcessor.java29
1 files changed, 17 insertions, 12 deletions
diff --git a/aai-traversal/src/main/java/org/onap/aai/rest/dsl/DslQueryProcessor.java b/aai-traversal/src/main/java/org/onap/aai/rest/dsl/DslQueryProcessor.java
index d9ce63e..a3978fd 100644
--- a/aai-traversal/src/main/java/org/onap/aai/rest/dsl/DslQueryProcessor.java
+++ b/aai-traversal/src/main/java/org/onap/aai/rest/dsl/DslQueryProcessor.java
@@ -19,25 +19,23 @@
*/
package org.onap.aai.rest.dsl;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
import org.antlr.v4.runtime.CharStreams;
import org.antlr.v4.runtime.CommonTokenStream;
+import org.antlr.v4.runtime.misc.ParseCancellationException;
import org.antlr.v4.runtime.tree.ParseTree;
import org.antlr.v4.runtime.tree.ParseTreeWalker;
-
import org.onap.aai.AAIDslLexer;
import org.onap.aai.AAIDslParser;
import org.onap.aai.exceptions.AAIException;
-import org.onap.aai.rest.dsl.DslListener;
-import org.antlr.v4.runtime.Token;
-
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
import org.springframework.beans.factory.annotation.Autowired;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+
+
/**
* The Class DslQueryProcessor.
*/
@@ -60,18 +58,23 @@ public class DslQueryProcessor {
// Create a lexer from the input CharStream
AAIDslLexer lexer = new AAIDslLexer(CharStreams.fromStream(stream, StandardCharsets.UTF_8));
+ lexer.removeErrorListeners();
+ lexer.addErrorListener(new AAIDslErrorListener());
// Get a list of tokens pulled from the lexer
CommonTokenStream tokens = new CommonTokenStream(lexer);
// Parser that feeds off of the tokens buffer
AAIDslParser parser = new AAIDslParser(tokens);
+ parser.removeErrorListeners(); // remove ConsoleErrorListener
+ parser.addErrorListener(new AAIDslErrorListener());
dslListener.setValidationFlag(isValidationFlag());
// Specify our entry point
ParseTree ptree = parser.aaiquery();
LOGGER.info("QUERY-interim" + ptree.toStringTree(parser));
+
// Walk it and attach our listener
ParseTreeWalker walker = new ParseTreeWalker();
walker.walk(dslListener, ptree);
@@ -83,8 +86,10 @@ public class DslQueryProcessor {
*
*/
return dslListener.getQuery();
- } catch (AAIException e) {
- throw new AAIException("AAI_6149", "Error while processing the query :" + e.getMessage());
+ } catch(ParseCancellationException e){
+ throw new AAIException("AAI_6149", "DSL Syntax Error while processing the query :" + e.getMessage());
+ } catch(AAIException e) {
+ throw new AAIException("AAI_6149", "DSL Syntax Error while processing the query :" + e.getMessage());
} catch (Exception e) {
throw new AAIException("AAI_6149","Error while processing the query :" + e.getMessage());
}