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

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

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

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

相关文章