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
