ofri masad has uploaded a new change for review.

Change subject: webadmin: Add list of Profiles using a QoS to remove Qos Popup
......................................................................

webadmin: Add list of Profiles using a QoS to remove Qos Popup

Added a list of all Vnic Profiles using a QoS to the Remove QoS popup

Change-Id: I3679df78c7deab032a739abbc0e076740dee89b8
Signed-off-by: Ofri Masad <oma...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/RemoveNetworkQoSModel.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
2 files changed, 43 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/33/17933/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/RemoveNetworkQoSModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/RemoveNetworkQoSModel.java
index 86bc1bd..178e8c6 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/RemoveNetworkQoSModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/RemoveNetworkQoSModel.java
@@ -5,7 +5,13 @@
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.businessentities.network.NetworkQoS;
+import org.ovirt.engine.core.common.businessentities.network.VnicProfileView;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
+import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
+import org.ovirt.engine.ui.frontend.INewAsyncCallback;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel;
 import org.ovirt.engine.ui.uicommonweb.models.ListModel;
@@ -21,9 +27,9 @@
         this.sourceListModel = sourceListModel;
 
         
setTitle(ConstantsManager.getInstance().getConstants().removeNetworkQoSTitle());
-        setHashName("remove_network_qos"); //$NON-NLS-1$
-        
setMessage(ConstantsManager.getInstance().getConstants().removeNetworkQoSMessage());
-
+        // name start with underscore to prevent default message
+        setHashName("_remove_network_qos"); //$NON-NLS-1$
+        setMessage();
         UICommand tempVar = new UICommand("onRemove", this); //$NON-NLS-1$
         tempVar.setTitle(ConstantsManager.getInstance().getConstants().ok());
         tempVar.setIsDefault(true);
@@ -34,6 +40,38 @@
         getCommands().add(tempVar2);
     }
 
+    private void setMessage() {
+
+        AsyncQuery _asyncQuery = new AsyncQuery();
+        _asyncQuery.setModel(this);
+        _asyncQuery.asyncCallback = new INewAsyncCallback() {
+            @Override
+            public void onSuccess(Object model, Object ReturnValue) {
+                ArrayList<VnicProfileView> vnicProfiles =
+                        (ArrayList<VnicProfileView>) ((VdcQueryReturnValue) 
ReturnValue).getReturnValue();
+                if (vnicProfiles == null || vnicProfiles.isEmpty()) {
+                    
setMessage(ConstantsManager.getInstance().getConstants().removeNetworkQoSMessage());
+                } else {
+                    StringBuilder stringBuilder = new StringBuilder(
+                            
ConstantsManager.getInstance().getMessages().removeNetworkQoSMessage(vnicProfiles.size()));
+                    for (int i = 0; i < vnicProfiles.size(); i++) {
+                        stringBuilder.append("  - 
").append(vnicProfiles.get(i).getName())  //$NON-NLS-1$
+                                .append(" 
(").append(vnicProfiles.get(i).getNetworkName()).append(")\n"); //$NON-NLS-1$  
//$NON-NLS-2$
+                        if (i >= 10) {
+                            stringBuilder.append("    ...");  //$NON-NLS-1$
+                            break;
+                        }
+                    }
+                    setMessage(stringBuilder.toString());
+                }
+            }
+        };
+
+        IdQueryParameters queryParams = new 
IdQueryParameters(((NetworkQoS)sourceListModel.getSelectedItem()).getId());
+        Frontend.RunQuery(VdcQueryType.GetAllProfilesByNetworkQoSId, 
queryParams, _asyncQuery);
+
+    }
+
     public void onRemove() {
         ArrayList<VdcActionParametersBase> parameters = new 
ArrayList<VdcActionParametersBase>();
 
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
index 757d534..42854c5 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
@@ -291,4 +291,6 @@
     @DefaultMessage("{0} ({1})")
     String commonMessageWithBrackets(String subject, String inBrackets);
 
+    @DefaultMessage("This Network QoS is used by {0} Vnic Profiles.\nAre you 
sure you want to remove this Network QoS?\n\n Profiles using this QoS:\n")
+    String removeNetworkQoSMessage(int numOfProfiles);
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3679df78c7deab032a739abbc0e076740dee89b8
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: ofri masad <oma...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to