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; }
private ServiceDocumentQueryResult queryDocuments(String documentKind, int desiredCount) throws Throwable { QueryTask.QuerySpecification q = new QueryTask.QuerySpecification(); q.query.setTermPropertyName(ServiceDocument.FIELD_NAME_KIND) .setTermMatchValue(documentKind); q.options = EnumSet .of(QueryTask.QuerySpecification.QueryOption.EXPAND_CONTENT); return this.host .createAndWaitSimpleDirectQuery(this.host.getUri(), q, desiredCount, desiredCount, null); }
@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 testSimpleDoubleGreaterThanOrEqualQuery() throws Throwable { Query expected = new Query(); // The test $filter is (age ge 50.0). This corresponds to a range query. NumericRange<Double> r = QueryTask.NumericRange.createDoubleRange((double) 50, Double.MAX_VALUE, true, true); expected.setNumericRange(r); expected.setTermPropertyName("age"); String odataFilter = String.format("%s ge 50.0", expected.term.propertyName); Query actual = toQuery(odataFilter); assertQueriesEqual(actual, expected); }
@Test public void testSimpleDoubleLessThanOrEqualQuery() throws Throwable { Query expected = new Query(); // The test $filter is (age le 50.0). This corresponds to a range query. NumericRange<Double> r = QueryTask.NumericRange.createDoubleRange(Double.MIN_VALUE, (double) 50, true, true); expected.setNumericRange(r); expected.setTermPropertyName("age"); String odataFilter = String.format("%s le 50.0", expected.term.propertyName); Query actual = toQuery(odataFilter); assertQueriesEqual(actual, expected); }
@Test public void testSimpleLongLessThanOrEqualQuery() throws Throwable { Query expected = new Query(); // The test $filter is (age le 50). This corresponds to a range query. NumericRange<Long> r = QueryTask.NumericRange.createLongRange(Long.MIN_VALUE, (long) 50, true, true); expected.setNumericRange(r); expected.setTermPropertyName("age"); String odataFilter = String.format("%s le 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); }
public ServiceDocumentQueryResult createAndWaitSimpleDirectQuery(URI hostUri, String fieldName, String fieldValue, long documentCount, long expectedResultCount, TestResults testResults) { QueryTask.QuerySpecification q = new QueryTask.QuerySpecification(); q.query.setTermPropertyName(fieldName).setTermMatchValue(fieldValue); return createAndWaitSimpleDirectQuery(hostUri, q, documentCount, expectedResultCount, testResults); }
public ServiceDocumentQueryResult createAndWaitSimpleDirectQuery(URI hostUri, String fieldName, String fieldValue, long documentCount, long expectedResultCount, TestResults testResults) { QueryTask.QuerySpecification q = new QueryTask.QuerySpecification(); q.query.setTermPropertyName(fieldName).setTermMatchValue(fieldValue); return createAndWaitSimpleDirectQuery(hostUri, q, documentCount, expectedResultCount, testResults); }
@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); }
@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 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 createWithLessThanRangeQuery() { Query query = new Query(); query.setTermPropertyName("numeric"); query.setNumericRange(NumericRange.createLessThanRange(314L)); return query; }
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; }
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; }