Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Remove unsafe List casts from Networks subtabs
......................................................................

webadmin: Remove unsafe List casts from Networks subtabs

Many of these unsafe casts existed, which would cause trouble now that
columns are being sorted (and items are stored as SortedSet).

Change-Id: Ifd4c8583ae872cee936eb9de689c1a8639ed73d5
Signed-off-by: Lior Vernia <lver...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkHostListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkProfileListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkTemplateListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.java
5 files changed, 75 insertions(+), 111 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/69/28669/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
index 4b24f87..26617cf 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
@@ -43,6 +43,15 @@
         setHelpTag(HelpTag.clusters);
         setHashName("clusters"); //$NON-NLS-1$
 
+        setComparator(new Comparator<PairQueryable<VDSGroup, 
NetworkCluster>>() {
+
+            @Override
+            public int compare(PairQueryable<VDSGroup, NetworkCluster> arg0,
+                    PairQueryable<VDSGroup, NetworkCluster> arg1) {
+                return 
arg0.getFirst().getName().compareTo(arg1.getFirst().getName());
+            }
+        });
+
         setManageCommand(new UICommand("Manage", this)); //$NON-NLS-1$
     }
 
@@ -60,8 +69,8 @@
 
     private ClusterNetworkManageModel createManageList() {
         List<ClusterNetworkModel> networkManageModelList = new 
ArrayList<ClusterNetworkModel>();
-        List<PairQueryable<VDSGroup, NetworkCluster>> items =
-                (List<PairQueryable<VDSGroup, NetworkCluster>>) getItems();
+        Iterable<PairQueryable<VDSGroup, NetworkCluster>> items =
+                (Iterable<PairQueryable<VDSGroup, NetworkCluster>>) getItems();
 
         for (PairQueryable<VDSGroup, NetworkCluster> item : items) {
             Network network = (Network) Cloner.clone(getEntity());
@@ -128,27 +137,13 @@
             @Override
             public void onSuccess(Object model, Object ReturnValue)
             {
-                
NetworkClusterListModel.this.setItems((List<PairQueryable<VDSGroup, 
NetworkCluster>>) ((VdcQueryReturnValue) ReturnValue).getReturnValue());
+                setItems((Collection<PairQueryable<VDSGroup, NetworkCluster>>) 
((VdcQueryReturnValue) ReturnValue).getReturnValue());
             }
         };
 
         IdQueryParameters params = new IdQueryParameters(getEntity().getId());
         params.setRefresh(getIsQueryFirstTime());
         
Frontend.getInstance().runQuery(VdcQueryType.GetVdsGroupsAndNetworksByNetworkId,
 params, asyncQuery);
-    }
-
-    @Override
-    public void setItems(Collection value) {
-        Collections.sort((List<PairQueryable<VDSGroup, NetworkCluster>>) value,
-                new Comparator<PairQueryable<VDSGroup, NetworkCluster>>() {
-
-                    @Override
-                    public int compare(PairQueryable<VDSGroup, NetworkCluster> 
arg0,
-                            PairQueryable<VDSGroup, NetworkCluster> arg1) {
-                        return 
arg0.getFirst().getName().compareTo(arg1.getFirst().getName());
-                    }
-                });
-        super.setItems(value);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkHostListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkHostListModel.java
index 060cab3..76cfcac 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkHostListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkHostListModel.java
@@ -2,7 +2,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
@@ -25,7 +24,6 @@
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
 import org.ovirt.engine.ui.uicompat.external.StringUtils;
 
-@SuppressWarnings("unused")
 public class NetworkHostListModel extends SearchableListModel
 {
     private UICommand setupNetworksCommand;
@@ -37,6 +35,22 @@
         setTitle(ConstantsManager.getInstance().getConstants().hostsTitle());
         setHelpTag(HelpTag.hosts);
         setHashName("hosts"); //$NON-NLS-1$
+
+        setComparator(new Comparator<PairQueryable<VdsNetworkInterface, 
VDS>>() {
+
+            @Override
+            public int compare(PairQueryable<VdsNetworkInterface, VDS> arg0,
+                    PairQueryable<VdsNetworkInterface, VDS> arg1) {
+                int compareValue =
+                        
arg0.getSecond().getVdsGroupName().compareTo(arg1.getSecond().getVdsGroupName());
+
+                if (compareValue != 0) {
+                    return compareValue;
+                }
+
+                return 
arg0.getSecond().getName().compareTo(arg1.getSecond().getName());
+            }
+        });
 
         setSetupNetworksCommand(new UICommand("SetupNetworks", this)); 
//$NON-NLS-1$
 
@@ -79,7 +93,7 @@
                         }
                         setItems(items);
                     } else if 
(NetworkHostFilter.attached.equals(getViewFilterType())) {
-                        
initAttachedInterfaces((List<PairQueryable<VdsNetworkInterface, VDS>>) 
returnList);
+                        
initAttachedInterfaces((Collection<PairQueryable<VdsNetworkInterface, VDS>>) 
returnList);
                     }
                 }
             }
@@ -97,7 +111,7 @@
         setIsQueryFirstTime(false);
     }
 
-    private void initAttachedInterfaces(final 
List<PairQueryable<VdsNetworkInterface, VDS>> items) {
+    private void initAttachedInterfaces(final 
Collection<PairQueryable<VdsNetworkInterface, VDS>> items) {
         if (StringUtils.isEmpty(getEntity().getLabel()) || items.isEmpty()) {
             setItems(items);
             return;
@@ -127,27 +141,6 @@
 
     public Boolean isInterfaceAttachedByLabel(VdsNetworkInterface iface) {
         return attachedByLabelInterfaces != null && 
attachedByLabelInterfaces.contains(iface);
-    }
-
-    @Override
-    public void setItems(Collection value) {
-        Collections.sort((List<PairQueryable<VdsNetworkInterface, VDS>>) value,
-                new Comparator<PairQueryable<VdsNetworkInterface, VDS>>() {
-
-                    @Override
-                    public int compare(PairQueryable<VdsNetworkInterface, VDS> 
arg0,
-                            PairQueryable<VdsNetworkInterface, VDS> arg1) {
-                        int compareValue =
-                                
arg0.getSecond().getVdsGroupName().compareTo(arg1.getSecond().getVdsGroupName());
-
-                        if (compareValue != 0) {
-                            return compareValue;
-                        }
-
-                        return 
arg0.getSecond().getName().compareTo(arg1.getSecond().getName());
-                    }
-                });
-        super.setItems(value);
     }
 
     public void setupNetworks() {
@@ -185,11 +178,15 @@
     }
 
     private void updateActionAvailability() {
-        List<PairQueryable<VdsNetworkInterface, VDS>> selectedItems =
+        Collection<PairQueryable<VdsNetworkInterface, VDS>> selectedItems =
                 getSelectedItems() != null ? getSelectedItems() : new 
ArrayList();
 
         getSetupNetworksCommand().setIsExecutionAllowed(selectedItems.size() 
== 1
-                && 
selectedItems.get(0).getSecond().getVdsGroupCompatibilityVersion().compareTo(Version.v3_1)
 >= 0);
+                && selectedItems.iterator()
+                        .next()
+                        .getSecond()
+                        .getVdsGroupCompatibilityVersion()
+                        .compareTo(Version.v3_1) >= 0);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkProfileListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkProfileListModel.java
index 44691f5..9cf8fd4 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkProfileListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkProfileListModel.java
@@ -2,8 +2,6 @@
 
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
 
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import org.ovirt.engine.core.common.businessentities.network.NetworkView;
@@ -22,7 +20,6 @@
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
 
-@SuppressWarnings("unused")
 public class NetworkProfileListModel extends SearchableListModel
 {
     private UICommand newCommand;
@@ -33,6 +30,8 @@
         
setTitle(ConstantsManager.getInstance().getConstants().vnicProfilesTitle());
         setHelpTag(HelpTag.profiles);
         setHashName("profiles"); //$NON-NLS-1$
+
+        setComparator(new Linq.VnicProfileViewComparator());
 
         setNewCommand(new UICommand("New", this)); //$NON-NLS-1$
         setEditCommand(new UICommand("Edit", this)); //$NON-NLS-1$
@@ -149,7 +148,7 @@
         asyncQuery.asyncCallback = new INewAsyncCallback() {
             @Override
             public void onSuccess(Object model, Object returnValue) {
-                NetworkProfileListModel.this.setItems((List<VnicProfileView>) 
returnValue);
+                setItems((Collection<VnicProfileView>) returnValue);
             }
         };
         AsyncDataProvider.getVnicProfilesByNetworkId(asyncQuery, 
getEntity().getId());
@@ -182,14 +181,6 @@
     protected void selectedItemsChanged() {
         super.selectedItemsChanged();
         updateActionAvailability();
-    }
-
-    @Override
-    public void setItems(Collection value) {
-        if (value != null) {
-            Collections.sort((List<VnicProfileView>) value, new 
Linq.VnicProfileViewComparator());
-        }
-        super.setItems(value);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkTemplateListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkTemplateListModel.java
index d6a595e..adb5886 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkTemplateListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkTemplateListModel.java
@@ -2,7 +2,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
@@ -22,7 +21,6 @@
 import 
org.ovirt.engine.ui.uicommonweb.models.vms.RemoveVmTemplateInterfaceModel;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 
-@SuppressWarnings("unused")
 public class NetworkTemplateListModel extends SearchableListModel
 {
     private UICommand removeCommand;
@@ -42,6 +40,22 @@
         
setTitle(ConstantsManager.getInstance().getConstants().templatesTitle());
         setHelpTag(HelpTag.templates);
         setHashName("templates"); //$NON-NLS-1$
+
+        setComparator(new Comparator<PairQueryable<VmNetworkInterface, 
VmTemplate>>() {
+
+            @Override
+            public int compare(PairQueryable<VmNetworkInterface, VmTemplate> 
paramT1,
+                    PairQueryable<VmNetworkInterface, VmTemplate> paramT2) {
+                int compareValue =
+                        
paramT1.getSecond().getVdsGroupName().compareTo(paramT2.getSecond().getVdsGroupName());
+
+                if (compareValue != 0) {
+                    return compareValue;
+                }
+
+                return 
paramT1.getSecond().getName().compareTo(paramT2.getSecond().getName());
+            }
+        });
 
         setRemoveCommand(new UICommand("Remove", this)); //$NON-NLS-1$
         updateActionAvailability();
@@ -75,30 +89,6 @@
     }
 
     @Override
-    public void setItems(Collection value) {
-        if (value != null) {
-            List<PairQueryable<VmNetworkInterface, VmTemplate>> itemList =
-                    (List<PairQueryable<VmNetworkInterface, VmTemplate>>) 
value;
-            Collections.sort(itemList, new 
Comparator<PairQueryable<VmNetworkInterface, VmTemplate>>() {
-
-                @Override
-                public int compare(PairQueryable<VmNetworkInterface, 
VmTemplate> paramT1,
-                        PairQueryable<VmNetworkInterface, VmTemplate> paramT2) 
{
-                    int compareValue =
-                            
paramT1.getSecond().getVdsGroupName().compareTo(paramT2.getSecond().getVdsGroupName());
-
-                    if (compareValue != 0) {
-                        return compareValue;
-                    }
-
-                    return 
paramT1.getSecond().getName().compareTo(paramT2.getSecond().getName());
-                }
-            });
-        }
-        super.setItems(value);
-    }
-
-    @Override
     public void search()
     {
         if (getEntity() != null)
@@ -121,7 +111,7 @@
             @Override
             public void onSuccess(Object model, Object ReturnValue)
             {
-                
NetworkTemplateListModel.this.setItems((List<PairQueryable<VmNetworkInterface, 
VmTemplate>>) ((VdcQueryReturnValue) ReturnValue).getReturnValue());
+                setItems((Collection<PairQueryable<VmNetworkInterface, 
VmTemplate>>) ((VdcQueryReturnValue) ReturnValue).getReturnValue());
             }
         };
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.java
index 09cd0ed..7b929e0 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkVmListModel.java
@@ -2,7 +2,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
@@ -26,7 +25,6 @@
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
 
-@SuppressWarnings("unused")
 public class NetworkVmListModel extends SearchableListModel
 {
     private UICommand removeCommand;
@@ -36,6 +34,22 @@
         
setTitle(ConstantsManager.getInstance().getConstants().virtualMachinesTitle());
         setHelpTag(HelpTag.virtual_machines);
         setHashName("virtual_machines"); //$NON-NLS-1$
+
+        setComparator(new Comparator<PairQueryable<VmNetworkInterface, VM>>() {
+
+            @Override
+            public int compare(PairQueryable<VmNetworkInterface, VM> paramT1,
+                    PairQueryable<VmNetworkInterface, VM> paramT2) {
+                int compareValue =
+                        
paramT1.getSecond().getVdsGroupName().compareTo(paramT2.getSecond().getVdsGroupName());
+
+                if (compareValue != 0) {
+                    return compareValue;
+                }
+
+                return 
paramT1.getSecond().getName().compareTo(paramT2.getSecond().getName());
+            }
+        });
 
         setRemoveCommand(new UICommand("Remove", this)); //$NON-NLS-1$
 
@@ -67,29 +81,6 @@
     }
 
     @Override
-    public void setItems(Collection value) {
-        if (value != null) {
-            List<PairQueryable<VmNetworkInterface, VM>> itemList = 
(List<PairQueryable<VmNetworkInterface, VM>>) value;
-            Collections.sort(itemList, new 
Comparator<PairQueryable<VmNetworkInterface, VM>>() {
-
-                @Override
-                public int compare(PairQueryable<VmNetworkInterface, VM> 
paramT1,
-                        PairQueryable<VmNetworkInterface, VM> paramT2) {
-                    int compareValue =
-                            
paramT1.getSecond().getVdsGroupName().compareTo(paramT2.getSecond().getVdsGroupName());
-
-                    if (compareValue != 0) {
-                        return compareValue;
-                    }
-
-                    return 
paramT1.getSecond().getName().compareTo(paramT2.getSecond().getName());
-                }
-            });
-        }
-        super.setItems(value);
-    }
-
-    @Override
     public void search() {
         if (getEntity() != null)
         {
@@ -111,7 +102,7 @@
             public void onSuccess(Object model, Object ReturnValue)
             {
                 if (model.equals(getViewFilterType())) {
-                    
NetworkVmListModel.this.setItems((List<PairQueryable<VmNetworkInterface, VM>>) 
((VdcQueryReturnValue) ReturnValue).getReturnValue());
+                    setItems((Collection<PairQueryable<VmNetworkInterface, 
VM>>) ((VdcQueryReturnValue) ReturnValue).getReturnValue());
                 }
             }
         };
@@ -137,7 +128,7 @@
 
     private void updateActionAvailability() {
         ArrayList<VM> vms = new ArrayList<VM>();
-        List<PairQueryable<VmNetworkInterface, VM>> selectedItems =
+        Iterable<PairQueryable<VmNetworkInterface, VM>> selectedItems =
                 getSelectedItems() != null ? getSelectedItems() : new 
ArrayList();
         for (PairQueryable<VmNetworkInterface, VM> item : selectedItems)
         {
@@ -151,7 +142,7 @@
     }
 
     private boolean canRemoveVnics() {
-        List<PairQueryable<VmNetworkInterface, VM>> selectedItems =
+        Iterable<PairQueryable<VmNetworkInterface, VM>> selectedItems =
                 getSelectedItems() != null ? getSelectedItems() : new 
ArrayList();
 
         for (PairQueryable<VmNetworkInterface, VM> pair : selectedItems)


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

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

Reply via email to