@Override public void onFailure(final List<VdcOperation<ActionType, ActionParametersBase>> operation, final Throwable caught) { if (ignoreFailure(caught)) { return; } logger.log(Level.SEVERE, "Failed to execute runMultipleAction: " + caught, caught); //$NON-NLS-1$ failureEventHandler(caught); if (callback != null) { callback.executed(new FrontendMultipleActionAsyncResult(actionType, parameters, null, state)); } fireAsyncActionFailedEvent(state); } };
@Override public void onSuccess(final List<VdcOperation<ActionType, ActionParametersBase>> operationList, final List<ActionReturnValue> resultObject) { logger.finer("Frontend: successfully executed runMultipleAction, determining result!"); //$NON-NLS-1$ List<ActionReturnValue> failed = resultObject.stream() .filter(v -> !v.isValid()) .collect(Collectors.toList()); if (showErrorDialog && !failed.isEmpty()) { translateErrors(failed); getEventsHandler().runMultipleActionFailed(actionType, failed); } if (callback != null) { callback.executed(new FrontendMultipleActionAsyncResult(actionType, parameters, resultObject, state)); } fireAsyncActionSucceededEvent(state); }
callback.executed(new FrontendMultipleActionAsyncResult(actionType, parameters, resultObject, state)); callback.executed(new FrontendMultipleActionAsyncResult(actionType, parameters, null, state)); if (callback != null) { List<ActionReturnValue> emptyResult = new ArrayList<>(); callback.executed(new FrontendMultipleActionAsyncResult(actionType, parameters, emptyResult, state));
private void executeCallbacks(boolean success, ActionFlowState flowState, List<IFrontendMultipleActionAsyncCallback> callbacks, boolean waitForResult) { Collections.shuffle(callbacks); for (IFrontendMultipleActionAsyncCallback callback : callbacks) { assertNotAllDone(flowState); ActionReturnValue result = new ActionReturnValue(); result.setValid(waitForResult || success); result.setSucceeded(waitForResult && success); callback.executed(new FrontendMultipleActionAsyncResult(ACTION_TYPE, null, Collections.singletonList(result))); } }