@Override public Throwable getFailureResult() { return urhr.getFailureResult(); }
@Override public Throwable getRollbackFailure() { if (rollbackResult == null) { return null; } else if (rollbackResult.isCancelled()) { return new RollbackCancelledException("Rollback was cancelled"); } else if (rollbackResult.isRolledBack()) { return new RollbackCancelledException("Rollback was itself rolled back"); } else if (rollbackResult.isTimedOut()) { return new RollbackCancelledException("Rollback timed out"); } else { return rollbackResult.getFailureResult(); } }
listener.handleRollbackCancellation(serverId); else if (urhr.getFailureResult() != null) { listener.handleRollbackFailure(urhr.getFailureResult(), serverId);
private byte readServerDeploymentResult(Map<UUID, DeploymentActionResult> actionResults) throws IOException { UUID actionId = unmarshal(unmarshaller, UUID.class); DeploymentActionResultImpl actionResult = (DeploymentActionResultImpl) actionResults.get(actionId); ServerIdentity serverId = readServerIdentity(); expectHeader(DomainClientProtocol.RETURN_SERVER_DEPLOYMENT_RESULT); @SuppressWarnings("unchecked") UpdateResultHandlerResponse<Void> urhr = unmarshal(unmarshaller, UpdateResultHandlerResponse.class); ServerUpdateResult<Void> sur = new ServerUpdateResultImpl<Void>(actionId, serverId, urhr); actionResult.storeServerUpdateResult(serverId, sur); // Notifiy and listeners DeploymentActionImpl action = (DeploymentActionImpl) actionResult.getDeploymentAction(); for (DomainUpdateListener<?> listener : action.getListeners()) { if (urhr.isCancelled()) { listener.handleCancellation(serverId); } else if (urhr.isRolledBack()) { listener.handleRollbackSuccess(serverId); } else if (urhr.isTimedOut()) { listener.handleTimeout(serverId); } else if (urhr.getFailureResult() != null) { listener.handleFailure(urhr.getFailureResult(), serverId); } else { listener.handleSuccess(null, serverId); } } return unmarshaller.readByte(); }
@Override protected final Void receiveResponse(final InputStream input) throws IOException { final Unmarshaller unmarshaller = getUnmarshaller(); unmarshaller.start(createByteInput(input)); expectHeader(unmarshaller, DomainClientProtocol.RETURN_APPLY_SERVER_MODEL_UPDATE); @SuppressWarnings("unchecked") final UpdateResultHandlerResponse<R> result = unmarshal(unmarshaller, UpdateResultHandlerResponse.class); unmarshaller.finish(); if (resultHandler != null) { if (result.isCancelled()) { resultHandler.handleCancellation(param); } else if (result.isRolledBack()) { resultHandler.handleRollbackSuccess(param); } else if (result.isTimedOut()) { resultHandler.handleTimeout(param); } else if (result.getFailureResult() != null) { resultHandler.handleFailure(result.getFailureResult(), param); } else { resultHandler.handleSuccess(result.getSuccessResult(), param); } } unmarshaller.finish(); return null; } }