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

Reply via email to