Lior Vernia has uploaded a new change for review. Change subject: webadmin: Disable external networks in Setup Networks ......................................................................
webadmin: Disable external networks in Setup Networks Changed the appearance of external networks in Setup Host Networks to look disabled and not be draggable, as they truly shouldn't be statically assigned to the host's interfaces. Change-Id: I556ec7a330236dbdb204b82b2ff67f86ed4dbea8 Bug-Url: https://bugzilla.redhat.com/990612 Signed-off-by: Lior Vernia <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkOperationFactory.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.ui.xml A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ExternalNetworkPanel.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ExternalNetworksPanel.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/InternalNetworkPanel.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/InternalNetworksPanel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanelsStyle.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java 12 files changed, 235 insertions(+), 88 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/95/19695/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkOperationFactory.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkOperationFactory.java index e4c7164..00f019f 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkOperationFactory.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/network/NetworkOperationFactory.java @@ -41,7 +41,13 @@ * @return */ public static NetworkOperation operationFor(NetworkItemModel<?> op1, NetworkItemModel<?> op2, boolean isDrag) { - // !! always check bond before nic because of inheritance !! + // first of all, if the network is external then there's no valid operation for it + if (op1 instanceof LogicalNetworkModel) { + LogicalNetworkModel network = (LogicalNetworkModel) op1; + if (network.getEntity().isExternal()) { + return NetworkOperation.NULL_OPERATION; + } + } // unary operation dragging op1 to nowhere if (op2 == null) { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java index 3695317..11a58e1 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java @@ -2574,6 +2574,9 @@ @DefaultStringValue("No Valid Action") String noValidActionSetupNetwork(); + @DefaultStringValue("External networks can't be attached statically; they will be attached dynamically as they are needed by VMs.") + String externalNetworksInfo(); + @DefaultStringValue("Check this checkbox to ensure you won't lose connectivity to the engine.") String checkConnectivityInfoPart1(); @@ -2626,6 +2629,9 @@ @DefaultStringValue("Unassigned Logical Networks") String unassignedLogicalNetworks(); + @DefaultStringValue("External Logical Networks") + String externalLogicalNetworks(); + // Brick @DefaultStringValue("Status") String statusBrick(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java index 6290a26..8722dc6 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.java @@ -23,10 +23,13 @@ import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostSetupNetworksPopupPresenterWidget; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels.ExternalNetworkPanel; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels.ExternalNetworksPanel; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels.NetworkGroup; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels.NetworkPanel; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels.InternalNetworkPanel; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels.NetworkPanelsStyle; -import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels.UnassignedNetworksPanel; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels.InternalNetworksPanel; import org.ovirt.engine.ui.webadmin.widget.editor.AnimatedVerticalPanel; import org.ovirt.engine.ui.webadmin.widget.footer.StatusLabel; @@ -50,8 +53,14 @@ private static ApplicationConstants constants = ClientGinjectorProvider.getApplicationConstants(); private static final String EMPTY_STATUS = constants.dragToMakeChangesSetupNetwork(); + @UiField + InternalNetworksPanel internalNetworkList; + + @UiField + ExternalNetworksPanel externalNetworkList; + @UiField(provided = true) - UnassignedNetworksPanel networkList; + InfoIcon externalNetworksInfo; @UiField AnimatedVerticalPanel nicList; @@ -90,7 +99,7 @@ status = new StatusLabel(EMPTY_STATUS); checkConnectivity = new EntityModelCheckBoxEditor(Align.RIGHT); commitChanges = new EntityModelCheckBoxEditor(Align.RIGHT); - networkList = new UnassignedNetworksPanel(); + externalNetworksInfo = new InfoIcon(templates.italicText(constants.externalNetworksInfo()), resources); checkConnInfo = new InfoIcon(templates.italicTwoLines(constants.checkConnectivityInfoPart1(), constants.checkConnectivityInfoPart2()), resources); commitChangesInfo = new InfoIcon(templates.italicTwoLines(constants.commitChangesInfoPart1(), constants.commitChangesInfoPart2()), resources); initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); @@ -103,8 +112,8 @@ } private void initUnassignedNetworksPanel() { - networkList.setStyle(style); - networkList.setSpacing(10); + internalNetworkList.setStyle(style); + externalNetworkList.setStyle(style); } private void localize(){ @@ -155,7 +164,8 @@ } }); - networkList.setSetupModel(uicommonModel); + internalNetworkList.setSetupModel(uicommonModel); + externalNetworkList.setSetupModel(uicommonModel); } @Override @@ -164,15 +174,20 @@ } private void updateNetworks(List<LogicalNetworkModel> allNetworks) { - networkList.clear(); + internalNetworkList.clear(); + externalNetworkList.clear(); Collections.sort(allNetworks); - List<NetworkPanel> panels = new ArrayList<NetworkPanel>(); + List<NetworkPanel> staticNetworkPanels = new ArrayList<NetworkPanel>(); + List<NetworkPanel> dynamicNetworkPanels = new ArrayList<NetworkPanel>(); for (LogicalNetworkModel network : allNetworks) { - if (!network.isAttached()) { - panels.add(new NetworkPanel(network, style)); + if (network.getEntity().isExternal()) { + dynamicNetworkPanels.add(new ExternalNetworkPanel(network, style)); + } else if (!network.isAttached()) { + staticNetworkPanels.add(new InternalNetworkPanel(network, style)); } } - networkList.addAll(panels, !rendered); + internalNetworkList.addAll(staticNetworkPanels, !rendered); + externalNetworkList.addAll(dynamicNetworkPanels, !rendered); } private void updateNics(List<NetworkInterfaceModel> nics) { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.ui.xml index 054aeab..e19fe0e 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostSetupNetworksPopupView.ui.xml @@ -14,6 +14,22 @@ margin-bottom: 5px; } + .externaltitle { + font-size: small; + display: inline; + } + + .externalNetworksPanel { + text-align: center; + margin-bottom: 5px; + margin-top: 30px; + } + + .externalNetworksInfo { + display: inline; + margin-left: 2px; + } + .assignedtitle { font-size: small; text-align: center; @@ -68,6 +84,12 @@ .networkPanel:HOVER { background-color: #F6F6F6; box-shadow: 1px 1px 1px 1px rgba(33, 33, 33, 0.3); + } + + .disabledNetworkPanel { + background-color: #E3E3E3; + border-color: #C5C5C5; + height: 36px; } .mgmtNetwork { @@ -209,12 +231,17 @@ </g:HTMLPanel> </g:Cell> <g:Cell width="30%" height="100%"> - <g:VerticalPanel width="100%" horizontalAlignment="ALIGN_LEFT"> - <g:Label text="{constants.unassignedLogicalNetworks}" styleName="{style.unassignedtitle}" /> - <g:ScrollPanel height="370px"> - <p:UnassignedNetworksPanel ui:field="networkList"/> - </g:ScrollPanel> - </g:VerticalPanel> + <g:ScrollPanel height="370px"> + <g:VerticalPanel width="100%" horizontalAlignment="ALIGN_LEFT"> + <g:Label text="{constants.unassignedLogicalNetworks}" styleName="{style.unassignedtitle}" /> + <p:InternalNetworksPanel ui:field="internalNetworkList" /> + <g:FlowPanel styleName="{style.externalNetworksPanel}" > + <g:Label text="{constants.externalLogicalNetworks}" styleName="{style.externaltitle}" /> + <d:InfoIcon ui:field="externalNetworksInfo" styleName="{style.externalNetworksInfo}" /> + </g:FlowPanel> + <p:ExternalNetworksPanel ui:field="externalNetworkList"/> + </g:VerticalPanel> + </g:ScrollPanel> </g:Cell> </g:HorizontalPanel> <g:VerticalPanel styleName="{style.checkBoxesPanel}" > diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ExternalNetworkPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ExternalNetworkPanel.java new file mode 100644 index 0000000..c13b965 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ExternalNetworkPanel.java @@ -0,0 +1,19 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels; + +import org.ovirt.engine.ui.uicommonweb.models.hosts.network.LogicalNetworkModel; + +import com.google.gwt.resources.client.ImageResource; + +public class ExternalNetworkPanel extends NetworkPanel { + + public ExternalNetworkPanel(LogicalNetworkModel item, NetworkPanelsStyle style) { + super(item, style, false); + getElement().addClassName(style.disabledNetworkPanel()); + } + + @Override + protected ImageResource getStatusImage() { + return resources.openstackImage(); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ExternalNetworksPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ExternalNetworksPanel.java new file mode 100644 index 0000000..a2d231f --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ExternalNetworksPanel.java @@ -0,0 +1,32 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels; + +import java.util.Collections; +import java.util.List; + +import com.google.gwt.user.client.ui.VerticalPanel; + +public class ExternalNetworksPanel extends UnassignedNetworksPanel { + + private VerticalPanel externalNetworksPanel = new VerticalPanel(); + + @Override + public void setStyle(NetworkPanelsStyle style) { + super.setStyle(style); + stylePanel(externalNetworksPanel); + } + + @Override + public void addAll(List<NetworkPanel> list, boolean fadeIn) { + for (NetworkPanel networkPanel : list) { + externalNetworksPanel.add(networkPanel); + } + animatedPanel.addAll(Collections.singletonList(externalNetworksPanel), fadeIn); + } + + @Override + public void clear() { + super.clear(); + externalNetworksPanel.clear(); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/InternalNetworkPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/InternalNetworkPanel.java new file mode 100644 index 0000000..f4892a3 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/InternalNetworkPanel.java @@ -0,0 +1,27 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels; + +import org.ovirt.engine.core.common.businessentities.network.NetworkStatus; +import org.ovirt.engine.ui.uicommonweb.models.hosts.network.LogicalNetworkModel; +import com.google.gwt.resources.client.ImageResource; + +public class InternalNetworkPanel extends NetworkPanel { + + public InternalNetworkPanel(LogicalNetworkModel item, NetworkPanelsStyle style) { + super(item, style, true); + getElement().addClassName(style.networkPanel()); + } + + @Override + protected ImageResource getStatusImage() { + NetworkStatus netStatus = ((LogicalNetworkModel) item).getStatus(); + + if (netStatus == NetworkStatus.OPERATIONAL) { + return resources.upImage(); + } else if (netStatus == NetworkStatus.NON_OPERATIONAL) { + return resources.downImage(); + } else { + return resources.questionMarkImage(); + } + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/InternalNetworksPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/InternalNetworksPanel.java new file mode 100644 index 0000000..17df96a --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/InternalNetworksPanel.java @@ -0,0 +1,66 @@ +package org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels; + +import java.util.ArrayList; +import java.util.List; + +import org.ovirt.engine.ui.uicommonweb.models.hosts.network.LogicalNetworkModel; + +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.SimplePanel; +import com.google.gwt.user.client.ui.VerticalPanel; + +public class InternalNetworksPanel extends UnassignedNetworksPanel { + + private VerticalPanel requiredPanel = new VerticalPanel(); + private VerticalPanel nonRequiredPanel = new VerticalPanel(); + private final List<VerticalPanel> unassignNetworksList = new ArrayList<VerticalPanel>(); + + public InternalNetworksPanel() { + unassignNetworksList.add(requiredPanel); + unassignNetworksList.add(nonRequiredPanel); + } + + @Override + public void setStyle(final NetworkPanelsStyle style) { + super.setStyle(style); + stylePanel(requiredPanel, constants.requiredNetwork()); + stylePanel(nonRequiredPanel, constants.nonRequiredNetwork()); + } + + private void stylePanel(VerticalPanel panel, String title) { + Label label = new Label(title); + SimplePanel titlePanel = new SimplePanel(new Label(title)); + + titlePanel.setStyleName(style.requiredTitlePanel()); + label.getElement().addClassName(style.requiredLabel()); + + panel.add(titlePanel); + + super.stylePanel(panel); + } + + @Override + public void addAll(List<NetworkPanel> list, boolean fadeIn) { + for (NetworkPanel networkPanel : list) { + LogicalNetworkModel networkModel = (LogicalNetworkModel) networkPanel.getItem(); + boolean isRequired = + networkModel.getEntity().getCluster() == null ? false : networkModel.getEntity() + .getCluster() + .isRequired(); + if (isRequired) { + requiredPanel.add(networkPanel); + } else { + nonRequiredPanel.add(networkPanel); + } + } + animatedPanel.addAll(unassignNetworksList, fadeIn); + } + + @Override + public void clear() { + super.clear(); + requiredPanel.clear(); + nonRequiredPanel.clear(); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java index 28c32a0..083806e 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkGroup.java @@ -77,7 +77,7 @@ flexCellFormatter.setRowSpan(0, 0, networkSize); FlexTable networkTable = new FlexTable(); for (int i = 0; i < networkSize; i++) { - networkTable.setWidget(i, 0, new NetworkPanel(networks.get(i), style)); + networkTable.setWidget(i, 0, new InternalNetworkPanel(networks.get(i), style)); } networkTable.setWidth("100%"); //$NON-NLS-1$ table.setWidget(0, 2, networkTable); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java index 2a61105..d49eb16 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java @@ -1,6 +1,5 @@ package org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels; -import org.ovirt.engine.core.common.businessentities.network.NetworkStatus; import org.ovirt.engine.ui.uicommonweb.models.hosts.network.LogicalNetworkModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.network.NetworkCommand; import org.ovirt.engine.ui.uicommonweb.models.hosts.network.NetworkOperation; @@ -8,17 +7,16 @@ import com.google.gwt.resources.client.ImageResource; import com.google.gwt.user.client.ui.Grid; -import com.google.gwt.user.client.ui.HTMLTable.ColumnFormatter; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; +import com.google.gwt.user.client.ui.HTMLTable.ColumnFormatter; -public class NetworkPanel extends NetworkItemPanel { +public abstract class NetworkPanel extends NetworkItemPanel { - public NetworkPanel(LogicalNetworkModel item, NetworkPanelsStyle style) { - super(item, style, true); + public NetworkPanel(LogicalNetworkModel item, NetworkPanelsStyle style, Boolean draggable) { + super(item, style, draggable); actionButton.setStyleName(style.actionButtonNetwork()); - getElement().addClassName(style.networkPanel()); if (item.isManagement()) { getElement().addClassName(style.mgmtNetwork()); } @@ -103,17 +101,7 @@ return rowPanel; } - protected ImageResource getStatusImage() { - NetworkStatus netStatus = ((LogicalNetworkModel) item).getStatus(); - - if (netStatus == NetworkStatus.OPERATIONAL) { - return resources.upImage(); - } else if (netStatus == NetworkStatus.NON_OPERATIONAL) { - return resources.downImage(); - } else { - return resources.questionMarkImage(); - } - } + protected abstract ImageResource getStatusImage(); private String getItemTitle() { LogicalNetworkModel networkModel = (LogicalNetworkModel) item; diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanelsStyle.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanelsStyle.java index 244ac63..7c05c03 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanelsStyle.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanelsStyle.java @@ -25,6 +25,8 @@ String networkPanel(); + String disabledNetworkPanel(); + String nicPanel(); String statusPanel(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java index d6e451f..55a7cb6 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/UnassignedNetworksPanel.java @@ -1,10 +1,8 @@ package org.ovirt.engine.ui.webadmin.section.main.view.popup.host.panels; -import java.util.ArrayList; import java.util.List; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostSetupNetworksModel; -import org.ovirt.engine.ui.uicommonweb.models.hosts.network.LogicalNetworkModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider; import org.ovirt.engine.ui.webadmin.widget.editor.AnimatedVerticalPanel; @@ -20,28 +18,17 @@ import com.google.gwt.event.dom.client.DropEvent; import com.google.gwt.event.dom.client.DropHandler; import com.google.gwt.user.client.ui.FocusPanel; -import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.VerticalPanel; -public class UnassignedNetworksPanel extends FocusPanel { +public abstract class UnassignedNetworksPanel extends FocusPanel { - private final ApplicationConstants constants = ClientGinjectorProvider.getApplicationConstants(); - private final AnimatedVerticalPanel animatedPanel = new AnimatedVerticalPanel(); + protected final ApplicationConstants constants = ClientGinjectorProvider.getApplicationConstants(); + protected final AnimatedVerticalPanel animatedPanel = new AnimatedVerticalPanel(); - private final VerticalPanel requiredPanel = new VerticalPanel(); - private final VerticalPanel nonRequiredPanel = new VerticalPanel(); - private final List<VerticalPanel> unassignNetworksList = new ArrayList<VerticalPanel>(); - private final Label requiredLabel = new Label(constants.requiredNetwork()); - private final Label nonRequiredLabel = new Label(constants.nonRequiredNetwork()); - private final SimplePanel requiredTitlePanel = new SimplePanel(requiredLabel); - private final SimplePanel nonRequiredTitlePanel = new SimplePanel(nonRequiredLabel); - - private NetworkPanelsStyle style; + protected NetworkPanelsStyle style; private HostSetupNetworksModel setupModel; public UnassignedNetworksPanel() { - super(); getElement().setDraggable(Element.DRAGGABLE_FALSE); // drag enter @@ -81,54 +68,25 @@ } }, DropEvent.getType()); - unassignNetworksList.add(requiredPanel); - unassignNetworksList.add(nonRequiredPanel); - setWidget(animatedPanel); } public void setStyle(final NetworkPanelsStyle style) { this.style = style; + setSpacing(10); animatedPanel.getElement().addClassName(style.unassignedNetworksPanel()); - - // Style required/non-required titles - requiredTitlePanel.setStyleName(style.requiredTitlePanel()); - nonRequiredTitlePanel.setStyleName(style.requiredTitlePanel()); - - requiredLabel.getElement().addClassName(style.requiredLabel()); - nonRequiredLabel.getElement().addClassName(style.requiredLabel()); - - // Style required/non-required network list panels - requiredPanel.setSpacing(2); - requiredPanel.setWidth("100%"); //$NON-NLS-1$ - - nonRequiredPanel.setSpacing(2); - nonRequiredPanel.setWidth("100%"); //$NON-NLS-1$ } - public void addAll(List<NetworkPanel> list, boolean fadeIn) { - requiredPanel.add(requiredTitlePanel); - nonRequiredPanel.add(nonRequiredTitlePanel); - for (NetworkPanel networkPanel : list) { - LogicalNetworkModel networkModel = (LogicalNetworkModel) networkPanel.getItem(); - boolean isRequired = - networkModel.getEntity().getCluster() == null ? false : networkModel.getEntity() - .getCluster() - .isRequired(); - if (isRequired) { - requiredPanel.add(networkPanel); - } else { - nonRequiredPanel.add(networkPanel); - } - } - animatedPanel.addAll(unassignNetworksList, fadeIn); + protected void stylePanel(VerticalPanel panel) { + panel.setSpacing(2); + panel.setWidth("100%"); //$NON-NLS-1$ } + + public abstract void addAll(List<NetworkPanel> list, boolean fadeIn); @Override public void clear() { animatedPanel.clear(); - requiredPanel.clear(); - nonRequiredPanel.clear(); } public void setSpacing(int spacing) { @@ -151,4 +109,5 @@ public void setSetupModel(HostSetupNetworksModel setupModel) { this.setupModel = setupModel; } + } -- To view, visit http://gerrit.ovirt.org/19695 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I556ec7a330236dbdb204b82b2ff67f86ed4dbea8 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
