com.vmware.admiral.common.util.QueryUtil.buildPropertyQuery()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(14.1k)|赞(0)|评价(0)|浏览(71)

本文整理了Java中com.vmware.admiral.common.util.QueryUtil.buildPropertyQuery方法的一些代码示例,展示了QueryUtil.buildPropertyQuery的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryUtil.buildPropertyQuery方法的具体详情如下:
包路径:com.vmware.admiral.common.util.QueryUtil
类名称:QueryUtil
方法名:buildPropertyQuery

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;
}

相关文章