Skip to content

Package: SoqlQueryParser

SoqlQueryParser

nameinstructionbranchcomplexitylinemethod
SoqlQueryParser(QueryParser, MetamodelImpl)
M: 0 C: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
parseQuery(String)
M: 0 C: 41
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 9
100%
M: 0 C: 1
100%

Coverage

1: package cz.cvut.kbss.jopa.query.soql;
2:
3: import cz.cvut.kbss.jopa.model.MetamodelImpl;
4: import cz.cvut.kbss.jopa.query.QueryHolder;
5: import cz.cvut.kbss.jopa.query.QueryParser;
6: import org.antlr.v4.runtime.CharStream;
7: import org.antlr.v4.runtime.CharStreams;
8: import org.antlr.v4.runtime.CommonTokenStream;
9: import org.antlr.v4.runtime.tree.ParseTree;
10: import org.antlr.v4.runtime.tree.ParseTreeWalker;
11:
12: public class SoqlQueryParser implements QueryParser {
13:
14: private final QueryParser sparqlParser;
15: private final MetamodelImpl metamodel;
16:
17: public SoqlQueryParser(QueryParser sparqlParser, MetamodelImpl metamodel) {
18: this.sparqlParser = sparqlParser;
19: this.metamodel = metamodel;
20: }
21:
22:
23: @Override
24: public QueryHolder parseQuery(String query) {
25: CharStream cs = CharStreams.fromString(query);
26: SoqlLexer lexer = new SoqlLexer(cs);
27: final CommonTokenStream tokens = new CommonTokenStream(lexer);
28: SoqlParser parser = new SoqlParser(tokens);
29:
30: final ParseTree tree = parser.querySentence();
31: final SoqlQueryListener listener = new SoqlQueryListener(this.metamodel);
32:
33: final ParseTreeWalker walker = new ParseTreeWalker();
34: walker.walk(listener, tree);
35:
36: return sparqlParser.parseQuery(listener.getSoqlQuery());
37: }
38: }