本文整理了Java中com.vmware.admiral.common.util.QueryUtil.buildQuery
方法的一些代码示例,展示了QueryUtil.buildQuery
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryUtil.buildQuery
方法的具体详情如下:
包路径:com.vmware.admiral.common.util.QueryUtil
类名称:QueryUtil
方法名:buildQuery
暂无
代码示例来源:origin: vmware/admiral
private QueryTask createResourcesQuery(Class<? extends ServiceDocument> type,
Collection<String> resourceLinks) {
QueryTask query = QueryUtil.buildQuery(type, false);
QueryUtil.addListValueClause(query, ServiceDocument.FIELD_NAME_SELF_LINK, resourceLinks);
return query;
}
代码示例来源:origin: vmware/admiral
private QueryTask createResourcesQuery(Class<? extends ServiceDocument> type,
Set<String> resourceLinks) {
QueryTask query = QueryUtil.buildQuery(type, false);
query.querySpec.options = EnumSet.of(QueryOption.EXPAND_CONTENT);
QueryUtil.addListValueClause(query, ServiceDocument.FIELD_NAME_SELF_LINK, resourceLinks);
return query;
}
代码示例来源:origin: vmware/admiral
private QueryTask createResourcesQuery(Class<? extends ServiceDocument> type,
Collection<String> resourceLinks) {
QueryTask query = QueryUtil.buildQuery(type, false);
if (resourceLinks != null && !resourceLinks.isEmpty()) {
QueryUtil.addListValueClause(query, ServiceDocument.FIELD_NAME_SELF_LINK,
resourceLinks);
}
return query;
}
代码示例来源:origin: vmware/admiral
private QueryTask createResourcesQuery(Class<? extends ServiceDocument> type,
Collection<String> resourceLinks) {
QueryTask query = QueryUtil.buildQuery(type, false);
QueryUtil.addListValueClause(query, ServiceDocument.FIELD_NAME_SELF_LINK, resourceLinks);
return query;
}
}
代码示例来源:origin: vmware/admiral
public static QueryTask buildQuery(Class<? extends ServiceDocument> stateClass,
boolean direct, QueryTask.Query... clauses) {
String kind = Utils.buildKind(stateClass);
return buildQuery(kind, direct, clauses);
}
代码示例来源:origin: vmware/admiral
protected QueryTask getDescQuery() {
final QueryTask q = QueryUtil.buildQuery(ContainerDescription.class, false);
QueryUtil.addCaseInsensitiveListValueClause(q, ContainerDescription.FIELD_NAME_NAME, getAffinity());
QueryUtil.addExpandOption(q);
return q;
}
代码示例来源:origin: vmware/admiral
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);
}
代码示例来源:origin: vmware/admiral
protected QueryTask getDescQuery(List<String> descriptionLinks) {
// get container descriptions for descriptionLinks having a service link to
// the container description which is being clustered
QueryTask q = QueryUtil.buildQuery(ContainerDescription.class, false);
String linksItemField = QueryTask.QuerySpecification.buildCollectionItemName(
ContainerDescription.FIELD_NAME_LINKS);
QueryUtil.addListValueClause(q, linksItemField,
Arrays.asList(containerDescriptionName + ":*", containerDescriptionName),
MatchType.WILDCARD);
QueryUtil.addListValueClause(q, ContainerDescription.FIELD_NAME_SELF_LINK,
descriptionLinks);
QueryUtil.addExpandOption(q);
return q;
}
代码示例来源:origin: vmware/admiral
public static QueryTask createQueryTaskForProjectAssociatedWithPlacement(ResourceState project,
Query query) {
QueryTask queryTask = null;
if (query != null) {
queryTask = QueryTask.Builder.createDirectTask().setQuery(query).build();
} else if (project != null && project.documentSelfLink != null) {
queryTask = QueryUtil.buildQuery(GroupResourcePlacementState.class, true,
QueryUtil.addTenantAndGroupClause(Arrays.asList(project.documentSelfLink)));
}
if (queryTask != null) {
QueryUtil.addCountOption(queryTask);
}
return queryTask;
}
代码示例来源:origin: vmware/admiral
private void queryResourceNamePrefixes(ResourceNamePrefixTaskState state, boolean globalSearch) {
// match on group property:
QueryTask q = QueryUtil.buildQuery(ResourceNamePrefixState.class, true);
q.tenantLinks = state.tenantLinks;
List<String> documentLinks = new ArrayList<>();
new ServiceDocumentQuery<>(getHost(), ResourceNamePrefixState.class)
.query(q, (r) -> {
if (r.hasException()) {
failTask("Cannot retrieve prefixes", r.getException());
} else if (r.hasResult()) {
documentLinks.add(r.getDocumentSelfLink());
} else {
selectResourceNamePrefix(state, documentLinks.iterator(), globalSearch);
}
});
}
代码示例来源:origin: vmware/admiral
public static <R extends MultiTenantDocument> void getDocuments(Class<R> type,
Consumer<List<MultiTenantDocument>> consumer, ServiceHost host, Operation post) {
QueryTask queryTask = QueryUtil.buildQuery(type, true);
QueryUtil.addExpandOption(queryTask);
List<MultiTenantDocument> documents = new ArrayList<>();
new ServiceDocumentQuery<R>(host, type)
.query(queryTask, (r) -> {
if (r.hasException()) {
host.log(Level.SEVERE, "Failed to query for project states");
post.fail(r.getException());
} else if (r.hasResult()) {
documents.add((MultiTenantDocument) r.getResult());
} else {
host.log(Level.INFO, "projects found: %d", documents.size());
consumer.accept(documents);
}
});
}
}
代码示例来源:origin: vmware/admiral
private void queryVolumes(ContainerHostRemovalTaskState state) {
QueryTask volumeQuery = QueryUtil.buildQuery(ContainerVolumeState.class, false);
QueryUtil.addListValueClause(volumeQuery,
ContainerVolumeState.FIELD_NAME_ORIGINATING_HOST_LINK, state.resourceLinks);
Set<String> volumeLinks = new HashSet<>();
new ServiceDocumentQuery<ContainerVolumeState>(getHost(), ContainerVolumeState.class).query(
volumeQuery, (r) -> {
if (r.hasException()) {
failTask("Failure retrieving query results", r.getException());
return;
} else if (r.hasResult()) {
volumeLinks.add(r.getDocumentSelfLink());
} else {
if (volumeLinks.isEmpty()) {
filterKubernetesHosts(state);
return;
}
removeVolumes(state, volumeLinks);
}
});
}
代码示例来源:origin: vmware/admiral
@Override
public void handlePost(Operation post) {
QueryTask queryTask = QueryUtil.buildQuery(ComputeState.class, true);
QueryUtil.addExpandOption(queryTask);
List<ComputeState> hosts = new ArrayList<ComputeState>();
new ServiceDocumentQuery<ComputeState>(getHost(), ComputeState.class)
.query(queryTask, (r) -> {
if (r.hasException()) {
post.fail(r.getException());
logSevere("Failed to get compute states");
} else if (r.hasResult()) {
hosts.add(r.getResult());
} else {
if (hosts.isEmpty()) {
post.complete();
}
logInfo("Number of hosts found: %d", hosts.size());
processHosts(hosts, post);
}
});
}
代码示例来源:origin: vmware/admiral
@Override
public void handleStart(Operation post) {
QueryTask queryTask = QueryUtil.buildQuery(ProjectState.class, true);
QueryUtil.addExpandOption(queryTask);
List<ProjectState> projects = new ArrayList<ProjectState>();
new ServiceDocumentQuery<ProjectState>(getHost(), ProjectState.class)
.query(queryTask, (r) -> {
if (r.hasException()) {
post.fail(r.getException());
} else if (r.hasResult()) {
projects.add(r.getResult());
} else {
getHost().log(Level.INFO, "projects found: %d", projects.size());
processProjects(projects, post);
}
});
}
代码示例来源:origin: vmware/admiral
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;
}
代码示例来源:origin: vmware/admiral
private QueryTask createGroupResourcePlacementQueryTask(GroupResourcePlacementState state) {
QueryTask q = QueryUtil.buildQuery(GroupResourcePlacementState.class, true);
QueryTask.Query resourcePoolClause = new QueryTask.Query()
.setTermPropertyName(GroupResourcePlacementPoolState.FIELD_NAME_RESOURCE_POOL_LINK)
.setTermMatchValue(state.resourcePoolLink);
QueryTask.Query notThisGroupClause = new QueryTask.Query()
.setTermPropertyName(GroupResourcePlacementPoolState.FIELD_NAME_SELF_LINK)
.setTermMatchValue(getSelfLink());
notThisGroupClause.occurance = QueryTask.Query.Occurance.MUST_NOT_OCCUR;
q.querySpec.query.addBooleanClause(resourcePoolClause);
q.querySpec.query.addBooleanClause(notThisGroupClause);
QueryUtil.addExpandOption(q);
return q;
}
代码示例来源:origin: vmware/admiral
private List<CompositeKubernetesRemovalTaskState> queryCompositeKubernetesRemovalTask() {
QueryTask q = QueryUtil.buildQuery(CompositeKubernetesRemovalTaskState.class, false);
q.querySpec.options = EnumSet.of(QueryOption.EXPAND_CONTENT);
ServiceDocumentQuery<CompositeKubernetesRemovalTaskState> query = new ServiceDocumentQuery<>(
host, CompositeKubernetesRemovalTaskState.class);
List<CompositeKubernetesRemovalTaskState> result = new ArrayList<>();
TestContext ctx = testCreate(1);
query.query(q, (r) -> {
if (r.hasException()) {
ctx.failIteration(r.getException());
} else if (r.hasResult()) {
result.add(r.getResult());
} else {
ctx.completeIteration();
}
});
ctx.await();
return result;
}
}
代码示例来源:origin: vmware/admiral
private List<CompositionSubTaskState> queryCompositionSubTasks() {
QueryTask q = QueryUtil.buildQuery(CompositionSubTaskState.class, false);
q.querySpec.options = EnumSet.of(QueryOption.EXPAND_CONTENT);
ServiceDocumentQuery<CompositionSubTaskState> query = new ServiceDocumentQuery<>(host,
CompositionSubTaskState.class);
List<CompositionSubTaskState> result = new ArrayList<>();
TestContext ctx = testCreate(1);
query.query(q, (r) -> {
if (r.hasException()) {
ctx.failIteration(r.getException());
} else if (r.hasResult()) {
result.add(r.getResult());
} else {
ctx.completeIteration();
}
});
ctx.await();
return result;
}
代码示例来源:origin: vmware/admiral
public List<String> getDocumentLinksOfType(Class<? extends ServiceDocument> type)
throws Throwable {
TestContext ctx = testCreate(1);
QueryTask query = QueryUtil.buildQuery(type, true);
List<String> result = new LinkedList<>();
new ServiceDocumentQuery<>(
host, type).query(query,
(r) -> {
if (r.hasException()) {
ctx.failIteration(r.getException());
return;
} else if (r.hasResult()) {
result.add(r.getDocumentSelfLink());
} else {
ctx.completeIteration();
}
});
ctx.await();
return result;
}
代码示例来源:origin: vmware/admiral
private void verifyCompositesRemoved() throws Throwable {
QueryTask q = QueryUtil.buildQuery(CompositeComponent.class, false);
ServiceDocumentQuery<?> query = new ServiceDocumentQuery<>(host,
CompositeComponent.class);
TestContext ctx = testCreate(1);
query.query(q, (r) -> {
if (r.hasException()) {
host.log(Level.SEVERE,
"Exception during search for CompositeComponents",
r.getException().getMessage());
ctx.failIteration(r.getException());
} else if (r.hasResult()) {
ctx.failIteration(new IllegalStateException("CompositeComponents found!"));
} else {
ctx.completeIteration();
}
});
ctx.await();
}
}
内容来源于网络,如有侵权,请联系作者删除!