anmolbabu has uploaded a new change for review. Change subject: webadmin : Disable status button ......................................................................
webadmin : Disable status button Disable status button if rebalance and/or remove-brick is stopped. Change-Id: I6ab0dbf044386a6f9732be7ea801411240c392fb Signed-off-by: Anmol Babu <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeBrickListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeRebalanceStatusPopupView.java 3 files changed, 127 insertions(+), 11 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/69/28269/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeBrickListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeBrickListModel.java index e620b22..4d4c907 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeBrickListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/VolumeBrickListModel.java @@ -254,7 +254,7 @@ allowStatusRemove = volumeEntity != null && volumeEntity.getAsyncTask() != null - && volumeEntity.getAsyncTask().getType() == GlusterTaskType.REMOVE_BRICK; + && volumeEntity.getAsyncTask().getStatus() != JobExecutionStatus.ABORTED && volumeEntity.getAsyncTask().getType() == GlusterTaskType.REMOVE_BRICK; getStopRemoveBricksCommand().setIsExecutionAllowed(allowStopRemove); getCommitRemoveBricksCommand().setIsExecutionAllowed(allowCommitRemove); @@ -899,6 +899,22 @@ new GlusterVolumeRemoveBricksParameters(volumeEntity.getId(), list); model.startProgress(null); + final UICommand stopRemoveBrickFromStatus = new UICommand("StopRemoveBricksOnStatus", this);//$NON-NLS-1$ + stopRemoveBrickFromStatus.setTitle(ConstantsManager.getInstance().getConstants().stopRemoveBricksButton()); + stopRemoveBrickFromStatus.setIsExecutionAllowed(false); + + final UICommand commitRemoveBrickFromStatus = new UICommand("CommitRemoveBricksOnStatus", this);//$NON-NLS-1$ + commitRemoveBrickFromStatus.setTitle(ConstantsManager.getInstance().getConstants().commitRemoveBricksButton()); + commitRemoveBrickFromStatus.setIsExecutionAllowed(false); + + final UICommand retainBricksFromStatus = new UICommand("RetainBricksOnStatus", this);//$NON-NLS-1$ + retainBricksFromStatus.setTitle(ConstantsManager.getInstance().getConstants().retainBricksButton()); + retainBricksFromStatus.setIsExecutionAllowed(false); + + final UICommand cancelCommand = new UICommand("CancelRemoveBricksStatus", this);//$NON-NLS-1$ + cancelCommand.setTitle(ConstantsManager.getInstance().getConstants().close()); + cancelCommand.setIsCancel(true); + Frontend.getInstance().runAction(VdcActionType.StopRemoveGlusterVolumeBricks, parameter, new IFrontendActionAsyncCallback() { @Override public void executed(FrontendActionAsyncResult result) { @@ -906,7 +922,35 @@ localModel.stopProgress(); setConfirmWindow(null); if (result.getReturnValue().getSucceeded()) { - showRemoveBricksStatus(); + GlusterVolumeEntity volumeEntity = getVolumeEntity(); + final ArrayList<GlusterBrickEntity> bricks = new ArrayList<GlusterBrickEntity>(); + for (GlusterBrickEntity brick : volumeEntity.getBricks()) { + if (brick.getAsyncTask() != null && brick.getAsyncTask().getTaskId() != null) { + bricks.add(brick); + } + } + RemoveBrickStatusModel removeBrickStatusModel = (RemoveBrickStatusModel) getWindow(); + GlusterVolumeTaskStatusEntity statusEntity = (GlusterVolumeTaskStatusEntity)result.getReturnValue().getActionReturnValue(); + if(removeBrickStatusModel == null) { + removeBrickStatusModel = + new RemoveBrickStatusModel(volumeEntity, bricks); + removeBrickStatusModel.setTitle(ConstantsManager.getInstance() + .getConstants() + .removeBricksStatusTitle()); + removeBrickStatusModel.setHelpTag(HelpTag.volume_remove_bricks_status); + removeBrickStatusModel.setHashName("volume_remove_bricks_status"); ////$NON-NLS-1$ + + setWindow(removeBrickStatusModel); + + removeBrickStatusModel.getVolume().setEntity(volumeEntity.getName()); + removeBrickStatusModel.getCluster().setEntity(volumeEntity.getVdsGroupName()); + + removeBrickStatusModel.addStopRemoveBricksCommand(stopRemoveBrickFromStatus); + removeBrickStatusModel.addCommitRemoveBricksCommand(commitRemoveBrickFromStatus); + removeBrickStatusModel.addRetainBricksCommand(retainBricksFromStatus); + removeBrickStatusModel.getCommands().add(cancelCommand); + } + removeBrickStatusModel.showStatus(statusEntity); } } }, model); @@ -1129,6 +1173,22 @@ } } + final UICommand stopRemoveBrickFromStatus = new UICommand("StopRemoveBricksOnStatus", this);//$NON-NLS-1$ + stopRemoveBrickFromStatus.setTitle(ConstantsManager.getInstance().getConstants().stopRemoveBricksButton()); + stopRemoveBrickFromStatus.setIsExecutionAllowed(false); + + final UICommand commitRemoveBrickFromStatus = new UICommand("CommitRemoveBricksOnStatus", this);//$NON-NLS-1$ + commitRemoveBrickFromStatus.setTitle(ConstantsManager.getInstance().getConstants().commitRemoveBricksButton()); + commitRemoveBrickFromStatus.setIsExecutionAllowed(false); + + final UICommand retainBricksFromStatus = new UICommand("RetainBricksOnStatus", this);//$NON-NLS-1$ + retainBricksFromStatus.setTitle(ConstantsManager.getInstance().getConstants().retainBricksButton()); + retainBricksFromStatus.setIsExecutionAllowed(false); + + final UICommand cancelCommand = new UICommand("CancelRemoveBricksStatus", this);//$NON-NLS-1$ + cancelCommand.setTitle(ConstantsManager.getInstance().getConstants().close()); + cancelCommand.setIsCancel(true); + GlusterVolumeRemoveBricksParameters parameter = new GlusterVolumeRemoveBricksParameters(volumeEntity.getId(), list); model.startProgress(null); @@ -1142,8 +1202,35 @@ localModel.stopProgress(); setConfirmWindow(null); if (result.getReturnValue().getSucceeded()) { - showRemoveBricksStatus(); - disableRemoveBrickStatusPopUpActions(); + GlusterVolumeEntity volumeEntity = getVolumeEntity(); + final ArrayList<GlusterBrickEntity> bricks = new ArrayList<GlusterBrickEntity>(); + for (GlusterBrickEntity brick : volumeEntity.getBricks()) { + if (brick.getAsyncTask() != null && brick.getAsyncTask().getTaskId() != null) { + bricks.add(brick); + } + } + RemoveBrickStatusModel removeBrickStatusModel = (RemoveBrickStatusModel) getWindow(); + GlusterVolumeTaskStatusEntity statusEntity = (GlusterVolumeTaskStatusEntity)result.getReturnValue().getActionReturnValue(); + if(removeBrickStatusModel == null) { + removeBrickStatusModel = + new RemoveBrickStatusModel(volumeEntity, bricks); + removeBrickStatusModel.setTitle(ConstantsManager.getInstance() + .getConstants() + .removeBricksStatusTitle()); + removeBrickStatusModel.setHelpTag(HelpTag.volume_remove_bricks_status); + removeBrickStatusModel.setHashName("volume_remove_bricks_status"); ////$NON-NLS-1$ + + setWindow(removeBrickStatusModel); + + removeBrickStatusModel.getVolume().setEntity(volumeEntity.getName()); + removeBrickStatusModel.getCluster().setEntity(volumeEntity.getVdsGroupName()); + + removeBrickStatusModel.addStopRemoveBricksCommand(stopRemoveBrickFromStatus); + removeBrickStatusModel.addCommitRemoveBricksCommand(commitRemoveBrickFromStatus); + removeBrickStatusModel.addRetainBricksCommand(retainBricksFromStatus); + removeBrickStatusModel.getCommands().add(cancelCommand); + } + removeBrickStatusModel.showStatus(statusEntity); } } }, diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java index db929e6..5c9b78d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java @@ -447,7 +447,7 @@ if (selectedVolumes.size() == 1) { GlusterVolumeEntity selectedVolume = selectedVolumes.get(0); if (selectedVolume.getStatus() == GlusterStatus.UP && selectedVolume.getVolumeType().isDistributedType() - && selectedVolume.getBricks().size() > 1) { + && selectedVolume.getAsyncTask().getStatus() != JobExecutionStatus.ABORTED && selectedVolume.getBricks().size() > 1) { return true; } } @@ -570,7 +570,35 @@ localModel.stopProgress(); setConfirmWindow(null); if (result.getReturnValue().getSucceeded()) { - showRebalanceStatus(); + GlusterVolumeTaskStatusEntity rebalanceStatusEntity = (GlusterVolumeTaskStatusEntity)result.getReturnValue().getActionReturnValue(); + VolumeRebalanceStatusModel rebalanceStatusModel = (VolumeRebalanceStatusModel) getWindow(); + if(rebalanceStatusModel == null) { + rebalanceStatusModel = + new VolumeRebalanceStatusModel(volumeEntity); + rebalanceStatusModel.setTitle(ConstantsManager.getInstance() + .getConstants() + .volumeRebalanceStatusTitle()); + setWindow(rebalanceStatusModel); + rebalanceStatusModel.setHelpTag(HelpTag.volume_rebalance_status); + rebalanceStatusModel.setHashName("volume_rebalance_status"); //$NON-NLS-1$ + rebalanceStatusModel.getVolume().setEntity(volumeEntity.getName()); + rebalanceStatusModel.getCluster().setEntity(volumeEntity.getVdsGroupName()); + + UICommand stopRebalanceFromStatus = new UICommand("stop_rebalance_from_status", VolumeListModel.this);//$NON-NLS-1$ + stopRebalanceFromStatus.setTitle(ConstantsManager.getInstance().getConstants().stopRebalance()); + rebalanceStatusModel.getCommands().add(stopRebalanceFromStatus); + rebalanceStatusModel.setStopReblanceFromStatus(stopRebalanceFromStatus); + + UICommand cancelRebalance = new UICommand("CancelRebalanceStatus", VolumeListModel.this);//$NON-NLS-1$ + cancelRebalance.setTitle(ConstantsManager.getInstance().getConstants().close()); + cancelRebalance.setIsCancel(true); + rebalanceStatusModel.getCommands().add(cancelRebalance); + + rebalanceStatusModel.showStatus(rebalanceStatusEntity); + + } else { + rebalanceStatusModel.showStatus(rebalanceStatusEntity); + } } } }); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeRebalanceStatusPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeRebalanceStatusPopupView.java index 25b7aff..30c34b3 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeRebalanceStatusPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/VolumeRebalanceStatusPopupView.java @@ -3,8 +3,6 @@ import java.text.ParseException; import java.util.Date; -import com.google.gwt.text.shared.AbstractRenderer; -import com.google.gwt.text.shared.Parser; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeTaskStatusForHost; import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; import org.ovirt.engine.ui.common.idhandler.WithElementId; @@ -32,6 +30,9 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.SimpleBeanEditorDriver; import com.google.gwt.event.shared.EventBus; +import com.google.gwt.i18n.client.DateTimeFormat; +import com.google.gwt.text.shared.AbstractRenderer; +import com.google.gwt.text.shared.Parser; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Label; @@ -116,6 +117,7 @@ private void setVisibilities() { status.setVisible(false); + stopTimeEditor.setVisible(false); } private void localize(final ApplicationConstants constants) { @@ -218,8 +220,7 @@ PropertyChangedEventArgs e = (PropertyChangedEventArgs) args; if (e.propertyName.equals("STATUS_UPDATED")) {//$NON-NLS-1$ status.setVisible(object.isStatusAvailable()); - } - else if (e.propertyName.equals("STOP_TIME_UPDATED")) {//$NON-NLS-1$ + } else if (e.propertyName.equals("STOP_TIME_UPDATED")) {//$NON-NLS-1$ stopTimePanel.setVisible(object.isStopTimeVisible()); } } @@ -242,7 +243,7 @@ return null; } else { - return new Date(Date.parse(text.toString())); + return DateTimeFormat.getFormat("yyyy-MM-dd, HH:mm:ss").parse(text.toString());//$NON-NLS-1$ } } }); -- To view, visit http://gerrit.ovirt.org/28269 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6ab0dbf044386a6f9732be7ea801411240c392fb Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: anmolbabu <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
