public boolean getHasAsyncTasks() { return getVdsmTaskIdList() != null && getVdsmTaskIdList().size() > 0; }
protected Response actionAsync(ActionReturnValue actionResult, Action action) { action.setAsync(true); String ids = asString(actionResult.getVdsmTaskIdList()); action.setId(ids); Current current = CurrentManager.get(); String path = current.getRelativePath(); action.setHref(path + "/" + ids); addOrUpdateLink(action, "parent", path.substring(0, path.lastIndexOf("/"))); addOrUpdateLink(action, "replay", path); CreationStatus status = getAsynchronousStatus(actionResult); if (status != null) { action.setStatus(status.value()); } return Response.status(ACCEPTED_STATUS).entity(action).build(); }
protected void handleAsynchrony(ActionReturnValue result, R model) { CreationStatus status = getAsynchronousStatus(result); if (status != null) { model.setCreationStatus(status.value()); } linkSubResource(model, CREATION_STATUS_REL, asString(result.getVdsmTaskIdList())); }
private CreationStatus getVdsmTasksStatus(ActionReturnValue result) { CreationStatus asyncStatus = null; QueryReturnValue monitorResult = runQuery(QueryType.GetTasksStatusesByTasksIDs, new GetTasksStatusesByTasksIDsParameters(result.getVdsmTaskIdList())); if (monitorResult != null && monitorResult.getSucceeded() && monitorResult.getReturnValue() != null) { Mapper<AsyncTaskStatus, CreationStatus> mapper = getMapper(AsyncTaskStatus.class, CreationStatus.class); for (AsyncTaskStatus task : asCollection(AsyncTaskStatus.class, monitorResult.getReturnValue())) { asyncStatus = mapper.map(task, asyncStatus); } } return asyncStatus; }
public static void serialize(SerializationStreamWriter streamWriter, ActionReturnValue instance) throws SerializationException { streamWriter.writeBoolean(instance.isValid()); streamWriter.writeObject(instance.getValidationMessages()); streamWriter.writeObject(instance.getExecuteFailedMessages()); streamWriter.writeBoolean(instance.getSucceeded()); streamWriter.writeBoolean(instance.getIsSynchronous()); streamWriter.writeString(instance.getDescription()); streamWriter.writeObject(instance.getTaskPlaceHolderIdList()); streamWriter.writeObject(instance.getVdsmTaskIdList()); streamWriter.writeBoolean(instance.getEndActionTryAgain()); streamWriter.writeObject(instance.getFault()); ObjectSerializer.serialize(streamWriter, instance.getActionReturnValue()); }