本文整理了Java中com.vmware.admiral.common.util.QueryUtil.buildPropertyQuery
方法的一些代码示例,展示了QueryUtil.buildPropertyQuery
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryUtil.buildPropertyQuery
方法的具体详情如下:
包路径:com.vmware.admiral.common.util.QueryUtil
类名称:QueryUtil
方法名:buildPropertyQuery
暂无
代码示例来源:origin: vmware/admiral
@Override
protected QueryTask getDescQuery() {
return QueryUtil.buildPropertyQuery(ContainerDescription.class,
ContainerDescription.FIELD_NAME_POD, pod);
}
代码示例来源:origin: vmware/admiral
private DeferredResult<Void> queryExistingContainerStates(String containerHostLink) {
QueryTask queryTask = QueryUtil.buildPropertyQuery(ContainerState.class,
ContainerState.FIELD_NAME_PARENT_LINK, containerHostLink);
DeferredResult<Void> df = new DeferredResult<>();
new ServiceDocumentQuery<ContainerState>(host, ContainerState.class)
.query(queryTask, processContainerStatesQueryResults(df));
return df;
}
代码示例来源: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
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 removeNetworkByReference(MockAdapterRequest state) {
String networkName = Service.getId(state.resourceReference.getPath());
QueryTask q = QueryUtil.buildPropertyQuery(MockDockerNetworkToHostState.class,
MockDockerNetworkToHostState.FIELD_NAME_NAME, networkName);
List<String> mockNetworkToHostLinks = new ArrayList<>();
new ServiceDocumentQuery<>(getHost(), MockDockerNetworkToHostState.class).query(q,
(r) -> {
if (r.hasException()) {
patchTaskStage(state, r.getException());
} else if (r.hasResult()) {
mockNetworkToHostLinks.add(r.getDocumentSelfLink());
} else {
removeMockNetworkFromHost(state, mockNetworkToHostLinks);
}
});
}
代码示例来源:origin: vmware/admiral
private void removeContainerByReference(MockAdapterRequest state) {
String containerName = Service.getId(state.resourceReference.getPath());
QueryTask q = QueryUtil.buildPropertyQuery(MockDockerContainerToHostState.class,
MockDockerContainerToHostState.FIELD_NAME_NAME, containerName);
List<String> mockContainerToHostLinks = new ArrayList<>();
new ServiceDocumentQuery<>(getHost(), MockDockerContainerToHostState.class).query(q,
(r) -> {
if (r.hasException()) {
patchTaskStage(state, r.getException());
} else if (r.hasResult()) {
mockContainerToHostLinks.add(r.getDocumentSelfLink());
} else {
removeMockContainerFromHost(state, mockContainerToHostLinks);
}
});
}
代码示例来源:origin: vmware/admiral
@SuppressWarnings("unchecked")
private <T extends ServiceDocument> void countResourcesForPlacement(
GroupResourcePlacementState state,
Consumer<ServiceDocumentQueryElementResult<T>> completionHandler) {
QueryTask queryTask;
Class<T> resourceClass;
if (ResourceType.CONTAINER_TYPE.getName().equals(state.resourceType)) {
resourceClass = (Class<T>) ContainerState.class;
queryTask = QueryUtil.buildPropertyQuery(resourceClass,
ContainerState.FIELD_NAME_GROUP_RESOURCE_PLACEMENT_LINK,
state.documentSelfLink);
} else {
throw new LocalizableValidationException("Unsupported placement resourceType "
+ state.resourceType,
"compute.placements.invalid.resource.type");
}
QueryUtil.addCountOption(queryTask);
new ServiceDocumentQuery<>(getHost(), resourceClass)
.query(queryTask, completionHandler);
}
代码示例来源:origin: vmware/admiral
private void removeVolumeByReference(MockAdapterRequest state) {
String volumeName = Service.getId(state.resourceReference.getPath());
QueryTask q = QueryUtil.buildPropertyQuery(MockDockerVolumeToHostState.class,
MockDockerVolumeToHostState.FIELD_NAME_NAME, volumeName);
List<String> mockVolumeToHostLinks = new ArrayList<>();
new ServiceDocumentQuery<>(getHost(),
MockDockerVolumeToHostState.class).query(q,
(r) -> {
if (r.hasException()) {
patchTaskStage(state, r.getException());
} else if (r.hasResult()) {
mockVolumeToHostLinks.add(r.getDocumentSelfLink());
} else {
removeMockVolumeFromHost(state, mockVolumeToHostLinks);
}
});
}
代码示例来源:origin: vmware/admiral
private List<GroupResourcePlacementState> getPlacementsForZone(String placementZoneLink) {
QueryTask queryTask = QueryUtil.buildPropertyQuery(GroupResourcePlacementState.class,
GroupResourcePlacementState.FIELD_NAME_RESOURCE_POOL_LINK, placementZoneLink);
QueryByPages<GroupResourcePlacementState> pages = new QueryByPages<>(host,
queryTask.querySpec.query, GroupResourcePlacementState.class, null);
return QueryTemplate.waitToComplete(pages.collectDocuments(Collectors.toList()));
}
代码示例来源: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
private DeferredResult<List<ComputeState>> getHostsForPool(
ElasticPlacementZoneConfigurationState pool) {
ResourcePoolQueryHelper helper = ResourcePoolQueryHelper.createForResourcePool(getHost(),
pool.documentSelfLink);
helper.setExpandComputes(true);
DeferredResult<List<ComputeState>> deferredResult = new DeferredResult<>();
QueryTask queryTask = QueryUtil.buildPropertyQuery(ComputeState.class,
ComputeState.FIELD_NAME_RESOURCE_POOL_LINK,
pool.documentSelfLink);
QueryUtil.addExpandOption(queryTask);
helper.query((qr) -> {
if (qr.error != null) {
logSevere(
"Failed to query hosts with resource pool link %s",
pool.documentSelfLink);
deferredResult.fail(qr.error);
} else {
logInfo("Hosts found %d for resource pool %s",
qr.computesByLink.size(), pool.documentSelfLink);
deferredResult.complete(new ArrayList<>(qr.computesByLink.values()));
}
});
return deferredResult;
}
代码示例来源: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
public static DeferredResult<Void> handleDelete(Service service, Operation op) {
ResourcePoolState currentState = service.getState(op);
QueryTask queryTask;
if (currentState.query != null) {
queryTask = QueryTask.Builder.createDirectTask().setQuery(currentState.query).build();
} else if (currentState.documentSelfLink != null) {
queryTask = QueryUtil.buildPropertyQuery(ComputeState.class,
ComputeState.FIELD_NAME_RESOURCE_POOL_LINK, currentState.documentSelfLink);
} else {
return null;
}
QueryUtil.addCountOption(queryTask);
return QueryUtils.startQueryTask(service, queryTask)
.thenAccept(qt -> {
ServiceDocumentQueryResult result = qt.results;
if (result.documentCount != 0) {
throw new LocalizableValidationException(
PLACEMENT_ZONE_IN_USE_MESSAGE,
PLACEMENT_ZONE_IN_USE_MESSAGE_CODE);
}
});
}
}
代码示例来源:origin: vmware/admiral
private ComputeState assertComputeStateExists(ContainerHostSpec hostSpec) {
QueryTask queryTask = QueryUtil.buildPropertyQuery(ComputeState.class,
ComputeState.FIELD_NAME_DESCRIPTION_LINK, hostSpec.hostState.descriptionLink);
QueryUtil.addExpandOption(queryTask);
List<ComputeState> computeStates = new ArrayList<>();
host.testStart(1);
new ServiceDocumentQuery<>(host, ComputeState.class)
.query(queryTask,
(r) -> {
if (r.hasException()) {
host.log("Exception while getting the compute state.");
host.failIteration(r.getException());
} else if (r.hasResult()) {
computeStates.add(r.getResult());
} else {
if (computeStates.isEmpty()) {
host.log("No compute state with description link %s",
hostSpec.hostState.descriptionLink);
host.failIteration(r.getException());
} else {
host.completeIteration();
}
}
});
host.testWait();
assertHostPortProfileStateExists(computeStates.get(0).documentSelfLink);
return computeStates.get(0);
}
代码示例来源: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 void disableContainersForHost(String computeStateSelfLink) {
QueryTask containerQuery = QueryUtil.buildPropertyQuery(ContainerState.class,
ContainerState.FIELD_NAME_PARENT_LINK, computeStateSelfLink);
ContainerState errorState = new ContainerState();
errorState.powerState = ContainerState.PowerState.ERROR;
new ServiceDocumentQuery<>(getHost(), ContainerState.class).query(
containerQuery, (r) -> {
if (r.hasException()) {
logWarning("Failed to retrieve containers for ComputeState: %s",
computeStateSelfLink);
return;
} else if (r.hasResult()) {
logWarning("Disable container %s, because host %s is unavailable",
r.getDocumentSelfLink(), computeStateSelfLink);
sendRequest(Operation
.createPatch(this, r.getDocumentSelfLink())
.setAuthorizationContext(getSystemAuthorizationContext())
.setBodyNoCloning(errorState));
}
});
}
代码示例来源: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;
}
代码示例来源:origin: vmware/admiral
private List<ContainerNetworkState> getNetworkStates() throws Throwable {
List<ContainerNetworkState> networkStatesFound = new ArrayList<>();
TestContext ctx = testCreate(1);
ServiceDocumentQuery<ContainerNetworkState> query = new ServiceDocumentQuery<>(host,
ContainerNetworkState.class);
QueryTask queryTask = QueryUtil.buildPropertyQuery(ContainerNetworkState.class);
QueryUtil.addExpandOption(queryTask);
query.query(queryTask, (r) -> {
if (r.hasException()) {
host.log("Exception while retrieving ContainerNetworkState: "
+ (r.getException() instanceof CancellationException
? r.getException().getMessage()
: Utils.toString(r.getException())));
ctx.fail(r.getException());
} else if (r.hasResult()) {
networkStatesFound.add(r.getResult());
} else {
ctx.complete();
}
});
ctx.await();
return networkStatesFound;
}
代码示例来源:origin: vmware/admiral
public static DeferredResult<Void> handleDelete(Service service, Operation op) {
DeferredResult<Void> dr = new DeferredResult<>();
service.sendRequest(Operation.createPost(service, ServiceUriPaths.CORE_QUERY_TASKS)
.setBody(QueryUtil.addCountOption(QueryUtil.buildPropertyQuery(ComputeState.class,
QuerySpecification.buildCompositeFieldName(
ComputeState.FIELD_NAME_CUSTOM_PROPERTIES,
ComputeConstants.HOST_AUTH_CREDENTIALS_PROP_NAME),
service.getSelfLink())))
.setCompletion((o, e) -> {
if (e != null) {
service.getHost().log(Level.WARNING, Utils.toString(e));
dr.fail(e);
}
ServiceDocumentQueryResult result = o.getBody(QueryTask.class).results;
if (result.documentCount != 0) {
op.fail(new LocalizableValidationException(CREDENTIALS_IN_USE_MESSAGE,
CREDENTIALS_IN_USE_MESSAGE_CODE));
}
dr.complete(null);
}));
return dr;
}
内容来源于网络,如有侵权,请联系作者删除!