public void run() { try { execute(); if (!action.getStatus().getState().equals(com.redhat.rhevm.api.model.CreationStatus.FAILED.value())) { action.setStatus(StatusUtils.create(com.redhat.rhevm.api.model.CreationStatus.COMPLETE)); } } catch (Throwable t) { String message = t.getMessage() != null ? t.getMessage() : t.getClass().getName(); setFault(MessageFormat.format(t.getCause() != null ? t.getCause().getMessage() : reason, message), t); } }
protected void setFault(String reason, Throwable t) { Fault fault = new Fault(); fault.setReason(reason); fault.setDetail(t.getMessage()); action.setFault(fault); action.setStatus(StatusUtils.create(com.redhat.rhevm.api.model.CreationStatus.FAILED)); }
private void handleFailure(String message) { action.setStatus(StatusUtils.create(CreationStatus.FAILED)); action.setFault(new Fault()); action.getFault().setReason(MessageFormat.format(reason, message == null ? "" : message)); } });
private void perform(AbstractActionTask task) { task.action.setStatus(StatusUtils.create(CreationStatus.IN_PROGRESS)); if (task.action.getGracePeriod() != null) { try { Thread.sleep(task.action.getGracePeriod().getExpiry()); } catch (Exception e) { // ignore } } task.run(); }
final ActionResource actionResource = new BaseActionResource<R>(uriInfo, task.action, getModel()); if (action.isSetAsync() && action.isAsync()) { action.setStatus(StatusUtils.create(CreationStatus.PENDING)); actions.put(action.getId(), actionResource); executor.execute(new Runnable() {
protected void handleOutput(String output) { if (FenceType.fromValue(action.getFenceType()) == FenceType.STATUS) { List<PowerShellPowerManagementStatus> statuses = PowerShellPowerManagementStatus.parse(getParser(), output); if (statuses.isEmpty()) { handleFailure("Unknown status"); } else { PowerShellPowerManagementStatus status = statuses.get(0); //there can be only one status if (status.isSuccess() && status.getStatus() != null) { action.setStatus(StatusUtils.create(CreationStatus.COMPLETE)); PowerManagement pm = new PowerManagement(); pm.setStatus(StatusUtils.create(status.getStatus())); action.setPowerManagement(pm); } else { handleFailure(status.getMessage()); } } } }