本文整理了Java中com.vmware.admiral.common.util.QueryUtil.addExpandOption
方法的一些代码示例,展示了QueryUtil.addExpandOption
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryUtil.addExpandOption
方法的具体详情如下:
包路径:com.vmware.admiral.common.util.QueryUtil
类名称:QueryUtil
方法名:addExpandOption
暂无
代码示例来源:origin: vmware/admiral
/**
* Builds a query task from the given queries.
* @param additionalClauses
* @return
*/
private static QueryTask buildRegistryQuery(Query... additionalClauses) {
List<Query> clauses = new ArrayList<>();
if (additionalClauses != null) {
clauses.addAll(Arrays.asList(additionalClauses));
}
Query excludeDisabledClause = new Query()
.setTermPropertyName(RegistryState.FIELD_NAME_DISABLED)
.setTermMatchValue(Boolean.TRUE.toString());
excludeDisabledClause.occurance = Occurance.MUST_NOT_OCCUR;
clauses.add(excludeDisabledClause);
QueryTask queryTask = QueryUtil.buildQuery(RegistryState.class, true,
clauses.toArray(new Query[clauses.size()]));
QueryUtil.addExpandOption(queryTask);
return queryTask;
}
代码示例来源: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
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
private void queryContainersByHost(AdapterRequest state, Consumer<List<ContainerState>> callback) {
String parentLink = state.resourceReference.getPath();
QueryTask q = QueryUtil.buildPropertyQuery(MockDockerContainerToHostState.class,
MockDockerContainerToHostState.FIELD_NAME_PARENT_LINK, parentLink);
QueryUtil.addExpandOption(q);
List<ContainerState> containerStates = new ArrayList<>();
new ServiceDocumentQuery<>(getHost(), MockDockerContainerToHostState.class).query(q,
(r) -> {
if (r.hasException()) {
patchTaskStage(state, r.getException());
} else if (r.hasResult()) {
containerStates.add(buildContainer(r.getResult()));
} else {
callback.accept(containerStates);
}
});
}
代码示例来源:origin: vmware/admiral
private void queryNetworksByHost(AdapterRequest state,
Consumer<List<ContainerNetworkState>> callback) {
String hostLink = state.resourceReference.getPath();
QueryTask q = QueryUtil.buildPropertyQuery(MockDockerNetworkToHostState.class,
MockDockerNetworkToHostState.FIELD_NAME_HOST_LINK, hostLink);
QueryUtil.addExpandOption(q);
List<ContainerNetworkState> networkStates = new ArrayList< >();
new ServiceDocumentQuery<>(getHost(), MockDockerNetworkToHostState.class).query(q,
(r) -> {
if (r.hasException()) {
patchTaskStage(state, r.getException());
} else if (r.hasResult()) {
networkStates.add(buildContainerNetwork(r.getResult()));
} else {
callback.accept(networkStates);
}
});
}
代码示例来源:origin: vmware/admiral
private void queryVolumesByHost(AdapterRequest state, Consumer<List<ContainerVolumeState>> callback) {
String hostLink = state.resourceReference.getPath();
QueryTask q = QueryUtil.buildPropertyQuery(MockDockerVolumeToHostState.class,
MockDockerVolumeToHostState.FIELD_NAME_HOST_LINK, hostLink);
QueryUtil.addExpandOption(q);
List<ContainerVolumeState> volumeStates = new ArrayList< >();
new ServiceDocumentQuery<>(getHost(),
MockDockerVolumeToHostState.class).query(q,
(r) -> {
if (r.hasException()) {
patchTaskStage(state, r.getException());
} else if (r.hasResult()) {
volumeStates.add(buildContainerVolume(r.getResult()));
} else {
callback.accept(volumeStates);
}
});
}
代码示例来源: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 queryExistingContainerStates(ContainerListCallback body) {
String containerHostLink = body.containerHostLink;
QueryTask queryTask = QueryUtil.buildPropertyQuery(ContainerState.class,
ContainerState.FIELD_NAME_PARENT_LINK, containerHostLink);
QueryUtil.addExpandOption(queryTask);
QueryUtil.addBroadcastOption(queryTask);
new ServiceDocumentQuery<ContainerState>(getHost(), ContainerState.class)
.query(queryTask, processContainerStatesQueryResults(body));
}
代码示例来源:origin: vmware/admiral
public static void processDocuments(List<MultiTenantDocument> documents, Operation post,
Service sender, String factoryLink, URI referer,
ServiceHost host, boolean generateSelfLink) {
QueryTask queryTask = QueryUtil.buildQuery(ProjectState.class, true);
QueryUtil.addExpandOption(queryTask);
List<ProjectState> projects = new ArrayList<ProjectState>();
new ServiceDocumentQuery<ProjectState>(host, ProjectState.class)
.query(queryTask, (r) -> {
if (r.hasException()) {
host.log(Level.SEVERE, "Failed to query for project states");
post.fail(r.getException());
} else if (r.hasResult()) {
projects.add(r.getResult());
} else {
host.log(Level.INFO, "projects found: %d", projects.size());
processProjects(projects, documents, post, sender,
factoryLink, referer, host, generateSelfLink);
}
});
}
代码示例来源: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
@SuppressWarnings("unchecked")
@Override
public void handlePost(Operation post) {
logInfo("Population of favorite images for specific tenants triggered.");
List<String> tenantLinks = post.getBody(List.class);
List<FavoriteImage> globalFavorites = new LinkedList<>();
QueryTask queryTask = QueryUtil.buildQuery(FavoriteImage.class, true,
QueryUtil.addTenantClause(null));
QueryUtil.addExpandOption(queryTask);
new ServiceDocumentQuery<>(getHost(), FavoriteImage.class)
.query(queryTask, r -> {
if (r.hasException()) {
post.fail(r.getException());
} else if (r.hasResult()) {
globalFavorites.add(r.getResult());
} else {
createFavoriteImagesBasedOnFlagStatus(post, tenantLinks, globalFavorites);
}
});
}
代码示例来源:origin: vmware/admiral
private void proceedWithComputeStates(ContainerDescription containerDesc,
AdmiralAdapterTaskState state,
Class<? extends ServiceDocument> type, String propId, String propValue,
Consumer<ServiceDocumentQuery.ServiceDocumentQueryElementResult<ServiceDocument>> completionHandler) {
QueryTask q = QueryUtil.buildPropertyQuery(type, propId, propValue);
q.documentExpirationTimeMicros = ServiceDocumentQuery.getDefaultQueryExpiration();
QueryUtil.addExpandOption(q);
sendRequest(Operation
.createPost(UriUtils.buildUri(getHost(), ServiceUriPaths.CORE_QUERY_TASKS))
.setBody(q)
.setCompletion(
(o, e) -> {
if (e != null) {
completionHandler.accept(error(e));
return;
}
handleFetchedComputeStates(containerDesc, state, propValue,
completionHandler, o);
}));
}
代码示例来源:origin: vmware/admiral
private QueryTask getKubernetesStatesQueryTask() {
QueryTask q = new QueryTask();
q.querySpec = new QueryTask.QuerySpecification();
q.taskInfo.isDirect = true;
Iterator<Class<? extends ResourceState>> iterator = CompositeComponentRegistry.getClasses();
QueryTask.Query clause = new QueryTask.Query().setOccurance(Occurance.MUST_OCCUR);
while (iterator.hasNext()) {
clause.addBooleanClause(new Query()
.setTermPropertyName(ServiceDocument.FIELD_NAME_KIND)
.setTermMatchValue(Utils.buildKind(iterator.next()))
.setOccurance(Occurance.SHOULD_OCCUR));
}
q.querySpec.query.addBooleanClause(clause);
q.documentExpirationTimeMicros = ServiceDocumentQuery.getDefaultQueryExpiration();
QueryUtil.addExpandOption(q);
QueryUtil.addBroadcastOption(q);
return q;
}
代码示例来源:origin: vmware/admiral
private DeferredResult<Void> loadSubscriptions() {
DeferredResult<Void> res = new DeferredResult<>();
QueryTask q = QueryUtil.buildQuery(ExtensibilitySubscription.class, false);
QueryUtil.addExpandOption(q);
new ServiceDocumentQuery<>(getHost(), ExtensibilitySubscription.class)
.query(q, (r) -> {
if (r.hasException()) {
logSevere("Exception while initializing LifecycleExtensibilityManager. "
+ "Error: [%s]", r.getException().getMessage());
res.fail(r.getException());
} else if (r.hasResult()) {
ExtensibilitySubscription state = r.getResult();
addExtensibilitySubscription(state);
} else {
logInfo("Loaded %d extensibility states", subscriptions.size());
res.complete(null);
}
});
return res;
}
代码示例来源:origin: vmware/admiral
private DeferredResult<Void> loadTopics() {
DeferredResult<Void> res = new DeferredResult<>();
QueryTask q = QueryUtil.buildQuery(EventTopicState.class, false);
QueryUtil.addExpandOption(q);
new ServiceDocumentQuery<>(getHost(), EventTopicState.class)
.query(q, (r) -> {
if (r.hasException()) {
logSevere("Exception while initializing LifecycleExtensibilityManager. "
+ "Error: [%s]", r.getException().getMessage());
res.fail(r.getException());
} else if (r.hasResult()) {
EventTopicState state = r.getResult();
handleUpdateEventTopicState(state);
} else {
logInfo("Loaded %d extensibility states", subscriptions.size());
res.complete(null);
}
});
return res;
}
代码示例来源: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
public <T extends ServiceDocument> List<T> getDocumentsOfType(Class<T> type)
throws Throwable {
TestContext ctx = testCreate(1);
QueryTask query = QueryUtil.addExpandOption(QueryUtil.buildQuery(type, true));
List<T> 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.getResult());
} else {
ctx.completeIteration();
}
});
ctx.await();
return result;
}
代码示例来源:origin: vmware/admiral
protected Set<ContainerState> getExistingContainersInAdapter() {
host.testStart(1);
QueryTask q = QueryUtil.buildPropertyQuery(MockDockerContainerToHostState.class);
QueryUtil.addExpandOption(q);
Set<ContainerState> containerStates = new HashSet<>();
new ServiceDocumentQuery<>(host, MockDockerContainerToHostState.class).query(q,
(r) -> {
if (r.hasException()) {
host.failIteration(r.getException());
} else if (r.hasResult()) {
containerStates.add(buildContainer(r.getResult()));
} else {
host.completeIteration();
}
});
host.testWait();
return containerStates;
}
代码示例来源:origin: vmware/admiral
private List<ContainerVolumeState> getVolumeStates() throws Throwable {
List<ContainerVolumeState> volumeStatesFound = new ArrayList<>();
TestContext ctx = testCreate(1);
ServiceDocumentQuery<ContainerVolumeState> query = new ServiceDocumentQuery<>(host,
ContainerVolumeState.class);
QueryTask queryTask = QueryUtil.buildPropertyQuery(ContainerVolumeState.class);
QueryUtil.addExpandOption(queryTask);
query.query(queryTask, (r) -> {
if (r.hasException()) {
host.log("Exception while retrieving ContainerVolumeState: "
+ (r.getException() instanceof CancellationException
? r.getException().getMessage()
: Utils.toString(r.getException())));
ctx.fail(r.getException());
} else if (r.hasResult()) {
volumeStatesFound.add(r.getResult());
} else {
ctx.complete();
}
});
ctx.await();
return volumeStatesFound;
}
内容来源于网络,如有侵权,请联系作者删除!