diff options
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.java | 29 |
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()); } |