Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Refactoring in ProfilesInstanceTypeEditor
......................................................................

webadmin: Refactoring in ProfilesInstanceTypeEditor

Replaced the non-standard edit() method with the standard one, that
had been previously marked as deprecated. This required introducing a
new class VnicInstancesModel, but it's better practice (now developers
don't have to be trusted to use the "correct" edit() method). Also
took the chance to parameterize all the related ListModel instances,
as the class is now generic.

Change-Id: I5951932037850a56f861bfced9199640153db785
Signed-off-by: Lior Vernia <[email protected]>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VnicInstancesModel.java
5 files changed, 25 insertions(+), 53 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/21628/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
index 02c2824..c7c1e1c 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfilesInstanceTypeEditor.java
@@ -9,23 +9,17 @@
 import org.ovirt.engine.ui.common.idhandler.HasElementId;
 import org.ovirt.engine.ui.common.widget.AddRemoveRowWidget;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
-import org.ovirt.engine.ui.uicommonweb.models.ListModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.VnicInstanceType;
+import org.ovirt.engine.ui.uicommonweb.models.vms.VnicInstancesModel;
 
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.editor.client.SimpleBeanEditorDriver;
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiField;
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.Widget;
 
-public class ProfilesInstanceTypeEditor extends AddRemoveRowWidget<ListModel, 
VnicInstanceType, ProfileInstanceTypeEditor> implements HasElementId {
-
-    interface Driver extends SimpleBeanEditorDriver<ListModel, 
ProfilesInstanceTypeEditor> {
-    }
-
-    private final Driver driver = GWT.create(Driver.class);
+public class ProfilesInstanceTypeEditor extends 
AddRemoveRowWidget<VnicInstancesModel, VnicInstanceType, 
ProfileInstanceTypeEditor> implements HasElementId {
 
     interface WidgetUiBinder extends UiBinder<Widget, 
ProfilesInstanceTypeEditor> {
         WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class);
@@ -39,7 +33,6 @@
 
     private static final CommonApplicationMessages messages = 
GWT.create(CommonApplicationMessages.class);
 
-    private ListModel profilesModel;
     private Iterable<VnicProfileView> vnicProfiles;
     private final List<VmNetworkInterface> vnics;
     private int realEntryCount;
@@ -47,7 +40,6 @@
     public ProfilesInstanceTypeEditor() {
         vnics = new ArrayList<VmNetworkInterface>();
         initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this));
-        driver.initialize(this);
     }
 
     @Override
@@ -56,8 +48,8 @@
     }
 
     @Override
-    protected void init(ListModel model) {
-        vnicProfiles = profilesModel.getItems();
+    protected void init(VnicInstancesModel model) {
+        vnicProfiles = model.getVnicProfiles().getItems();
         if (vnicProfiles == null) {
             vnicProfiles = new ArrayList<VnicProfileView>();
         }
@@ -72,29 +64,7 @@
         super.init(model);
 
         realEntryCount = vnics.size() - 1; // don't count the ghost entry
-        updateHeaderLabel();        
-    }
-
-    public void edit(ListModel vnicsModel, ListModel profilesModel) {
-        this.profilesModel = profilesModel;
-        super.edit(vnicsModel);
-        driver.edit(vnicsModel);
-    }
-
-    /**
-     * @deprecated Please use {@link #edit(ListModel, ListModel)} instead.
-     **/
-    @Deprecated
-    @Override
-    public void edit(ListModel model) {
-        edit(model, null);
-    }
-
-
-    @Override
-    public ListModel flush() {
-        super.flush();
-        return driver.flush();
+        updateHeaderLabel();
     }
 
     private void updateHeaderLabel() {
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
index 78ed7ca..01ae094 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
@@ -1044,7 +1044,7 @@
         priorityEditor.setRowData(new ArrayList<EntityModel>());
         priorityEditor.asEditor().edit(model.getPriority());
         driver.edit(model);
-        profilesInstanceTypeEditor.edit(model.getNicsWithLogicalNetworks(), 
model.getVnicProfiles());
+        profilesInstanceTypeEditor.edit(model.getNicsWithLogicalNetworks());
         initTabAvailabilityListeners(model);
         initListeners(model);
         initCustomPropertySheet(model);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
index 0809ccf..961039f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
@@ -22,7 +22,6 @@
 import org.ovirt.engine.core.common.businessentities.VmType;
 import org.ovirt.engine.core.common.businessentities.VmWatchdogAction;
 import org.ovirt.engine.core.common.businessentities.VmWatchdogType;
-import org.ovirt.engine.core.common.businessentities.network.VnicProfileView;
 import org.ovirt.engine.core.common.osinfo.OsRepository;
 import org.ovirt.engine.core.common.queries.ConfigurationValues;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
@@ -114,23 +113,13 @@
         this.dataCenterWithClustersList = dataCenterWithClustersList;
     }
 
-    private ListModel<VnicProfileView> vnicProfiles;
+    private VnicInstancesModel nicsWithLogicalNetworks;
 
-    public ListModel<VnicProfileView> getVnicProfiles() {
-        return vnicProfiles;
-    }
-
-    private void setVnicProfiles(ListModel<VnicProfileView> vnicProfiles) {
-        this.vnicProfiles = vnicProfiles;
-    }
-
-    private ListModel<VnicInstanceType> nicsWithLogicalNetworks;
-
-    public ListModel<VnicInstanceType> getNicsWithLogicalNetworks() {
+    public VnicInstancesModel getNicsWithLogicalNetworks() {
         return nicsWithLogicalNetworks;
     }
 
-    public void setNicsWithLogicalNetworks(ListModel<VnicInstanceType> 
nicsWithLogicalNetworks) {
+    public void setNicsWithLogicalNetworks(VnicInstancesModel 
nicsWithLogicalNetworks) {
         this.nicsWithLogicalNetworks = nicsWithLogicalNetworks;
     }
 
@@ -1159,8 +1148,7 @@
         this.behavior = behavior;
         this.behavior.setModel(this);
 
-        setVnicProfiles(new ListModel<VnicProfileView>());
-        setNicsWithLogicalNetworks(new ListModel<VnicInstanceType>());
+        setNicsWithLogicalNetworks(new VnicInstancesModel());
         setAdvancedMode(new EntityModel<Boolean>(false));
         setStorageDomain(new 
NotChangableForVmInPoolListModel<StorageDomain>());
         setName(new NotChangableForVmInPoolEntityModel<String>());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
index 7f0eb7c..bbd62a7 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
@@ -1039,7 +1039,7 @@
                     vnicInstanceTypes.add(vnicInstanceType);
                 }
 
-                getModel().getVnicProfiles().setItems(profiles);
+                
getModel().getNicsWithLogicalNetworks().getVnicProfiles().setItems(profiles);
                 
getModel().getNicsWithLogicalNetworks().setItems(vnicInstanceTypes);
                 
getModel().getNicsWithLogicalNetworks().setSelectedItem(Linq.firstOrDefault(vnicInstanceTypes));
             }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VnicInstancesModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VnicInstancesModel.java
new file mode 100644
index 0000000..68c85cb
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VnicInstancesModel.java
@@ -0,0 +1,14 @@
+package org.ovirt.engine.ui.uicommonweb.models.vms;
+
+import org.ovirt.engine.core.common.businessentities.network.VnicProfileView;
+import org.ovirt.engine.ui.uicommonweb.models.ListModel;
+
+public class VnicInstancesModel extends ListModel<VnicInstanceType> {
+
+    private final ListModel<VnicProfileView> vnicProfiles = new 
ListModel<VnicProfileView>();
+
+    public ListModel<VnicProfileView> getVnicProfiles() {
+        return vnicProfiles;
+    }
+
+}


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

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

Reply via email to