Ramesh N has uploaded a new change for review.

Change subject: webadmin:run set options sequentially in Optimize for Virt Store
......................................................................

webadmin:run set options sequentially in Optimize for Virt Store

  When un authorized user tries to run ptimizeVolumesForVirtStore action
iternally it runs multiple set Volume options and fails in all of them.

With this fix, it will not run other actions if the first set option
itself fails.

Change-Id: I2884523371333bbec145bd6649db5bdd368906cf
Bug-Url: https://bugzilla.redhat.com/1015014
Signed-off-by: Ramesh Nachimuthu <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/volumes/VolumeListModel.java
1 file changed, 29 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/61/21461/1

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 0f9ad2a..bd3c89a 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
@@ -675,6 +675,24 @@
                                 String optionOwnerGroupVirt = (String) 
resultInner1;
 
                                 ArrayList<VdcActionParametersBase> list = new 
ArrayList<VdcActionParametersBase>();
+                                List<VdcActionType> actionTypes = new 
ArrayList<VdcActionType>();
+                                List<IFrontendActionAsyncCallback> callbacks =
+                                        new 
ArrayList<IFrontendActionAsyncCallback>();
+                                IFrontendActionAsyncCallback asyncCallBack = 
new IFrontendActionAsyncCallback() {
+
+                                    @Override
+                                    public void 
executed(FrontendActionAsyncResult result) {
+
+                                    }
+
+                                };
+
+                                IFrontendActionAsyncCallback failureCallback = 
new IFrontendActionAsyncCallback() {
+                                    @Override
+                                    public void 
executed(FrontendActionAsyncResult result) {
+                                    }
+                                };
+
                                 for (Guid volumeId : volumeList)
                                 {
                                     GlusterVolumeOptionEntity optionGroup = 
new GlusterVolumeOptionEntity();
@@ -682,20 +700,30 @@
                                     optionGroup.setKey("group"); //$NON-NLS-1$
                                     optionGroup.setValue(optionGroupVirt);
                                     list.add(new 
GlusterVolumeOptionParameters(optionGroup));
+                                    
actionTypes.add(VdcActionType.SetGlusterVolumeOption);
+                                    callbacks.add(asyncCallBack);
 
                                     GlusterVolumeOptionEntity optionOwnerUser 
= new GlusterVolumeOptionEntity();
                                     optionOwnerUser.setVolumeId(volumeId);
                                     
optionOwnerUser.setKey("storage.owner-uid"); //$NON-NLS-1$
                                     
optionOwnerUser.setValue(optionOwnerUserVirt);
                                     list.add(new 
GlusterVolumeOptionParameters(optionOwnerUser));
+                                    
actionTypes.add(VdcActionType.SetGlusterVolumeOption);
+                                    callbacks.add(asyncCallBack);
 
                                     GlusterVolumeOptionEntity optionOwnerGroup 
= new GlusterVolumeOptionEntity();
                                     optionOwnerGroup.setVolumeId(volumeId);
                                     
optionOwnerGroup.setKey("storage.owner-gid"); //$NON-NLS-1$
                                     
optionOwnerGroup.setValue(optionOwnerGroupVirt);
                                     list.add(new 
GlusterVolumeOptionParameters(optionOwnerGroup));
+                                    
actionTypes.add(VdcActionType.SetGlusterVolumeOption);
+                                    callbacks.add(asyncCallBack);
                                 }
-                                
Frontend.RunMultipleAction(VdcActionType.SetGlusterVolumeOption, list);
+                                
Frontend.getInstance().runMultipleActions(actionTypes,
+                                        list,
+                                        callbacks,
+                                        failureCallback,
+                                        null);
                             }
                         };
 


-- 
To view, visit http://gerrit.ovirt.org/21461
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2884523371333bbec145bd6649db5bdd368906cf
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ramesh N <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to