public Query setCaseInsensitiveTermMatchValue(String matchValue) { return setTermMatchValue(matchValue.toLowerCase()); }
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); }
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 testIdempotentPost() throws Throwable { Query query = new Query(); query.setTermPropertyName("name"); query.setTermMatchValue("value"); ResourceGroupState state = ResourceGroupState.Builder.create() .withSelfLink("test-idemp-post") .withQuery(query) .build(); postHelper(state); // Post to same service with new values. state.query.setTermPropertyName("new-name"); state.query.setTermMatchValue("new-value"); postHelper(state); }
public static QueryTask buildPropertyQuery(Class<? extends ServiceDocument> stateClass, String... propsAndValues) { QueryTask.Query[] queries = new QueryTask.Query[propsAndValues.length / 2]; for (int i = 0; i < propsAndValues.length; i++) { String prop = propsAndValues[i]; String value = propsAndValues[++i]; QueryTask.Query clause = new QueryTask.Query() .setTermPropertyName(prop) .setTermMatchValue(value); queries[(i - 1) / 2] = clause; } return buildQuery(stateClass, true, queries); }
public static QueryTask.Query createAnyPropertyClause(String query, Occurance occurence, String... propertyNames) { QueryTask.Query anyPropertyClause = new QueryTask.Query(); for (String propertyName : propertyNames) { QueryTask.Query propClause = new QueryTask.Query() .setTermPropertyName(propertyName) .setTermMatchType(MatchType.WILDCARD) .setTermMatchValue(query); propClause.occurance = occurence; anyPropertyClause.addBooleanClause(propClause); } return anyPropertyClause; }
private QueryTask createDockerComputeDescriptionQuery() { QueryTask q = QueryUtil.buildQuery(ComputeDescription.class, true); QueryTask.Query hostTypeClause = new QueryTask.Query() .setTermPropertyName(QuerySpecification.buildCollectionItemName( ComputeDescription.FIELD_NAME_SUPPORTED_CHILDREN)) .setTermMatchValue(ComputeType.DOCKER_CONTAINER.name()); q.querySpec.query.addBooleanClause(hostTypeClause); q.querySpec.resultLimit = ServiceDocumentQuery.DEFAULT_QUERY_RESULT_LIMIT; q.documentExpirationTimeMicros = ServiceDocumentQuery.getDefaultQueryExpiration(); return q; }
@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); }
@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 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); }
Query createTerm(String key, String value) { Query query = new Query(); query.setTermPropertyName(key); query.setTermMatchType(MatchType.TERM); query.setTermMatchValue(value); return query; }
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); }
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; }
public static void addListValueExcludeClause(QueryTask q, String propName, Collection<String> values) { for (String value : values) { QueryTask.Query clause = new QueryTask.Query() .setTermPropertyName(propName) .setTermMatchValue(value); clause.occurance = Occurance.MUST_NOT_OCCUR; q.querySpec.query.addBooleanClause(clause); } }
Query createTerm(String key, String value) { Query query = new Query(); query.setTermPropertyName(key); query.setTermMatchType(MatchType.TERM); query.setTermMatchValue(value); return query; }
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 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); }