Search in sources :

Example 66 with QueryImpl

use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.

the class DefaultEdgeEventQueryLogicTest method testEnrichNoEnrich.

@Test
public void testEnrichNoEnrich() throws Exception {
    Query query = new QueryImpl();
    query.setQuery("SOURCE == 'sourceValue' AND SINK == 'targetValue' AND TYPE == 'TEST4' AND RELATION == 'REL1-REL2' AND ATTRIBUTE1 == 'SOURCE1-SOURCE2'");
    String transformed = logic.getEventQuery(query);
    // System.out.println("transformed = " + transformed);
    assertEquals("(SOURCEFIELD1 == 'sourceValue' AND TARGETFIELD1 == 'targetValue' AND ENRICHFIELD1 == 'enrichValue1') OR (SOURCEFIELD2 == 'sourceValue' AND TARGETFIELD2 == 'targetValue')", transformed);
}
Also used : QueryImpl(datawave.webservice.query.QueryImpl) Query(datawave.webservice.query.Query) Test(org.junit.Test)

Example 67 with QueryImpl

use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.

the class DefaultEdgeEventQueryLogicTest method testMultiNoEnrich.

@Test
public void testMultiNoEnrich() throws Exception {
    Query query = new QueryImpl();
    query.setQuery("SOURCE == 'sourceValue' AND SINK == 'targetValue' AND TYPE == 'TEST5' AND RELATION == 'REL1-REL2' AND ATTRIBUTE1 == 'SOURCE1-SOURCE2'");
    String transformed = logic.getEventQuery(query);
    assertEquals("(SOURCEFIELD1 == 'sourceValue' AND TARGETFIELD1 == 'targetValue') OR (SOURCEFIELD2 == 'sourceValue' AND TARGETFIELD2 == 'targetValue')", transformed);
}
Also used : QueryImpl(datawave.webservice.query.QueryImpl) Query(datawave.webservice.query.Query) Test(org.junit.Test)

Example 68 with QueryImpl

use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.

the class AbstractFunctionalQuery method runTestQuery.

/**
 * Executes the query and performs validation of the results.
 *
 * @param expected
 *            expected results from the query
 * @param queryStr
 *            execution query string
 * @param startDate
 *            start date for query (inclusive)
 * @param endDate
 *            end date for query (exclusive)
 * @param options
 *            optional parameters to query
 * @param checkers
 *            optional list of assert checker methods
 * @param authSet
 *            optional set of authorizations to use. If null or empty, will use default auths.
 */
protected void runTestQuery(Collection<String> expected, String queryStr, Date startDate, Date endDate, Map<String, String> options, List<DocumentChecker> checkers, Set<Authorizations> authSet) throws Exception {
    if (log.isDebugEnabled()) {
        log.debug("  query[" + queryStr + "]  start(" + YMD_DateFormat.format(startDate) + ")  end(" + YMD_DateFormat.format(endDate) + ")");
    }
    if (authSet == null || authSet.isEmpty()) {
        authSet = this.authSet;
    }
    QueryImpl q = new QueryImpl();
    q.setBeginDate(startDate);
    q.setEndDate(endDate);
    q.setQuery(queryStr);
    q.setParameters(options);
    q.setId(UUID.randomUUID());
    q.setPagesize(Integer.MAX_VALUE);
    q.setQueryAuthorizations(auths.toString());
    if (useRunningQuery) {
        QueryMetricFactory queryMetricFactory = (metricFactory == null) ? new QueryMetricFactoryImpl() : metricFactory;
        new RunningQuery(connector, AccumuloConnectionFactory.Priority.NORMAL, this.logic, q, "", principal, queryMetricFactory);
    } else {
        GenericQueryConfiguration config = this.logic.initialize(connector, q, authSet);
        this.logic.setupQuery(config);
        if (log.isDebugEnabled()) {
            log.debug("Plan: " + config.getQueryString());
        }
    }
    testHarness.assertLogicResults(this.logic, expected, checkers);
}
Also used : QueryImpl(datawave.webservice.query.QueryImpl) RunningQuery(datawave.webservice.query.runner.RunningQuery) QueryMetricFactoryImpl(datawave.microservice.querymetric.QueryMetricFactoryImpl) QueryMetricFactory(datawave.microservice.querymetric.QueryMetricFactory) GenericQueryConfiguration(datawave.webservice.query.configuration.GenericQueryConfiguration)

Example 69 with QueryImpl

use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.

the class EdgeQueryFunctionalTest method testComplexQueryWithPatterns.

@Test
public void testComplexQueryWithPatterns() throws Exception {
    QueryImpl q = configQuery("(SOURCE =~ 'E.*' || SOURCE == 'PLUTO' || SOURCE =~ 'M.*' || SOURCE == 'CERES' || SOURCE == 'ASTEROID_BELT') && RELATION == 'FROM-TO' && TYPE =~ 'Adjacent.*'", auths);
    EdgeQueryLogic logic = runLogic(q, auths);
    List<String> expected = new ArrayList<>();
    expected.add("earth%00;mars AdjacentPlanets/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [A]");
    expected.add("earth%00;moon AdjacentCelestialBodies/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [A]");
    expected.add("eris%00;dysnomia AdjacentCelestialBodies/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [B]");
    expected.add("pluto%00;charon AdjacentCelestialBodies/FROM-TO:20150713/NEW_HORIZONS-NEW_HORIZONS [C]");
    expected.add("pluto%00;neptune AdjacentDwarfPlanets/FROM-TO:20150713/NEW_HORIZONS-NEW_HORIZONS [C]");
    expected.add("mars%00;ceres AdjacentCelestialBodies/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [B]");
    expected.add("ceres%00;jupiter AdjacentCelestialBodies/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [A]");
    expected.add("ceres%00;jupiter AdjacentDwarfPlanets/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [B]");
    expected.add("ceres%00;mars AdjacentDwarfPlanets/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [B]");
    expected.add("asteroid_belt%00;mars AdjacentCelestialBodies/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [A]");
    expected.add("asteroid_belt%00;ceres AdjacentCelestialBodies/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [A]");
    expected.add("asteroid_belt%00;jupiter AdjacentCelestialBodies/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [A]");
    expected.add("mars%00;jupiter AdjacentPlanets/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [A]");
    expected.add("mercury%00;venus AdjacentPlanets/FROM-TO:20150713/COSMOS_DATA-COSMOS_DATA [A]");
    compareResults(logic, expected);
}
Also used : QueryImpl(datawave.webservice.query.QueryImpl) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Example 70 with QueryImpl

use of datawave.webservice.query.QueryImpl in project datawave by NationalSecurityAgency.

the class EdgeQueryFunctionalTest method testTypeQuery.

@Test
public void testTypeQuery() throws Exception {
    QueryImpl q = configQuery("SOURCE == 'JUPITER' && TYPE == 'AdjacentDwarfPlanets'", auths);
    EdgeQueryLogic logic = runLogic(q, auths);
    List<String> expected = new ArrayList<>();
    expected.add("jupiter%00;ceres AdjacentDwarfPlanets/TO-FROM:20150713/COSMOS_DATA-COSMOS_DATA [B]");
    compareResults(logic, expected);
}
Also used : QueryImpl(datawave.webservice.query.QueryImpl) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Aggregations

QueryImpl (datawave.webservice.query.QueryImpl)131 Test (org.junit.Test)96 ArrayList (java.util.ArrayList)54 Query (datawave.webservice.query.Query)40 HashSet (java.util.HashSet)27 BaseQueryLogic (datawave.webservice.query.logic.BaseQueryLogic)18 GenericQueryConfiguration (datawave.webservice.query.configuration.GenericQueryConfiguration)16 Date (java.util.Date)16 QueryParametersImpl (datawave.webservice.query.QueryParametersImpl)14 MultivaluedMapImpl (org.jboss.resteasy.specimpl.MultivaluedMapImpl)13 QueryMetricFactoryImpl (datawave.microservice.querymetric.QueryMetricFactoryImpl)12 QueryParameters (datawave.webservice.query.QueryParameters)12 Value (org.apache.accumulo.core.data.Value)10 Document (datawave.query.attributes.Document)9 ShardQueryConfiguration (datawave.query.config.ShardQueryConfiguration)9 EdgeQueryFunctionalTest (datawave.query.tables.edge.EdgeQueryFunctionalTest)9 QueryLogic (datawave.webservice.query.logic.QueryLogic)9 HashMap (java.util.HashMap)9 Key (org.apache.accumulo.core.data.Key)9 Authorizations (org.apache.accumulo.core.security.Authorizations)9