com.vmware.admiral.common.util.QueryUtil类的使用及代码示例

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

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

QueryUtil介绍

暂无

代码示例

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

private void queryExternalNetworks(List<String> networks, Consumer<Boolean> resultCallback) {
  if (!networks.isEmpty()) {
    QueryTask networkQuery = QueryUtil.buildQuery(ContainerNetworkState.class, false);
    QueryUtil.addListValueClause(networkQuery, ServiceDocument.FIELD_NAME_SELF_LINK,
        networks);
    QueryUtil.addBroadcastOption(networkQuery);
    QueryUtil.addExpandOption(networkQuery);

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

@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 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

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

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

QueryTask queryTask = QueryUtil.buildQuery(ContainerVolumeState.class, true);
QueryUtil.addExpandOption(queryTask);
QueryUtil.addBroadcastOption(queryTask);

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

QueryTask q = QueryUtil.buildQuery(GroupResourcePlacementState.class, false);
          + " count: [%s]..", state.resourceDescriptionLink, state.resourceCount);
  Query tenantLinksQuery = QueryUtil.addTenantAndGroupClause(null);
  q.querySpec.query.addBooleanClause(tenantLinksQuery);
} else {
      state.tenantLinks, state.resourceDescriptionLink, state.resourceCount);
  Query tenantLinksQuery = QueryUtil.addTenantAndGroupClause(state.tenantLinks);
  q.querySpec.query.addBooleanClause(tenantLinksQuery);
QueryUtil.addExpandOption(q);

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

QueryTask q = QueryUtil.buildQuery(ContainerVolumeState.class, false, driverClause);
QueryUtil.addListValueClause(q, compositeComponentLinksItemField, cclValues);
QueryUtil.addListValueClause(q, ContainerVolumeState.FIELD_NAME_DESCRIPTION_LINK,
    descLinksWithNames.keySet());
QueryUtil.addCountOption(q);

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

private QueryTask buildRequestStatusQuery(List<String> tenantLinks) {
  QueryTask requestStatusQuery = QueryUtil.buildQuery(RequestStatus.class, true);
  QueryTask.Query runningTasksClause = new QueryTask.Query();
  if (!tenantLinks.isEmpty()) {
    requestStatusQuery.querySpec.query.addBooleanClause(QueryUtil
        .addTenantGroupAndUserClause(tenantLinks));
  }
  QueryTask.Query taskCreatedClause = new QueryTask.Query()
      .setTermPropertyName(TaskStatusState.FIELD_NAME_TASK_INFO + ".stage")
      .setTermMatchValue(TaskState.TaskStage.CREATED.toString());
  taskCreatedClause.occurance = Occurance.SHOULD_OCCUR;
  runningTasksClause.addBooleanClause(taskCreatedClause);
  QueryTask.Query taskStartedClause = new QueryTask.Query()
      .setTermPropertyName(TaskStatusState.FIELD_NAME_TASK_INFO + ".stage")
      .setTermMatchValue(TaskState.TaskStage.STARTED.toString());
  taskStartedClause.occurance = Occurance.SHOULD_OCCUR;
  runningTasksClause.addBooleanClause(taskStartedClause);
  requestStatusQuery.querySpec.query.addBooleanClause(runningTasksClause);
  QueryUtil.addCountOption(requestStatusQuery);
  return requestStatusQuery;
}

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

private void queryPortProfiles(ContainerHostRemovalTaskState state) {
  QueryTask q = QueryUtil
      .buildQuery(HostPortProfileService.HostPortProfileState.class, false);
  QueryUtil.addListValueClause(q, HostPortProfileService.HostPortProfileState.FIELD_HOST_LINK,
      state.resourceLinks);
  ServiceDocumentQuery<HostPortProfileService.HostPortProfileState> query = new ServiceDocumentQuery<>(
      getHost(), HostPortProfileService.HostPortProfileState.class);
  QueryUtil.addBroadcastOption(q);
  ArrayList<String> hostPortProfileLinks = new ArrayList<>();
  query.query(q, (r) -> {
    if (r.hasException()) {
      failTask("Failure retrieving query results", r.getException());
      return;
    } else if (r.hasResult()) {
      hostPortProfileLinks.add(r.getDocumentSelfLink());
    } else {
      // if there are no host port profiles, go to the next stage
      if (hostPortProfileLinks.isEmpty()) {
        proceedTo(SubStage.REMOVED_PORT_PROFILES);
        return;
      }
      removePortProfiles(state, hostPortProfileLinks, null);
      proceedTo(SubStage.REMOVING_PORT_PROFILES);
    }
  });
}

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

private void queryContainerNetworkResources(ContainerNetworkRemovalTaskState state) {
  QueryTask networkQuery = createResourcesQuery(ContainerNetworkState.class,
      state.resourceLinks);
  ServiceDocumentQuery<ContainerNetworkState> query = new ServiceDocumentQuery<>(getHost(),
      ContainerNetworkState.class);
  List<String> networkLinks = new ArrayList<>();
  QueryUtil.addBroadcastOption(networkQuery);
  QueryUtil.addExpandOption(networkQuery);
  query.query(networkQuery, (r) -> {
    if (r.hasException()) {
      failTask("Failure retrieving query results", r.getException());
    } else if (r.hasResult()) {
      networkLinks.add(r.getDocumentSelfLink());
    } else {
      if (networkLinks.isEmpty()) {
        logWarning("No available resources found to be removed with links: %s",
            state.resourceLinks);
        proceedTo(SubStage.COMPLETED);
      } else {
        deleteResourceInstances(state, networkLinks, null);
      }
    }
  });
}

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

QueryTask queryTask = QueryUtil.buildQuery(RegistryState.class, true);
RegistryState registry = post.getBody(RegistryState.class);
AssertUtil.assertNotNullOrEmpty(registry.address, "registry.address");
    .addTenantGroupAndUserClause(registry.tenantLinks));
QueryUtil.addExpandOption(queryTask);

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

@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

QueryTask queryTask = QueryUtil.buildQuery(ContainerState.class, true);
QueryUtil.addCountOption(queryTask);
    ManagementUriParts.CONTAINER_DESC,
    Service.getId(currentState.descriptionLink));
QueryUtil.addListValueClause(queryTask,
    ContainerState.FIELD_NAME_DESCRIPTION_LINK,
    Arrays.asList(containerDescriptionLink));
QueryUtil.addListValueExcludeClause(queryTask,
    ContainerState.FIELD_NAME_SELF_LINK,
    Arrays.asList(currentState.documentSelfLink));

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

@Override
protected QueryTask getDescQuery() {
  return QueryUtil.buildPropertyQuery(ContainerDescription.class,
      ContainerDescription.FIELD_NAME_POD, pod);
}

相关文章