use of org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity in project ovirt-engine by oVirt.
the class VolumeBrickListModel method onRemoveBricks.
private void onRemoveBricks() {
if (getWindow() == null) {
return;
}
RemoveBrickModel model = (RemoveBrickModel) getWindow();
if (model.getProgress() != null) {
return;
}
if (getSelectedItems() == null || getSelectedItems().isEmpty()) {
return;
}
GlusterVolumeEntity volumeEntity = getEntity();
GlusterVolumeRemoveBricksParameters parameter = new GlusterVolumeRemoveBricksParameters(volumeEntity.getId(), getSelectedItems());
if (volumeEntity.getVolumeType() == GlusterVolumeType.REPLICATE) {
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());
}
}
model.startProgress();
boolean isMigrate = model.getMigrateData().getEntity();
Frontend.getInstance().runAction(isMigrate ? ActionType.StartRemoveGlusterVolumeBricks : ActionType.GlusterVolumeRemoveBricks, parameter, result -> {
ConfirmationModel localModel = (ConfirmationModel) result.getState();
localModel.stopProgress();
setWindow(null);
}, model);
}
use of org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity in project ovirt-engine by oVirt.
the class VolumeBrickListModel method onAddBricks.
private void onAddBricks() {
VolumeBrickModel volumeBrickModel = (VolumeBrickModel) getWindow();
if (volumeBrickModel == null) {
return;
}
if (!volumeBrickModel.validate()) {
return;
}
GlusterVolumeEntity volumeEntity = getEntity();
if (volumeEntity == null) {
return;
}
ArrayList<GlusterBrickEntity> brickList = new ArrayList<>();
for (Object model : volumeBrickModel.getBricks().getItems()) {
GlusterBrickEntity brickEntity = (GlusterBrickEntity) ((EntityModel) model).getEntity();
brickEntity.setVolumeId(volumeEntity.getId());
brickList.add(brickEntity);
}
volumeBrickModel.setMessage(null);
if (!validateReplicaStripeCount(volumeEntity, volumeBrickModel)) {
return;
}
if (brickList.size() == 0) {
volumeBrickModel.setMessage(ConstantsManager.getInstance().getConstants().emptyAddBricksMsg());
return;
}
if (!VolumeBrickModel.validateBrickCount(volumeEntity.getVolumeType(), volumeEntity.getBricks().size() + brickList.size(), volumeBrickModel.getReplicaCountValue(), volumeBrickModel.getStripeCountValue(), false)) {
volumeBrickModel.setMessage(VolumeBrickModel.getValidationFailedMsg(volumeEntity.getVolumeType(), false));
return;
}
if ((volumeEntity.getVolumeType() == GlusterVolumeType.REPLICATE || volumeEntity.getVolumeType() == GlusterVolumeType.DISTRIBUTED_REPLICATE) && !volumeBrickModel.validateReplicateBricks(volumeEntity.getReplicaCount(), volumeEntity.getBricks())) {
ConfirmationModel confirmModel = new ConfirmationModel();
setConfirmWindow(confirmModel);
confirmModel.setTitle(ConstantsManager.getInstance().getConstants().addBricksReplicateConfirmationTitle());
confirmModel.setHelpTag(HelpTag.add_bricks_confirmation);
// $NON-NLS-1$
confirmModel.setHashName("add_bricks_confirmation");
confirmModel.setMessage(ConstantsManager.getInstance().getConstants().addBricksToReplicateVolumeFromSameServerMsg());
// $NON-NLS-1$
UICommand okCommand = new UICommand("OnAddBricksInternal", this);
okCommand.setTitle(ConstantsManager.getInstance().getConstants().yes());
okCommand.setIsDefault(true);
getConfirmWindow().getCommands().add(okCommand);
// $NON-NLS-1$
UICommand cancelCommand = new UICommand("CancelConfirmation", this);
cancelCommand.setTitle(ConstantsManager.getInstance().getConstants().no());
cancelCommand.setIsCancel(true);
getConfirmWindow().getCommands().add(cancelCommand);
} else {
onAddBricksInternal();
}
}
use of org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity in project ovirt-engine by oVirt.
the class VolumeParameterListModel method onResetAllParameters.
private void onResetAllParameters() {
ConfirmationModel model = (ConfirmationModel) getWindow();
if (model.getProgress() != null) {
return;
}
if (getEntity() == null) {
return;
}
GlusterVolumeEntity volume = getEntity();
ResetGlusterVolumeOptionsParameters parameters = new ResetGlusterVolumeOptionsParameters(volume.getId(), null, false);
model.startProgress();
Frontend.getInstance().runAction(ActionType.ResetGlusterVolumeOptions, parameters, result -> {
ConfirmationModel localModel = (ConfirmationModel) result.getState();
localModel.stopProgress();
cancel();
}, model);
}
use of org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity in project ovirt-engine by oVirt.
the class VolumeParameterListModel method onSetParameter.
private void onSetParameter() {
if (getEntity() == null) {
return;
}
GlusterVolumeEntity volume = getEntity();
VolumeParameterModel model = (VolumeParameterModel) getWindow();
if (!model.validate()) {
return;
}
GlusterVolumeOptionEntity option = new GlusterVolumeOptionEntity();
option.setVolumeId(volume.getId());
option.setKey(model.getKeyList().getSelectedItem());
option.setValue(model.getValue().getEntity());
model.startProgress();
Frontend.getInstance().runAction(ActionType.SetGlusterVolumeOption, new GlusterVolumeOptionParameters(option), result -> {
VolumeParameterListModel localModel = (VolumeParameterListModel) result.getState();
localModel.postOnSetParameter(result.getReturnValue());
}, this);
}
use of org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity in project ovirt-engine by oVirt.
the class VolumeBrickListModel method replaceBrick.
private void replaceBrick() {
if (getWindow() != null) {
return;
}
GlusterVolumeEntity volumeEntity = getEntity();
if (volumeEntity == null) {
return;
}
final ReplaceBrickModel brickModel = new ReplaceBrickModel();
setWindow(brickModel);
brickModel.setTitle(ConstantsManager.getInstance().getConstants().replaceBrickTitle());
brickModel.setHelpTag(HelpTag.replace_brick);
// $NON-NLS-1$
brickModel.setHashName("replace_brick");
AsyncDataProvider.getInstance().getClusterById(brickModel.asyncQuery(cluster -> AsyncDataProvider.getInstance().getHostListByCluster(brickModel.asyncQuery(hostList -> brickModel.getServers().setItems(hostList)), cluster.getName())), volumeEntity.getClusterId());
// $NON-NLS-1$
UICommand command = UICommand.createDefaultOkUiCommand("OnReplace", this);
brickModel.getCommands().add(command);
// $NON-NLS-1$
brickModel.getCommands().add(UICommand.createCancelUiCommand("Cancel", this));
}
Aggregations