public GlusterVolumeActionParameters(Guid volumeId, boolean forceAction) { super(volumeId); setForceAction(forceAction); }
@Override public Response start(Action action) { return doAction(ActionType.StartGlusterVolume, new GlusterVolumeActionParameters(guid, action.isSetForce() ? action.isForce() : false), action); }
@Override public Response stop(Action action) { return doAction(ActionType.StopGlusterVolume, new GlusterVolumeActionParameters(guid, action.isSetForce() ? action.isForce() : false), action); }
private void prepareForStartVolume(boolean noForceStart) { boolean force = false; ConfirmationModel cModel; if (getConfirmWindow() != null) { cModel = (ConfirmationModel) getConfirmWindow(); closeConfirmationWindow(); force = cModel.getForce().getEntity(); } ArrayList<ActionParametersBase> list = new ArrayList<>(); for (Object item : getSelectedItems()) { GlusterVolumeEntity volume = (GlusterVolumeEntity) item; VolumeStatus status = GlusterVolumeUtils.getVolumeStatus(volume); if (!noForceStart && (status == VolumeStatus.ALL_BRICKS_DOWN || status == VolumeStatus.SOME_BRICKS_DOWN)) { list.add(new GlusterVolumeActionParameters(volume.getId(), force)); } else if (noForceStart && status == VolumeStatus.DOWN) { list.add(new GlusterVolumeActionParameters(volume.getId(), false)); } } onStartVolume(list); }
public void onStop() { if (getWindow() == null) { return; } ConfirmationModel model = (ConfirmationModel) getWindow(); if (model.getProgress() != null) { return; } if (getSelectedItems() == null) { return; } ArrayList<ActionParametersBase> list = new ArrayList<>(); for (Object item : getSelectedItems()) { GlusterVolumeEntity volume = (GlusterVolumeEntity) item; list.add(new GlusterVolumeActionParameters(volume.getId(), false)); } model.startProgress(); Frontend.getInstance().runMultipleAction(ActionType.StopGlusterVolume, list, result -> { ConfirmationModel localModel = (ConfirmationModel) result.getState(); localModel.stopProgress(); cancel(); }, model); }
private void onRemoveVolume() { if (getWindow() == null) { return; } ConfirmationModel model = (ConfirmationModel) getWindow(); if (model.getProgress() != null) { return; } if (getSelectedItems() == null) { return; } ArrayList<ActionParametersBase> list = new ArrayList<>(); for (Object item : getSelectedItems()) { GlusterVolumeEntity volume = (GlusterVolumeEntity) item; list.add(new GlusterVolumeActionParameters(volume.getId(), false)); } model.startProgress(); Frontend.getInstance().runMultipleAction(ActionType.DeleteGlusterVolume, list, result -> { ConfirmationModel localModel = (ConfirmationModel) result.getState(); localModel.stopProgress(); cancel(); }, model); }