Lior Vernia has uploaded a new change for review. Change subject: webadmin: Created class hierarchy for bond popups ......................................................................
webadmin: Created class hierarchy for bond popups Created a class hierarchy for bond popup windows to replace the "compact mode" boolean parameter mechanism. This to enable better control over which windows enable creating new bonds from the engine in following patches. Change-Id: Ib9f4de41a5d298bf922e9ad7fee64ee2b62c3700 Signed-off-by: Lior Vernia <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksBondModel.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/SetupNetworksBondPopupPresenterWidget.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java 10 files changed, 143 insertions(+), 87 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/78/13678/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java index e00ac0a..85e225e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java @@ -24,18 +24,6 @@ public class HostBondInterfaceModel extends Model { - private boolean compactMode; - - public boolean isCompactMode() - { - return compactMode; - } - - private void setCompactMode(boolean value) - { - compactMode = value; - } - private SortedListModel privateBond; public SortedListModel getBond() @@ -187,12 +175,6 @@ } public HostBondInterfaceModel() { - this(false); - } - - public HostBondInterfaceModel(boolean compactMode) - { - setCompactMode(compactMode); setAddress(new EntityModel()); setSubnet(new EntityModel()); setGateway(new EntityModel()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java index 9eb6691..a647e4f 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java @@ -1,7 +1,6 @@ package org.ovirt.engine.ui.uicommonweb.models.hosts; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -12,7 +11,6 @@ import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.network.Network; -import org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; @@ -239,48 +237,8 @@ * Bond Dialog *****************/ final VdsNetworkInterface entity = ((NetworkInterfaceModel) item).getEntity(); - editPopup = new HostBondInterfaceModel(true); - final HostBondInterfaceModel bondDialogModel = (HostBondInterfaceModel) editPopup; - bondDialogModel.setTitle(ConstantsManager.getInstance() - .getMessages() - .editBondInterfaceTitle(entity.getName())); - bondDialogModel.getNetwork().setIsAvailable(false); - bondDialogModel.getCheckConnectivity().setIsAvailable(false); - bondDialogModel.getAddress().setIsAvailable(false); - bondDialogModel.getSubnet().setIsAvailable(false); - bondDialogModel.getGateway().setIsAvailable(false); - bondDialogModel.setBootProtocolAvailable(false); - - // bond name - bondDialogModel.getBond().setIsChangable(false); - List<VdsNetworkInterface> bondName = Arrays.asList(entity); - bondDialogModel.getBond().setItems(bondName); - bondDialogModel.getBond().setSelectedItem(entity); - - // bond options - String bondOptions = entity.getBondOptions(); - List<KeyValuePairCompat<String, EntityModel>> items = - (List<KeyValuePairCompat<String, EntityModel>>) bondDialogModel.getBondingOptions().getItems(); - boolean found = false; - KeyValuePairCompat<String, EntityModel> customKey = null; - for (KeyValuePairCompat<String, EntityModel> pair : items) { - String key = pair.getKey(); - if (key.equals(bondOptions)) { - bondDialogModel.getBondingOptions().setSelectedItem(pair); - found = true; - break; - } else { - if ("custom".equals(key)) { //$NON-NLS-1$ - customKey = pair; - } - } - } - if (!found) { - EntityModel value = new EntityModel(); - value.setEntity(bondOptions); - customKey.setValue(value); - bondDialogModel.getBondingOptions().setSelectedItem(customKey); - } + editPopup = new SetupNetworksEditBondModel(entity); + final SetupNetworksBondModel bondDialogModel = (SetupNetworksBondModel) editPopup; // OK Target okTarget = new BaseCommandTarget() { @@ -422,15 +380,6 @@ if (operation.isNullOperation()) { return; } else if (operation == NetworkOperation.BOND_WITH) { - final HostBondInterfaceModel bondPopup = new HostBondInterfaceModel(true); - bondPopup.setTitle(ConstantsManager.getInstance().getConstants().createNewBondTitle()); - bondPopup.getNetwork().setIsAvailable(false); - bondPopup.getCheckConnectivity().setIsAvailable(false); - bondPopup.setBootProtocol(NetworkBootProtocol.NONE); - bondPopup.getAddress().setIsAvailable(false); - bondPopup.getSubnet().setIsAvailable(false); - bondPopup.getGateway().setIsAvailable(false); - bondPopup.setBootProtocolAvailable(false); List<VdsNetworkInterface> freeBonds = getFreeBonds(); if (freeBonds.isEmpty()) { popupWindow = new ConfirmationModel(); @@ -440,7 +389,7 @@ sourceListModel.setConfirmWindow(popupWindow); return; } - bondPopup.getBond().setItems(freeBonds); + final SetupNetworksBondModel bondPopup = new SetupNetworksAddBondModel(freeBonds); bondPopup.getCommands().add(new UICommand("OK", new BaseCommandTarget() { //$NON-NLS-1$ @Override @@ -741,7 +690,7 @@ } } - private void setBondOptions(VdsNetworkInterface entity, HostBondInterfaceModel bondDialogModel) { + private void setBondOptions(VdsNetworkInterface entity, SetupNetworksBondModel bondDialogModel) { KeyValuePairCompat<String, EntityModel> BondPair = (KeyValuePairCompat<String, EntityModel>) bondDialogModel.getBondingOptions() .getSelectedItem(); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java new file mode 100644 index 0000000..567e67a --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java @@ -0,0 +1,17 @@ +package org.ovirt.engine.ui.uicommonweb.models.hosts; + +import java.util.List; + +import org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol; +import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; +import org.ovirt.engine.ui.uicompat.ConstantsManager; + +public class SetupNetworksAddBondModel extends SetupNetworksBondModel { + + public SetupNetworksAddBondModel(List<VdsNetworkInterface> freeBonds) { + setTitle(ConstantsManager.getInstance().getConstants().createNewBondTitle()); + setBootProtocol(NetworkBootProtocol.NONE); + getBond().setItems(freeBonds); + } + +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksBondModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksBondModel.java new file mode 100644 index 0000000..842347c --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksBondModel.java @@ -0,0 +1,14 @@ +package org.ovirt.engine.ui.uicommonweb.models.hosts; + +public class SetupNetworksBondModel extends HostBondInterfaceModel { + + public SetupNetworksBondModel() { + getNetwork().setIsAvailable(false); + getCheckConnectivity().setIsAvailable(false); + getAddress().setIsAvailable(false); + getSubnet().setIsAvailable(false); + getGateway().setIsAvailable(false); + setBootProtocolAvailable(false); + } + +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java new file mode 100644 index 0000000..5cfe975 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java @@ -0,0 +1,50 @@ +package org.ovirt.engine.ui.uicommonweb.models.hosts; + +import java.util.Arrays; +import java.util.List; + +import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; +import org.ovirt.engine.core.compat.KeyValuePairCompat; +import org.ovirt.engine.ui.uicommonweb.models.EntityModel; +import org.ovirt.engine.ui.uicompat.ConstantsManager; + +public class SetupNetworksEditBondModel extends SetupNetworksBondModel { + + public SetupNetworksEditBondModel(final VdsNetworkInterface bond) { + setTitle(ConstantsManager.getInstance() + .getMessages() + .editBondInterfaceTitle(bond.getName())); + + // bond name + getBond().setIsChangable(false); + List<VdsNetworkInterface> bondName = Arrays.asList(bond); + getBond().setItems(bondName); + getBond().setSelectedItem(bond); + + // bond options + String bondOptions = bond.getBondOptions(); + List<KeyValuePairCompat<String, EntityModel>> items = + (List<KeyValuePairCompat<String, EntityModel>>) getBondingOptions().getItems(); + boolean found = false; + KeyValuePairCompat<String, EntityModel> customKey = null; + for (KeyValuePairCompat<String, EntityModel> pair : items) { + String key = pair.getKey(); + if (key.equals(bondOptions)) { + getBondingOptions().setSelectedItem(pair); + found = true; + break; + } else { + if ("custom".equals(key)) { //$NON-NLS-1$ + customKey = pair; + } + } + } + if (!found) { + EntityModel value = new EntityModel(); + value.setEntity(bondOptions); + customKey.setValue(value); + getBondingOptions().setSelectedItem(customKey); + } + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java index 3916673..3be5d98 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/PresenterModule.java @@ -49,6 +49,7 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostSetupNetworksPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.ManualFencePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.MultipleHostsPopupPresenterWidget; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksBondPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksInterfacePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksManagementPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.pool.PoolEditPopupPresenterWidget; @@ -232,6 +233,7 @@ import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostSetupNetworksPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.ManualFenceConfirmationPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.MultipleHostsPopupView; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.SetupNetworksBondPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.SetupNetworksInterfacePopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.SetupNetworksManagementPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.pool.PoolEditPopupView; @@ -938,6 +940,9 @@ bindPresenterWidget(HostBondPopupPresenterWidget.class, HostBondPopupPresenterWidget.ViewDef.class, HostBondPopupView.class); + bindPresenterWidget(SetupNetworksBondPopupPresenterWidget.class, + SetupNetworksBondPopupPresenterWidget.ViewDef.class, + SetupNetworksBondPopupView.class); bindPresenterWidget(HostSetupNetworksPopupPresenterWidget.class, HostSetupNetworksPopupPresenterWidget.ViewDef.class, HostSetupNetworksPopupView.class); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java index 0a98dcf..b70daf3 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java @@ -48,6 +48,7 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostSetupNetworksPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.ManualFencePopupPresenterWidget; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksBondPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksInterfacePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksManagementPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.VmMigratePopupPresenterWidget; @@ -159,6 +160,7 @@ final Provider<HostManagementPopupPresenterWidget> hostManagementPopupProvider, final Provider<SetupNetworksManagementPopupPresenterWidget> setupNetworksManagementPopupProvider, final Provider<HostBondPopupPresenterWidget> hostBondPopupProvider, + final Provider<SetupNetworksBondPopupPresenterWidget> setupNetworksBondPopupProvider, final Provider<HostSetupNetworksPopupPresenterWidget> hostSetupNetworksPopupProvider) { return new SearchableDetailTabModelProvider<HostInterfaceLineModel, HostListModel, HostInterfaceListModel>(ginjector, HostListModel.class, @@ -177,7 +179,7 @@ if (source.getWindow() instanceof HostSetupNetworksModel){ // Resolve by dialog model if (windowModel instanceof HostBondInterfaceModel) { - return hostBondPopupProvider.get(); + return setupNetworksBondPopupProvider.get(); } else if (windowModel instanceof HostInterfaceModel) { HostInterfaceModel hostInterfaceModel = (HostInterfaceModel) windowModel; diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/SetupNetworksBondPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/SetupNetworksBondPopupPresenterWidget.java new file mode 100644 index 0000000..a6dc5df --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/SetupNetworksBondPopupPresenterWidget.java @@ -0,0 +1,17 @@ +package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host; + +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; + +public class SetupNetworksBondPopupPresenterWidget extends HostBondPopupPresenterWidget { + + public interface ViewDef extends HostBondPopupPresenterWidget.ViewDef { + + } + + @Inject + public SetupNetworksBondPopupPresenterWidget(EventBus eventBus, ViewDef view) { + super(eventBus, view); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java index 1cbf01e..5d6ba7d 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java @@ -221,19 +221,6 @@ bondingModeEditor.setVisible(true); bondingModeEditor.asWidget().setVisible(true); - - if (object.isCompactMode()) { - // hide widgets - info.setVisible(false); - message.setVisible(false); - checkConnectivity.setVisible(false); - commitChanges.setVisible(false); - // resize - layoutPanel.remove(infoPanel); - layoutPanel.setWidgetSize(mainPanel, 300); - asPopupPanel().setPixelSize(400, 400); - } - } @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java new file mode 100644 index 0000000..b4dd166 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java @@ -0,0 +1,33 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.host; + +import org.ovirt.engine.ui.uicommonweb.models.hosts.HostBondInterfaceModel; +import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationResources; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.SetupNetworksBondPopupPresenterWidget; + +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; + +public class SetupNetworksBondPopupView extends HostBondPopupView implements SetupNetworksBondPopupPresenterWidget.ViewDef { + + @Inject + public SetupNetworksBondPopupView(EventBus eventBus, ApplicationResources resources, ApplicationConstants constants) { + super(eventBus, resources, constants); + } + + @Override + public void edit(final HostBondInterfaceModel object) { + super.edit(object); + + // hide widgets + info.setVisible(false); + message.setVisible(false); + checkConnectivity.setVisible(false); + commitChanges.setVisible(false); + // resize + layoutPanel.remove(infoPanel); + layoutPanel.setWidgetSize(mainPanel, 300); + asPopupPanel().setPixelSize(400, 400); + } + +} -- To view, visit http://gerrit.ovirt.org/13678 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib9f4de41a5d298bf922e9ad7fee64ee2b62c3700 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
