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

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

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

QueryUtil.buildQuery介绍

暂无

代码示例

代码示例来源: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 QueryTask buildQuery(Class<? extends ServiceDocument> stateClass,
    boolean direct, QueryTask.Query... clauses) {
  String kind = Utils.buildKind(stateClass);
  return buildQuery(kind, direct, clauses);
}

代码示例来源: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

public static QueryTask buildPropertyQuery(Class<? extends ServiceDocument> stateClass,
    String... propsAndValues) {
  QueryTask.Query[] queries = new QueryTask.Query[propsAndValues.length / 2];
  for (int i = 0; i < propsAndValues.length; i++) {
    String prop = propsAndValues[i];
    String value = propsAndValues[++i];
    QueryTask.Query clause = new QueryTask.Query()
        .setTermPropertyName(prop)
        .setTermMatchValue(value);
    queries[(i - 1) / 2] = clause;
  }
  return buildQuery(stateClass, true, queries);
}

代码示例来源: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 QueryTask createQueryTaskForProjectAssociatedWithPlacement(ResourceState project,
    Query query) {
  QueryTask queryTask = null;
  if (query != null) {
    queryTask = QueryTask.Builder.createDirectTask().setQuery(query).build();
  } else if (project != null && project.documentSelfLink != null) {
    queryTask = QueryUtil.buildQuery(GroupResourcePlacementState.class, true,
        QueryUtil.addTenantAndGroupClause(Arrays.asList(project.documentSelfLink)));
  }
  if (queryTask != null) {
    QueryUtil.addCountOption(queryTask);
  }
  return queryTask;
}

代码示例来源:origin: vmware/admiral

private void queryResourceNamePrefixes(ResourceNamePrefixTaskState state, boolean globalSearch) {
  // match on group property:
  QueryTask q = QueryUtil.buildQuery(ResourceNamePrefixState.class, true);
  q.tenantLinks = state.tenantLinks;
  List<String> documentLinks = new ArrayList<>();
  new ServiceDocumentQuery<>(getHost(), ResourceNamePrefixState.class)
      .query(q, (r) -> {
        if (r.hasException()) {
          failTask("Cannot retrieve prefixes", r.getException());
        } else if (r.hasResult()) {
          documentLinks.add(r.getDocumentSelfLink());
        } else {
          selectResourceNamePrefix(state, documentLinks.iterator(), globalSearch);
        }
      });
}

代码示例来源: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 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

@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

private QueryTask createDockerComputeDescriptionQuery() {
  QueryTask q = QueryUtil.buildQuery(ComputeDescription.class, true);
  QueryTask.Query hostTypeClause = new QueryTask.Query()
      .setTermPropertyName(QuerySpecification.buildCollectionItemName(
          ComputeDescription.FIELD_NAME_SUPPORTED_CHILDREN))
      .setTermMatchValue(ComputeType.DOCKER_CONTAINER.name());
  q.querySpec.query.addBooleanClause(hostTypeClause);
  q.querySpec.resultLimit = ServiceDocumentQuery.DEFAULT_QUERY_RESULT_LIMIT;
  q.documentExpirationTimeMicros = ServiceDocumentQuery.getDefaultQueryExpiration();
  return q;
}

代码示例来源: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

private List<CompositeKubernetesRemovalTaskState> queryCompositeKubernetesRemovalTask() {
    QueryTask q = QueryUtil.buildQuery(CompositeKubernetesRemovalTaskState.class, false);
    q.querySpec.options = EnumSet.of(QueryOption.EXPAND_CONTENT);
    ServiceDocumentQuery<CompositeKubernetesRemovalTaskState> query = new ServiceDocumentQuery<>(
        host, CompositeKubernetesRemovalTaskState.class);

    List<CompositeKubernetesRemovalTaskState> result = new ArrayList<>();
    TestContext ctx = testCreate(1);

    query.query(q, (r) -> {
      if (r.hasException()) {
        ctx.failIteration(r.getException());
      } else if (r.hasResult()) {
        result.add(r.getResult());
      } else {
        ctx.completeIteration();
      }
    });

    ctx.await();

    return result;
  }
}

代码示例来源:origin: vmware/admiral

private List<CompositionSubTaskState> queryCompositionSubTasks() {
  QueryTask q = QueryUtil.buildQuery(CompositionSubTaskState.class, false);
  q.querySpec.options = EnumSet.of(QueryOption.EXPAND_CONTENT);
  ServiceDocumentQuery<CompositionSubTaskState> query = new ServiceDocumentQuery<>(host,
      CompositionSubTaskState.class);
  List<CompositionSubTaskState> result = new ArrayList<>();
  TestContext ctx = testCreate(1);
  query.query(q, (r) -> {
    if (r.hasException()) {
      ctx.failIteration(r.getException());
    } else if (r.hasResult()) {
      result.add(r.getResult());
    } else {
      ctx.completeIteration();
    }
  });
  ctx.await();
  return result;
}

代码示例来源:origin: vmware/admiral

public List<String> getDocumentLinksOfType(Class<? extends ServiceDocument> type)
    throws Throwable {
  TestContext ctx = testCreate(1);
  QueryTask query = QueryUtil.buildQuery(type, true);
  List<String> 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.getDocumentSelfLink());
            } else {
              ctx.completeIteration();
            }
          });
  ctx.await();
  return result;
}

代码示例来源:origin: vmware/admiral

private void verifyCompositesRemoved() throws Throwable {
    QueryTask q = QueryUtil.buildQuery(CompositeComponent.class, false);

    ServiceDocumentQuery<?> query = new ServiceDocumentQuery<>(host,
        CompositeComponent.class);

    TestContext ctx = testCreate(1);
    query.query(q, (r) -> {
      if (r.hasException()) {
        host.log(Level.SEVERE,
            "Exception during search for CompositeComponents",
            r.getException().getMessage());
        ctx.failIteration(r.getException());
      } else if (r.hasResult()) {
        ctx.failIteration(new IllegalStateException("CompositeComponents found!"));
      } else {
        ctx.completeIteration();
      }
    });
    ctx.await();
  }
}

相关文章