public GlusterVolumeRemoveBricksParameters(Guid volumeId, List<GlusterBrickEntity> bricks, int replicaCount) { super(volumeId); setBricks(bricks); setReplicaCount(replicaCount); }
private GlusterVolumeRemoveBricksParameters toParameters(GlusterBricks bricks) { GlusterVolumeRemoveBricksParameters params = new GlusterVolumeRemoveBricksParameters(); List<GlusterBrickEntity> entityBricks = new ArrayList<>(); for (GlusterBrick brick : bricks.getGlusterBricks()) { GlusterBrickEntity entity = new GlusterBrickEntity(); entity.setBrickDirectory(brick.getBrickDir()); entity.setVolumeId(asGuid(getVolumeId())); if (brick.getName() != null) { String[] arr = brick.getName().split("\\:"); if (arr.length > 1) { entity.setServerName(arr[0]); entity.setBrickDirectory(arr[1]); } else { continue; } } if (brick.getId() != null) { entity.setId(asGuid(brick.getId())); } entityBricks.add(entity); } params.setVolumeId(asGuid(getVolumeId())); params.setBricks(entityBricks); params.setCommandType(ActionType.StartRemoveGlusterVolumeBricks); return params; }
new GlusterVolumeRemoveBricksParameters(volumeEntity.getId(), getSelectedItems()); parameter.setReplicaCount(volumeEntity.getReplicaCount() - 1); } else if (volumeEntity.getVolumeType() == GlusterVolumeType.DISTRIBUTED_REPLICATE) { if (model.isReduceReplica()) { parameter.setReplicaCount(volumeEntity.getReplicaCount() - 1); } else { parameter.setReplicaCount(volumeEntity.getReplicaCount());
private void onCommitRemoveBricks() { if (getConfirmWindow() == null) { return; } ConfirmationModel model = (ConfirmationModel) getConfirmWindow(); GlusterVolumeEntity volumeEntity = getVolumeEntity(); ArrayList<GlusterBrickEntity> list = new ArrayList<>(); for (Object brickName : model.getItems()) { GlusterBrickEntity brick = volumeEntity.getBrickWithQualifiedName((String) brickName); if (brick != null) { list.add(brick); } } GlusterVolumeRemoveBricksParameters parameter = new GlusterVolumeRemoveBricksParameters(volumeEntity.getId(), list); model.startProgress(); Frontend.getInstance().runAction(ActionType.CommitRemoveGlusterVolumeBricks, parameter, result -> { ConfirmationModel localModel = (ConfirmationModel) result.getState(); localModel.stopProgress(); setConfirmWindow(null); if (result.getReturnValue().getSucceeded()) { disableRemoveBrickStatusPopUpActions(); } }, model); }
@Override public Response remove(Action action) { GlusterBricks bricks = action.getBricks(); if (bricks.getGlusterBricks().size() > 0) { for (GlusterBrick brick : bricks.getGlusterBricks()) { validateParameters(brick, "id|name"); } } int replicaCount = ParametersHelper.getIntegerParameter(httpHeaders, uriInfo, REPLICA_COUNT, 0, 0); GlusterVolumeRemoveBricksParameters params = toParameters(bricks); params.setReplicaCount(replicaCount); GlusterVolumeEntity volume = getEntity(GlusterVolumeEntity.class, QueryType.GetGlusterVolumeById, new IdQueryParameters(asGuid(getVolumeId())), ""); if (volume.getAsyncTask() != null && volume.getAsyncTask().getType() == GlusterTaskType.REMOVE_BRICK && volume.getAsyncTask().getStatus() == JobExecutionStatus.FINISHED) { return performAction(ActionType.CommitRemoveGlusterVolumeBricks, params); } else { return performAction(ActionType.GlusterVolumeRemoveBricks, params); } }
public GlusterVolumeRemoveBricksParameters(Guid volumeId, List<GlusterBrickEntity> bricks) { super(volumeId); setBricks(bricks); }
private void onStopRemoveBricks() { if (getConfirmWindow() == null) { return; } ConfirmationModel model = (ConfirmationModel) getConfirmWindow(); GlusterVolumeEntity volumeEntity = getVolumeEntity(); ArrayList<GlusterBrickEntity> list = new ArrayList<>(); for (Object brickName : model.getItems()) { GlusterBrickEntity brick = volumeEntity.getBrickWithQualifiedName((String) brickName); if (brick != null) { list.add(brick); } } GlusterVolumeRemoveBricksParameters parameter = new GlusterVolumeRemoveBricksParameters(volumeEntity.getId(), list); model.startProgress(); Frontend.getInstance().runAction(ActionType.StopRemoveGlusterVolumeBricks, parameter, result -> { ConfirmationModel localModel = (ConfirmationModel) result.getState(); localModel.stopProgress(); setConfirmWindow(null); if (result.getReturnValue().getSucceeded()) { showRemoveBricksStatus(); } }, model); }
private void onRetainBricks() { if (getConfirmWindow() == null) { return; } ConfirmationModel model = (ConfirmationModel) getConfirmWindow(); GlusterVolumeEntity volumeEntity = getVolumeEntity(); ArrayList<GlusterBrickEntity> list = new ArrayList<>(); for (Object brickName : model.getItems()) { GlusterBrickEntity brick = volumeEntity.getBrickWithQualifiedName((String) brickName); if (brick != null) { list.add(brick); } } GlusterVolumeRemoveBricksParameters parameter = new GlusterVolumeRemoveBricksParameters(volumeEntity.getId(), list); model.startProgress(); Frontend.getInstance().runAction(ActionType.StopRemoveGlusterVolumeBricks, parameter, result -> { ConfirmationModel localModel = (ConfirmationModel) result.getState(); localModel.stopProgress(); setConfirmWindow(null); if (result.getReturnValue().getSucceeded()) { showRemoveBricksStatus(); disableRemoveBrickStatusPopUpActions(); } }, model); }