本文整理了Java中com.vmware.admiral.common.util.QueryUtil.addListValueClause
方法的一些代码示例,展示了QueryUtil.addListValueClause
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryUtil.addListValueClause
方法的具体详情如下:
包路径:com.vmware.admiral.common.util.QueryUtil
类名称:QueryUtil
方法名:addListValueClause
暂无
代码示例来源:origin: vmware/admiral
public static void addListValueClause(QueryTask q, String propName, Collection<String> values) {
addListValueClause(q, propName, values, MatchType.TERM);
}
代码示例来源:origin: vmware/admiral
public static void addListValueClause(QueryTask.Query q, String propName,
Collection<String> values,
MatchType termMatchType) {
QueryTask.Query inClause = addListValueClause(propName, values, termMatchType);
q.addBooleanClause(inClause);
}
代码示例来源: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 void addListValueClause(QueryTask q, String propName,
Collection<String> values,
MatchType termMatchType) {
Query inClause = addListValueClause(propName, values, termMatchType);
q.querySpec.query.addBooleanClause(inClause);
}
代码示例来源: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 Query addTenantAndGroupClause(List<String> tenantLinks) {
Query groupClause = null;
String propertyName = QueryTask.QuerySpecification
.buildCollectionItemName(MultiTenantDocument.FIELD_NAME_TENANT_LINKS);
// if a tenant is not specified, search global only
if (tenantLinks == null || tenantLinks.isEmpty()) {
groupClause = new Query()
.setTermPropertyName(propertyName);
groupClause.setTermMatchType(MatchType.WILDCARD)
.setTermMatchValue(UriUtils.URI_WILDCARD_CHAR);
groupClause.occurance = Occurance.MUST_NOT_OCCUR;
} else {
groupClause = addListValueClause(propertyName, tenantLinks.stream()
.filter(tenantLink -> !tenantLink.startsWith(MultiTenantDocument.USERS_PREFIX))
.collect(Collectors.toList()), MatchType.TERM);
}
return groupClause;
}
代码示例来源:origin: vmware/admiral
public static Query addTenantClause(List<String> tenantLinks) {
Query groupClause = null;
String propertyName = QueryTask.QuerySpecification
.buildCollectionItemName(MultiTenantDocument.FIELD_NAME_TENANT_LINKS);
// if a tenant is not specified, search global only
if (tenantLinks == null || tenantLinks.isEmpty()) {
groupClause = new Query()
.setTermPropertyName(propertyName);
groupClause.setTermMatchType(MatchType.WILDCARD)
.setTermMatchValue(UriUtils.URI_WILDCARD_CHAR);
groupClause.occurance = Occurance.MUST_NOT_OCCUR;
} else {
groupClause = addListValueClause(propertyName, tenantLinks.stream()
.filter(tenantLink -> tenantLink.startsWith(MultiTenantDocument.TENANTS_PREFIX)
|| tenantLink.startsWith(MultiTenantDocument.PROJECTS_IDENTIFIER))
.filter(tenantLink -> !tenantLink.contains(
MultiTenantDocument.GROUP_IDENTIFIER))
.collect(Collectors.toList()), MatchType.TERM);
}
return groupClause;
}
代码示例来源:origin: vmware/admiral
public static Query addTenantAndUserClause(List<String> tenantLinks) {
Query groupClause = null;
String propertyName = QueryTask.QuerySpecification
.buildCollectionItemName(MultiTenantDocument.FIELD_NAME_TENANT_LINKS);
// if a tenant is not specified, search global only
if (tenantLinks == null || tenantLinks.isEmpty()) {
groupClause = new Query()
.setTermPropertyName(propertyName);
groupClause.setTermMatchType(MatchType.WILDCARD)
.setTermMatchValue(UriUtils.URI_WILDCARD_CHAR);
groupClause.occurance = Occurance.MUST_NOT_OCCUR;
} else {
groupClause = addListValueClause(propertyName, tenantLinks.stream()
.filter(tenantLink -> !tenantLink.contains(
MultiTenantDocument.GROUP_IDENTIFIER))
.collect(Collectors.toList()), MatchType.TERM);
}
return groupClause;
}
代码示例来源:origin: vmware/admiral
private void getContextContainerDescriptions(
Map<String, List<ContainerState>> containersByDescriptionLink,
Consumer<List<ContainerDescription>> callback) {
if ((containersByDescriptionLink == null) || (containersByDescriptionLink.isEmpty())) {
callback.accept(Collections.emptyList());
return;
}
QueryTask q = QueryUtil.buildQuery(ContainerDescription.class, true);
QueryUtil.addExpandOption(q);
QueryUtil.addListValueClause(q, ContainerDescription.FIELD_NAME_SELF_LINK,
containersByDescriptionLink.keySet());
q.taskInfo.isDirect = false;
List<ContainerDescription> result = new ArrayList<>();
new ServiceDocumentQuery<ContainerDescription>(getHost(), ContainerDescription.class)
.query(q, (r) -> {
if (r.hasException()) {
failTask("Exception while selecting container descriptions",
r.getException());
} else if (r.hasResult()) {
result.add(r.getResult());
} else {
callback.accept(result);
}
});
}
代码示例来源:origin: vmware/admiral
public static Query addTenantGroupAndUserClause(Collection<String> tenantLinks) {
Query groupClause = null;
String propertyName = QueryTask.QuerySpecification
.buildCollectionItemName(MultiTenantDocument.FIELD_NAME_TENANT_LINKS);
// if a tenant is not specified, search global only
if (tenantLinks == null || tenantLinks.isEmpty()) {
groupClause = new Query()
.setTermPropertyName(propertyName);
groupClause.setTermMatchType(MatchType.WILDCARD)
.setTermMatchValue(UriUtils.URI_WILDCARD_CHAR);
groupClause.occurance = Occurance.MUST_NOT_OCCUR;
} else {
groupClause = addListValueClause(propertyName, tenantLinks, MatchType.TERM);
}
return groupClause;
}
代码示例来源:origin: vmware/admiral
private void getContextContainerDescriptions(
Map<String, List<ContainerState>> containersByDescriptionLink,
Consumer<List<ContainerDescription>> callback) {
if ((containersByDescriptionLink == null) || (containersByDescriptionLink.isEmpty())) {
callback.accept(Collections.emptyList());
return;
}
QueryTask q = QueryUtil.buildQuery(ContainerDescription.class, true);
QueryUtil.addExpandOption(q);
QueryUtil.addListValueClause(q, ContainerDescription.FIELD_NAME_SELF_LINK,
containersByDescriptionLink.keySet());
q.taskInfo.isDirect = false;
List<ContainerDescription> result = new ArrayList<>();
new ServiceDocumentQuery<ContainerDescription>(getHost(), ContainerDescription.class)
.query(q, (r) -> {
if (r.hasException()) {
failTask("Exception while selecting container descriptions",
r.getException());
} else if (r.hasResult()) {
result.add(r.getResult());
} else {
callback.accept(result);
}
});
}
代码示例来源: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
private void queryContainers(ContainerHostRemovalTaskState state) {
QueryTask containerQuery = QueryUtil.buildQuery(ContainerState.class, true);
QueryUtil.addListValueClause(containerQuery,
ContainerState.FIELD_NAME_PARENT_LINK, state.resourceLinks);
Set<String> containerLinks = new HashSet<>();
new ServiceDocumentQuery<ContainerState>(getHost(), ContainerState.class).query(
containerQuery, (r) -> {
if (r.hasException()) {
failTask("Failure retrieving query results", r.getException());
return;
} else if (r.hasResult()) {
containerLinks.add(r.getDocumentSelfLink());
} else {
if (containerLinks.isEmpty()) {
queryNetworks(state);
return;
}
removeContainers(state, containerLinks);
}
});
}
代码示例来源:origin: vmware/admiral
private void queryPortProfiles(ContainerHostRemovalTaskState state) {
QueryTask q = QueryUtil
.buildQuery(HostPortProfileService.HostPortProfileState.class, false);
QueryUtil.addListValueClause(q, HostPortProfileService.HostPortProfileState.FIELD_HOST_LINK,
state.resourceLinks);
ServiceDocumentQuery<HostPortProfileService.HostPortProfileState> query = new ServiceDocumentQuery<>(
getHost(), HostPortProfileService.HostPortProfileState.class);
QueryUtil.addBroadcastOption(q);
ArrayList<String> hostPortProfileLinks = new ArrayList<>();
query.query(q, (r) -> {
if (r.hasException()) {
failTask("Failure retrieving query results", r.getException());
return;
} else if (r.hasResult()) {
hostPortProfileLinks.add(r.getDocumentSelfLink());
} else {
// if there are no host port profiles, go to the next stage
if (hostPortProfileLinks.isEmpty()) {
proceedTo(SubStage.REMOVED_PORT_PROFILES);
return;
}
removePortProfiles(state, hostPortProfileLinks, null);
proceedTo(SubStage.REMOVING_PORT_PROFILES);
}
});
}
代码示例来源:origin: vmware/admiral
@Override
public void handleDelete(Operation delete) {
if (delete.getBodyRaw() == null) {
super.handleDelete(delete);
return;
}
QueryTask compositeQueryTask = QueryUtil.buildQuery(CompositeDescription.class, true);
String descriptionLinksItemField = QueryTask.QuerySpecification.buildCollectionItemName(
CompositeDescription.FIELD_NAME_DESCRIPTION_LINKS);
QueryUtil.addExpandOption(compositeQueryTask);
QueryUtil.addListValueClause(compositeQueryTask,
descriptionLinksItemField, Arrays.asList(getSelfLink()));
List<String> compositeDescriptions = new ArrayList<>();
new ServiceDocumentQuery<CompositeDescription>(getHost(), CompositeDescription.class)
.query(compositeQueryTask, (r) -> {
if (r.hasException()) {
logSevere(
"Failed to retrieve composite-descriptions: %s - %s",
r.getDocumentSelfLink(), r.getException());
} else if (r.hasResult()) {
compositeDescriptions.addAll(r.getResult().descriptionLinks);
} else {
deleteContainerDescriptionLink(getState(delete), compositeDescriptions);
}
});
super.handleDelete(delete);
}
代码示例来源:origin: vmware/admiral
private void processContainerHealth(ServiceHost host,
ContainerDescription containerDescription) {
if (containerDescription.healthConfig == null
|| containerDescription.healthConfig.protocol == null) {
host.log(Level.FINE, "Container's health config not set for: %s",
containerDescription.documentSelfLink);
return;
}
QueryTask compositeQueryTask = QueryUtil.buildQuery(ContainerState.class, true);
QueryUtil.addExpandOption(compositeQueryTask);
String containerDescriptionLink = UriUtils.buildUriPath(
ManagementUriParts.CONTAINER_DESC,
Service.getId(containerDescription.documentSelfLink));
QueryUtil.addListValueClause(compositeQueryTask,
ContainerState.FIELD_NAME_DESCRIPTION_LINK,
Arrays.asList(containerDescriptionLink));
new ServiceDocumentQuery<>(host, ContainerState.class)
.query(compositeQueryTask, (r) -> {
if (r.hasException()) {
host.log(Level.SEVERE,
"Failed to retrieve child containers for: %s - %s",
containerDescriptionLink, Utils.toString(r.getException()));
} else if (r.hasResult()) {
doHealthCheckRequest(host, r.getResult(), containerDescription.healthConfig,
null);
}
});
}
代码示例来源:origin: vmware/admiral
public List<String> findResourceLinks(Class<? extends ServiceDocument> type,
Collection<String> resourceLinks) throws Throwable {
TestContext ctx = testCreate(1);
QueryTask query = QueryUtil.buildQuery(type, true);
QueryUtil.addListValueClause(query, ServiceDocument.FIELD_NAME_SELF_LINK, resourceLinks);
List<String> result = new LinkedList<>();
new ServiceDocumentQuery<>(
host, type).query(query,
(r) -> {
if (r.hasException()) {
ctx.failIteration(r.getException());
return;
}
if (r.hasResult()) {
result.add(r.getDocumentSelfLink());
return;
}
ctx.completeIteration();
});
ctx.await();
return result;
}
内容来源于网络,如有侵权,请联系作者删除!