use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.
the class DefaultEdgeEventQueryLogicTest method moreOrTesting.
@Test(expected = IllegalArgumentException.class)
public void moreOrTesting() throws Exception {
Query query = new QueryImpl();
query.setQuery("(SOURCE == 'sourceValue' AND SINK == 'targetValue' AND TYPE == 'TEST1' AND RELATION == 'REL1-REL2' " + "AND ATTRIBUTE1 == 'SOURCE1-SOURCE2' AND (ATTRIBUTE2 == 'red' OR ATTRIBUTE2 == 'blue')) OR " + "(SOURCE == 'sourceValue2' AND SINK == 'targetValue2' AND TYPE == 'TEST1' AND RELATION == 'REL1-REL2' AND ATTRIBUTE1 == 'SOURCE1-SOURCE2')");
String transformed = logic.getEventQuery(query);
assertEquals("(SOURCEFIELD == 'sourceValue' AND TARGETFIELD == 'targetValue' AND ENRICHFIELD == 'enrichValue') " + "OR (SOURCEFIELD == 'sourceValue2' AND TARGETFIELD == 'targetValue2' AND ENRICHFIELD == 'enrichValue')", transformed);
query = new QueryImpl();
query.setQuery("SOURCE == 'sourceValue' AND SINK == 'targetValue' AND TYPE == 'TEST1' AND RELATION == 'REL1-REL2' AND ATTRIBUTE1 == 'SOURCE1-SOURCE2' AND (ATTRIBUTE2 == 'red' OR ATTRIBUTE3 == 'blue')");
// throws
transformed = logic.getEventQuery(query);
}
use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.
the class DefaultEdgeEventQueryLogicTest method testParseWithLucene.
@Test
public void testParseWithLucene() throws Exception {
Query query = new QueryImpl();
Map<String, QueryParser> parsers = new HashMap<>();
parsers.put("LUCENE", new LuceneToJexlQueryParser());
logic.setQuerySyntaxParsers(parsers);
query.setQuery("SOURCE:sourceValue SINK:targetValue TYPE:TEST1 RELATION:REL1-REL2 ATTRIBUTE1:SOURCE1-SOURCE2");
query.addParameter(QueryParameters.QUERY_SYNTAX, "LUCENE");
String transformed = logic.getEventQuery(query);
assertEquals("(SOURCEFIELD == 'sourceValue' AND TARGETFIELD == 'targetValue' AND ENRICHFIELD == 'enrichValue')", transformed);
}
use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.
the class DefaultEdgeEventQueryLogicTest method testBasicQueryParse.
@Test
public void testBasicQueryParse() throws Exception {
Query query = new QueryImpl();
query.setQuery("SOURCE == 'sourceValue' AND SINK == 'targetValue' AND TYPE == 'TEST1' AND RELATION == 'REL1-REL2' AND ATTRIBUTE1 == 'SOURCE1-SOURCE2'");
String transformed = logic.getEventQuery(query);
assertEquals("(SOURCEFIELD == 'sourceValue' AND TARGETFIELD == 'targetValue' AND ENRICHFIELD == 'enrichValue')", transformed);
}
use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.
the class DefaultEdgeEventQueryLogicTest method testNoEnrichment.
@Test
public void testNoEnrichment() throws Exception {
Query query = new QueryImpl();
query.setQuery("SOURCE == 'sourceValue' AND SINK == 'targetValue' AND TYPE == 'TEST3' AND RELATION == 'REL1-REL2' AND ATTRIBUTE1 == 'SOURCE1-SOURCE2'");
String transformed = logic.getEventQuery(query);
assertEquals("(SOURCEFIELD1 == 'sourceValue' AND TARGETFIELD1 == 'targetValue')", transformed);
}
use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.
the class DefaultEdgeEventQueryLogicTest method testMismatchAttribute1Source.
@Test(expected = IllegalArgumentException.class)
public void testMismatchAttribute1Source() throws Exception {
Query query = new QueryImpl();
query.setQuery("SOURCE == 'sourceValue' AND SINK == 'targetValue' AND TYPE == 'TEST7' AND RELATION == 'REL1-REL2' AND ATTRIBUTE1 == 'BLAH1-BLAH2'");
// throws because BLAH1 and BLAH2 aren't in the edge dictionary
logic.getEventQuery(query);
}
Aggregations