private Query createUpdatedSinceTimeRange(long timeInMicros) { long limitToNowInMicros = Utils.getNowMicrosUtc() + TimeUnit.SECONDS.toMicros(10); NumericRange<Long> range = NumericRange.createLongRange(timeInMicros, limitToNowInMicros, true, false); range.precisionStep = 64; // 4 and 8 doesn't work. 16 works but set 64 to be certain. QueryTask.Query latestSinceCondition = new QueryTask.Query() .setTermPropertyName(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS) .setNumericRange(range) .setTermMatchType(MatchType.TERM); latestSinceCondition.occurance = Occurance.MUST_OCCUR; return latestSinceCondition; }
@Test public void testSimpleDoubleEqualQuery() throws Throwable { Query expected = new Query(); // The test $filter is (age eq 50.0). NumericRange<Double> r = QueryTask.NumericRange.createDoubleRange((double) 50, (double) 50, true, true); expected.setNumericRange(r); expected.setTermPropertyName("age"); String odataFilter = String.format("%s eq 50.0", expected.term.propertyName); Query actual = toQuery(odataFilter); assertQueriesEqual(actual, expected); }
@Test public void testSimpleLongEqualQuery() throws Throwable { Query expected = new Query(); // The test $filter is (age eq 50). NumericRange<Long> r = QueryTask.NumericRange.createLongRange((long) 50, (long) 50, true, true); expected.setNumericRange(r); expected.setTermPropertyName("age"); String odataFilter = String.format("%s eq 50", expected.term.propertyName); Query actual = toQuery(odataFilter); assertQueriesEqual(actual, expected); }
@Test public void testSimpleWildcardQuery() throws Throwable { Query expected = new Query().setTermPropertyName("name").setTermMatchValue("foo*"); expected.occurance = Query.Occurance.MUST_OCCUR; expected.setTermMatchType(QueryTask.QueryTerm.MatchType.WILDCARD); String odataFilter = String.format("%s eq %s", expected.term.propertyName, expected.term.matchValue); Query actual = toQuery(odataFilter); assertQueriesEqual(actual, expected); }
private Query createComposedNegationQuery() { Query inner = new Query(); inner.addBooleanClause(createTerm("c2", "match", Occurance.MUST_OCCUR)); inner.addBooleanClause(createTerm("c3", "match", Occurance.MUST_NOT_OCCUR)); inner.occurance = Occurance.MUST_NOT_OCCUR; Query q = new Query(); q.addBooleanClause(createTerm("c1", "match", Occurance.MUST_OCCUR)); q.addBooleanClause(inner); return q; }
Query createWithListOfStringQuery() { String n1 = QueryTask.QuerySpecification.buildCollectionItemName("l1"); String n2 = QueryTask.QuerySpecification.buildCollectionItemName("l2"); Query t1 = createTerm(n1, "v2", Occurance.MUST_OCCUR); Query t2 = createTerm(n2, "v3", Occurance.MUST_NOT_OCCUR); Query q = new Query(); q.addBooleanClause(t1); q.addBooleanClause(t2); return q; }
Query createWithNegationQuery() { Query t1 = createTerm("c1", "v1", Occurance.MUST_OCCUR); Query t2 = createTerm("c2", "v2", Occurance.MUST_NOT_OCCUR); Query q = new Query(); q.addBooleanClause(t1); q.addBooleanClause(t2); return q; }
Query createSimpleConjunctionQuery() { Query t1 = createTerm("c1", "v1", Occurance.MUST_OCCUR); Query t2 = createTerm("c2", "v2", Occurance.MUST_OCCUR); Query q = new Query(); q.addBooleanClause(t1); q.addBooleanClause(t2); return q; }
@Test public void testSimpleLongGreaterThanOrEqualQuery() throws Throwable { Query expected = new Query(); // The test $filter is (age ge 50). This corresponds to a range query. NumericRange<Long> r = QueryTask.NumericRange.createLongRange((long) 50, Long.MAX_VALUE, true, true); expected.setNumericRange(r); expected.setTermPropertyName("age"); String odataFilter = String.format("%s ge 50", expected.term.propertyName); Query actual = toQuery(odataFilter); assertQueriesEqual(actual, expected); }
@Test public void testSimpleQuery() throws Throwable { Query expected = new Query().setTermPropertyName("name").setTermMatchValue("foo"); expected.occurance = Query.Occurance.MUST_OCCUR; String odataFilter = String.format("%s eq %s", expected.term.propertyName, expected.term.matchValue); Query actual = toQuery(odataFilter); assertQueriesEqual(actual, expected); // MatchType must be set assertEquals(MatchType.TERM, actual.term.matchType); }
@Test public void testFactoryPost() throws Throwable { Query query = new Query(); query.setTermPropertyName("name"); query.setTermMatchValue("value"); ResourceGroupState state = ResourceGroupState.Builder.create() .withQuery(query) .build(); postHelper(state); }
Query createMustOccurMixedWithShouldOccurQuery() { Query t1 = createTerm("c1", "v1", Occurance.MUST_OCCUR); Query t2 = createTerm("c2", "v2", Occurance.SHOULD_OCCUR); Query t3 = createTerm("c3", "v3", Occurance.MUST_OCCUR); Query q = new Query(); q.addBooleanClause(t1); q.addBooleanClause(t2); q.addBooleanClause(t3); return q; }
Query createWithLessThanRangeQuery() { Query query = new Query(); query.setTermPropertyName("numeric"); query.setNumericRange(NumericRange.createLessThanRange(314L)); return query; }
Query createSimpleDisjunctionQuery() { Query t1 = createTerm("c1", "v1", Occurance.SHOULD_OCCUR); Query t2 = createTerm("c2", "v2", Occurance.SHOULD_OCCUR); Query q = new Query(); q.addBooleanClause(t1); q.addBooleanClause(t2); return q; }
private static ResourceRemovalTaskState buildValidStartState() { ResourceRemovalTaskState startState = new ResourceRemovalTaskState(); startState.resourceQuerySpec = new QueryTask.QuerySpecification(); QueryTask.Query kindClause = new QueryTask.Query().setTermPropertyName( ServiceDocument.FIELD_NAME_KIND).setTermMatchValue( Utils.buildKind(ComputeService.ComputeState.class)); startState.resourceQuerySpec.query.addBooleanClause(kindClause); startState.isMockRequest = true; return startState; }
public static QueryTask.Query createKindClause(Class<?> c) { QueryTask.Query kindClause = new QueryTask.Query() .setTermPropertyName(ServiceDocument.FIELD_NAME_KIND) .setTermMatchValue(Utils.buildKind(c)); return kindClause; }
@Test public void testBuildResourceGroupStateWithIdentifier() { Query query = new Query(); query.occurance = Occurance.MUST_NOT_OCCUR; ResourceGroupState resourceGroupState = buildResourceGroupState(AuthRole.PROJECT_ADMIN, SAMPLE_PROJECT_ID, query); String expectedSelfLink = UriUtils .buildUriPath(ResourceGroupService.FACTORY_LINK, AuthRole.PROJECT_ADMIN .buildRoleWithSuffix(SAMPLE_PROJECT_ID)); assertEquals(expectedSelfLink, resourceGroupState.documentSelfLink); assertEquals(Occurance.MUST_NOT_OCCUR, resourceGroupState.query.occurance); }
Query createWithLessThanRangeQuery() { Query query = new Query(); query.setTermPropertyName("numeric"); query.setNumericRange(NumericRange.createLessThanRange(314L)); return query; }
Query createTerm(String key, String value) { Query query = new Query(); query.setTermPropertyName(key); query.setTermMatchType(MatchType.TERM); query.setTermMatchValue(value); return query; }
Query createWithEqualRangeQuery() { Query query = new Query(); query.setTermPropertyName("numeric"); query.setNumericRange(NumericRange.createEqualRange(314L)); return query; }