private void retrieveResourcePoolState(EpzComputeEnumerationTaskState state) { sendRequest(Operation.createGet(getHost(), state.resourcePoolLink).setCompletion((o, e) -> { if (e != null) { failTask(String.format("Error retrieving resource pool %s", state.resourcePoolLink), e, !(e instanceof ServiceNotFoundException)); return; } proceedTo(EpzComputeEnumerationTaskState.SubStage.QUERY_COMPUTES_TO_UNASSIGN, s -> { s.resourcePoolQuery = o.getBody(ResourcePoolState.class).query; }); })); }
failTask("Error updating computes", exs.values().iterator().next()); return;
private void updateComputes(EpzComputeEnumerationTaskState state, boolean assign) { sendRequest(Operation .createGet(getHost(), state.nextPageLink) .setCompletion((o, e) -> { if (e != null) { failTask("Error retrieving computes", e); return; } updateComputes(state, o.getBody(QueryTask.class).results, assign, assign ? EpzComputeEnumerationTaskState.SubStage.COMPLETED : EpzComputeEnumerationTaskState.SubStage.QUERY_COMPUTES_TO_ASSIGN); })); }
private void queryComputes(EpzComputeEnumerationTaskState state, Query computeQuery, EpzComputeEnumerationTaskState.SubStage updateStage, EpzComputeEnumerationTaskState.SubStage nextStage) { QueryTask task = QueryTask.Builder.createDirectTask().setQuery(computeQuery) .setResultLimit(COMPUTE_PAGE_SIZE).addOption(QueryOption.EXPAND_CONTENT).build(); sendRequest(Operation .createPost(this, ServiceUriPaths.CORE_QUERY_TASKS) .setBody(task) .setCompletion((o, e) -> { if (e != null) { failTask("Error quering for computes", e); return; } ServiceDocumentQueryResult result = o.getBody(QueryTask.class).results; if (result.nextPageLink == null) { logFine("No computes found to %s resource pool %s", updateStage == EpzComputeEnumerationTaskState.SubStage.ASSIGN_COMPUTES ? "assign to" : "unassign from", state.resourcePoolLink); proceedTo(nextStage); } else { proceedTo(updateStage, s -> { s.nextPageLink = result.nextPageLink; }); } })); }