Alona Kaplan has uploaded a new change for review. Change subject: webadmin: Change "Active" vnic to "Plugged" ......................................................................
webadmin: Change "Active" vnic to "Plugged" - VmInterface Dialog -change Activate checkobox to radio button- "Card Status". - Add plugged column to VM->VM Interface table. - Changed "Activated" property om VmInterfaceModel to "Plugged". Change-Id: Ib42f1e622ee1b55e65a6ec274e762cea9a08d531 Signed-off-by: Alona Kaplan <alkap...@redhat.com> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationTemplates.java R frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/CheckboxColumn.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/template/TemplateNetworkInterfacePopupWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/BaseInterfaceListModelTable.java A frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/network/icn_plugged.png A frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/network/icn_un_plugged.png M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/VmInterfacePopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineNetworkInterfaceView.java 18 files changed, 249 insertions(+), 78 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/15/9415/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java index 7c8ec1f..47c2742 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java @@ -498,6 +498,9 @@ @DefaultStringValue("Port Mirroring") String portMirroring(); + @DefaultStringValue("Plugged") + String plugged(); + @DefaultStringValue("Enabled") String portMirroringEnabled(); @@ -724,8 +727,14 @@ @DefaultStringValue("Specify custom MAC address") String specipyCustMacNetworkIntefacePopup(); - @DefaultStringValue("Activate") - String activateNetworkIntefacePopup(); + @DefaultStringValue("Card Status") + String cardStatusNetworkIntefacePopup(); + + @DefaultStringValue("Plugged") + String pluggedNetworkIntefacePopup(); + + @DefaultStringValue("Unplugged") + String unpluggedNetworkIntefacePopup(); // Pool popup @DefaultStringValue("Do not migrate VM") diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java index 89a8488..2af2b56 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java @@ -198,4 +198,12 @@ @Source("images/vms.png") ImageResource vmsImage(); + + // Network + @Source("images/network/icn_plugged.png") + ImageResource pluggedNetworkImage(); + + @Source("images/network/icn_un_plugged.png") + ImageResource unpluggedNetworkImage(); + } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationTemplates.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationTemplates.java index e21fedb..07b82f4 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationTemplates.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationTemplates.java @@ -13,12 +13,15 @@ "<span style='position: relative; margin-left: 3px; white-space: nowrap;'>{1}</span></span>") SafeHtml textImageButton(String text, SafeHtml image); - @Template("<span><span style='position: relative; height: 22px; vertical-align: bottom; display: table-cell;'>{0}</span>" + + @Template("<span><span style='position: relative; height: 22px; vertical-align: bottom; display: table-cell;'>{0}</span>" + + "<span style='position: relative; padding-left: 3px; vertical-align: middle; display: table-cell;'>{1}</span></span>") SafeHtml dualImage(SafeHtml image1, SafeHtml image2); - @Template("<span><span style='position: relative; height: 22px; vertical-align: bottom; display: table-cell;'>{0}</span>" + - "<span style='position: relative; padding-left: 3px; vertical-align: middle; display: table-cell; width: 19px;'>{1}</span>" + + @Template("<span><span style='position: relative; height: 22px; vertical-align: bottom; display: table-cell;'>{0}</span>" + + + "<span style='position: relative; padding-left: 3px; vertical-align: middle; display: table-cell; width: 19px;'>{1}</span>" + + "<span style='position: relative; padding-left: 3px; vertical-align: middle; display: table-cell;'>{2}</span></span>") SafeHtml tripleImage(SafeHtml image1, SafeHtml image2, SafeHtml image3); @@ -48,4 +51,8 @@ @Template("<b><font style='{0}'>{1}</font></b>") SafeHtml snapshotDescription(String style, String description); + @Template("<span><span style='position: relative; display: inline-block; vertical-align: top; height: 14px; line-height: 14px;'>{0}</span>" + + "<span style='position: relative; white-space: nowrap; height: 14px; line-height: 14px;'>{1}</span></span>") + SafeHtml imageTextCardStatus(SafeHtml image, String text); + } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/CheckboxColumn.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/CheckboxColumn.java similarity index 96% rename from frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/CheckboxColumn.java rename to frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/CheckboxColumn.java index b403315..5566e3c 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/CheckboxColumn.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/CheckboxColumn.java @@ -1,4 +1,4 @@ -package org.ovirt.engine.ui.webadmin.widget.table.column; +package org.ovirt.engine.ui.common.widget.table.column; import com.google.gwt.cell.client.Cell; import com.google.gwt.cell.client.Cell.Context; diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.java index 0ea368b..5d184ce 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.java @@ -1,12 +1,17 @@ package org.ovirt.engine.ui.common.widget.uicommon.popup.networkinterface; import org.ovirt.engine.core.common.businessentities.Network; +import org.ovirt.engine.core.compat.Event; +import org.ovirt.engine.core.compat.EventArgs; +import org.ovirt.engine.core.compat.IEventListener; import org.ovirt.engine.ui.common.CommonApplicationConstants; +import org.ovirt.engine.ui.common.CommonApplicationResources; +import org.ovirt.engine.ui.common.CommonApplicationTemplates; import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; import org.ovirt.engine.ui.common.idhandler.WithElementId; -import org.ovirt.engine.ui.common.widget.Align; import org.ovirt.engine.ui.common.widget.dialog.AdvancedParametersExpander; import org.ovirt.engine.ui.common.widget.editor.EntityModelCheckBoxEditor; +import org.ovirt.engine.ui.common.widget.editor.EntityModelRadioButtonEditor; import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxEditor; import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor; import org.ovirt.engine.ui.common.widget.renderer.EnumRenderer; @@ -19,10 +24,14 @@ import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.shared.EventBus; +import com.google.gwt.resources.client.CssResource; +import com.google.gwt.safehtml.shared.SafeHtmlUtils; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.client.ui.AbstractImagePrototype; import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Panel; @@ -39,6 +48,15 @@ interface ViewIdHandler extends ElementIdHandler<NetworkInterfacePopupWidget> { ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); } + + protected interface Style extends CssResource { + String cardStatusEditorContent(); + + String cardStatusRadioContent(); + } + + @UiField + protected Style style; @UiField @Path("name.entity") @@ -78,24 +96,38 @@ @Ignore Label macExample; + @UiField + protected HorizontalPanel cardStatusSelectionPanel; + + @UiField + @Ignore + public ListModelListBoxEditor<Object> cardStatusEditor; + @UiField(provided = true) - @Path("Active.entity") - @WithElementId("activate") - protected EntityModelCheckBoxEditor activateCheckBox; + @Path(value = "plugged_IsSelected.entity") + public EntityModelRadioButtonEditor pluggedEditor; + + @UiField(provided = true) + @Path(value = "unplugged_IsSelected.entity") + public EntityModelRadioButtonEditor unpluggedEditor; + + public static CommonApplicationTemplates templates = GWT.create(CommonApplicationTemplates.class); + public static CommonApplicationResources resources = GWT.create(CommonApplicationResources.class); @UiField @Ignore - AdvancedParametersExpander expander; + public AdvancedParametersExpander expander; @UiField @Ignore - Panel expanderContent; + public Panel expanderContent; public NetworkInterfacePopupWidget(EventBus eventBus, CommonApplicationConstants constants) { initManualWidgets(); initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); expander.initWithContent(expanderContent.getElement()); localize(constants); + applyStyles(); ViewIdHandler.idHandler.generateAndSetIds(this); Driver.driver.initialize(this); } @@ -105,8 +137,17 @@ networkEditor.setLabel(constants.networkNetworkIntefacePopup()); nicTypeEditor.setLabel(constants.typeNetworkIntefacePopup()); enableManualMacCheckboxLabel.setText(constants.specipyCustMacNetworkIntefacePopup()); - activateCheckBox.setLabel(constants.activateNetworkIntefacePopup()); portMirroringEditor.setLabel(constants.portMirroringNetworkIntefacePopup()); + + cardStatusEditor.setLabel(constants.cardStatusNetworkIntefacePopup()); + pluggedEditor.asRadioButton() + .setHTML(templates.imageTextCardStatus(SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.pluggedNetworkImage()) + .getHTML()), + constants.pluggedNetworkIntefacePopup())); + unpluggedEditor.asRadioButton() + .setHTML(templates.imageTextCardStatus(SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.unpluggedNetworkImage()) + .getHTML()), + constants.unpluggedNetworkIntefacePopup())); } @SuppressWarnings({ "rawtypes", "unchecked" }) @@ -120,7 +161,8 @@ nicTypeEditor = new ListModelListBoxEditor<Object>(new EnumRenderer()); - activateCheckBox = new EntityModelCheckBoxEditor(Align.RIGHT); + pluggedEditor = new EntityModelRadioButtonEditor("cardStatus"); //$NON-NLS-1$ + unpluggedEditor = new EntityModelRadioButtonEditor("cardStatus"); //$NON-NLS-1$ } @Override @@ -139,6 +181,18 @@ }); hideMacWhenNotEnabled(iface); + + iface.getPlugged().getPropertyChangedEvent().addListener(new IEventListener() { + @Override + public void eventRaised(Event ev, Object sender, EventArgs args) { + boolean isCardStatusChangable = iface.getPlugged().getIsChangable(); + pluggedEditor.setEnabled(isCardStatusChangable); + unpluggedEditor.setEnabled(isCardStatusChangable); + + boolean isCardStatusAvailable = iface.getPlugged().getIsAvailable(); + cardStatusSelectionPanel.setVisible(isCardStatusAvailable); + } + }); } private void hideMacWhenNotEnabled(VmInterfaceModel iface) { @@ -154,4 +208,10 @@ public VmInterfaceModel flush() { return Driver.driver.flush(); } + + private void applyStyles() { + cardStatusEditor.addContentWidgetStyleName(style.cardStatusEditorContent()); + pluggedEditor.addContentWidgetStyleName(style.cardStatusRadioContent()); + unpluggedEditor.addContentWidgetStyleName(style.cardStatusRadioContent()); + } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.ui.xml index 333e43e..c64fed0 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/networkinterface/NetworkInterfacePopupWidget.ui.xml @@ -6,10 +6,23 @@ <ui:with field='constants' type='org.ovirt.engine.ui.common.CommonApplicationConstants' /> - <ui:style> + <ui:style type="org.ovirt.engine.ui.common.widget.uicommon.popup.networkinterface.NetworkInterfacePopupWidget.Style"> .macExample { color: gray; float: right; + } + + .cardStatusEditor { + padding-right: 14px; + } + + .cardStatusEditorContent { + display: none; + } + + .cardStatusRadioContent { + padding-top: 3px; + width: 100%; } .expanderContent { @@ -37,7 +50,11 @@ <d:AdvancedParametersExpander ui:field="expander" addStyleNames="{style.expander}"/> <g:FlowPanel ui:field="expanderContent" addStyleNames="{style.expanderContent}"> <e:EntityModelCheckBoxEditor ui:field="portMirroringEditor" /> - <e:EntityModelCheckBoxEditor ui:field="activateCheckBox"/> + <g:HorizontalPanel ui:field="cardStatusSelectionPanel"> + <e:ListModelListBoxEditor ui:field="cardStatusEditor" addStyleNames="{style.cardStatusEditor}" /> + <e:EntityModelRadioButtonEditor ui:field="pluggedEditor"/> + <e:EntityModelRadioButtonEditor ui:field="unpluggedEditor"/> + </g:HorizontalPanel> </g:FlowPanel> </g:FlowPanel> </ui:UiBinder> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/template/TemplateNetworkInterfacePopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/template/TemplateNetworkInterfacePopupWidget.java index b1196aa..17f9063 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/template/TemplateNetworkInterfacePopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/template/TemplateNetworkInterfacePopupWidget.java @@ -16,8 +16,9 @@ @Override public void edit(VmInterfaceModel iface) { super.edit(iface); - activateCheckBox.setVisible(false); + cardStatusSelectionPanel.setVisible(false); portMirroringEditor.setVisible(false); + expander.setVisible(false); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/BaseInterfaceListModelTable.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/BaseInterfaceListModelTable.java index 96c5006..2a4006e 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/BaseInterfaceListModelTable.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/BaseInterfaceListModelTable.java @@ -6,6 +6,7 @@ import org.ovirt.engine.ui.common.CommonApplicationTemplates; import org.ovirt.engine.ui.common.system.ClientStorage; import org.ovirt.engine.ui.common.uicommon.model.SearchableTableModelProvider; +import org.ovirt.engine.ui.common.widget.table.column.CheckboxColumn; import org.ovirt.engine.ui.common.widget.table.column.EnumColumn; import org.ovirt.engine.ui.common.widget.table.column.NicActivateStatusColumn; import org.ovirt.engine.ui.common.widget.table.column.RxTxRateColumn; @@ -29,7 +30,7 @@ @Override public void initTable(final CommonApplicationConstants constants) { - getTable().addColumn(new NicActivateStatusColumn(), constants.empty(), "30px"); //$NON-NLS-1$ + getTable().addColumn(new NicActivateStatusColumn<VmNetworkInterface>(), constants.empty(), "30px"); //$NON-NLS-1$ TextColumnWithTooltip<VmNetworkInterface> nameColumn = new TextColumnWithTooltip<VmNetworkInterface>() { @Override @@ -38,6 +39,20 @@ } }; getTable().addColumn(nameColumn, constants.nameInterface()); + + CheckboxColumn<VmNetworkInterface> pluggedColumn = new CheckboxColumn<VmNetworkInterface>() { + @Override + public Boolean getValue(VmNetworkInterface object) { + return object.isActive(); + } + + @Override + protected boolean canEdit(VmNetworkInterface object) { + return false; + } + }; + + getTable().addColumnWithHtmlHeader(pluggedColumn, constants.plugged(), "60px"); //$NON-NLS-1$ TextColumnWithTooltip<VmNetworkInterface> networkNameColumn = new TextColumnWithTooltip<VmNetworkInterface>() { @Override @@ -73,7 +88,8 @@ } } }; - getTable().addColumnWithHtmlHeader(speedColumn, templates.sub(constants.speedInterface(), constants.mbps()).asString()); + getTable().addColumnWithHtmlHeader(speedColumn, + templates.sub(constants.speedInterface(), constants.mbps()).asString()); TextColumnWithTooltip<VmNetworkInterface> rxColumn = new RxTxRateColumn<VmNetworkInterface>() { @Override @@ -90,7 +106,8 @@ } } }; - getTable().addColumnWithHtmlHeader(rxColumn, templates.sub(constants.rxInterface(), constants.mbps()).asString()); + getTable().addColumnWithHtmlHeader(rxColumn, + templates.sub(constants.rxInterface(), constants.mbps()).asString()); TextColumnWithTooltip<VmNetworkInterface> txColumn = new RxTxRateColumn<VmNetworkInterface>() { @Override @@ -107,7 +124,8 @@ } } }; - getTable().addColumnWithHtmlHeader(txColumn, templates.sub(constants.txInterface(), constants.mbps()).asString()); + getTable().addColumnWithHtmlHeader(txColumn, + templates.sub(constants.txInterface(), constants.mbps()).asString()); TextColumnWithTooltip<VmNetworkInterface> dropsColumn = new SumUpColumn<VmNetworkInterface>() { @Override @@ -116,7 +134,8 @@ object.getStatistics().getTransmitDropRate() }; } }; - getTable().addColumnWithHtmlHeader(dropsColumn, templates.sub(constants.dropsInterface(), constants.pkts()).asString()); + getTable().addColumnWithHtmlHeader(dropsColumn, + templates.sub(constants.dropsInterface(), constants.pkts()).asString()); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/network/icn_plugged.png b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/network/icn_plugged.png new file mode 100644 index 0000000..e43080a --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/network/icn_plugged.png Binary files differ diff --git a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/network/icn_un_plugged.png b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/network/icn_un_plugged.png new file mode 100644 index 0000000..a488a94 --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/network/icn_un_plugged.png Binary files differ diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java index 4f71e88..ebbe8ac 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGuideModel.java @@ -24,6 +24,7 @@ import org.ovirt.engine.core.common.businessentities.VmOsType; import org.ovirt.engine.core.common.businessentities.VolumeType; import org.ovirt.engine.core.common.businessentities.storage_domains; +import org.ovirt.engine.core.common.queries.ConfigurationValues; import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.core.compat.Version; import org.ovirt.engine.ui.frontend.AsyncQuery; @@ -61,7 +62,7 @@ private ArrayList<Network> networks; private storage_domains storage; private VDSGroup cluster; - private boolean isActivateSupported; + private boolean isHotPlugSupported; @Override public VM getEntity() @@ -79,13 +80,9 @@ Version clusterCompatibilityVersion = vm.getvds_group_compatibility_version() != null ? vm.getvds_group_compatibility_version() : new Version(); - AsyncDataProvider.IsHotPlugAvailable(new AsyncQuery(this, - new INewAsyncCallback() { - @Override - public void OnSuccess(Object target, Object returnValue) { - isActivateSupported = (Boolean) returnValue; - } - }), clusterCompatibilityVersion.toString()); + isHotPlugSupported = + (Boolean) AsyncDataProvider.GetConfigValuePreConverted(ConfigurationValues.HotPlugEnabled, + clusterCompatibilityVersion.toString()); } @Override @@ -253,8 +250,8 @@ model.getName().setEntity(newNicName); model.getMAC().setIsChangable(false); - model.getActive().setIsChangable(isActivateSupported); - model.getActive().setEntity(true); + model.getPlugged().setIsChangable(isHotPlugSupported); + model.getPlugged().setEntity(true); Version v31 = new Version(3, 1); boolean isLessThan31 = getEntity().getvds_group_compatibility_version().compareTo(v31) < 0; @@ -319,8 +316,8 @@ : ((String) (model.getMAC().getEntity())).toLowerCase()) : ""); //$NON-NLS-1$ - vmNetworkInterface.setActive((Boolean) model.getActive().getEntity()); - vmNetworkInterface.setPortMirroring((Boolean)model.getPortMirroring().getEntity()); + vmNetworkInterface.setActive((Boolean) model.getPlugged().getEntity()); + vmNetworkInterface.setPortMirroring((Boolean) model.getPortMirroring().getEntity()); AddVmInterfaceParameters parameters = new AddVmInterfaceParameters(getEntity().getId(), vmNetworkInterface); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceListModel.java index 880aae4..5da95cc 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceListModel.java @@ -15,6 +15,7 @@ import org.ovirt.engine.core.common.businessentities.VMStatus; import org.ovirt.engine.core.common.businessentities.VmInterfaceType; import org.ovirt.engine.core.common.businessentities.VmNetworkInterface; +import org.ovirt.engine.core.common.queries.ConfigurationValues; import org.ovirt.engine.core.common.queries.GetVmByVmIdParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.PropertyChangedEventArgs; @@ -39,7 +40,7 @@ public class VmInterfaceListModel extends SearchableListModel { - private boolean isActivateSupported; + private boolean isHotPlugSupported; private UICommand privateNewCommand; @@ -100,7 +101,6 @@ { privateDactivateCommand = value; } - public VmInterfaceListModel() { @@ -174,8 +174,8 @@ model.getName().setEntity(newNicName); model.getMAC().setIsChangable(false); - model.getActive().setIsChangable(isActivateSupported); - model.getActive().setEntity(true); + model.getPlugged().setIsChangable(isHotPlugSupported); + model.getPlugged().setEntity(true); Version v31 = new Version(3, 1); boolean isLessThan31 = vm.getvds_group_compatibility_version().compareTo(v31) < 0; @@ -270,7 +270,7 @@ model.getName().setEntity(nic.getName()); model.getMAC().setIsChangable(false); model.getMAC().setEntity(nic.getMacAddress()); - model.getActive().setIsAvailable(false); + model.getPlugged().setIsAvailable(false); Version v31 = new Version(3, 1); boolean isLessThan31 = vm.getvds_group_compatibility_version().compareTo(v31) < 0; @@ -351,7 +351,7 @@ // Save changes. nic.setName((String) model.getName().getEntity()); nic.setNetworkName(((Network) model.getNetwork().getSelectedItem()).getname()); - nic.setPortMirroring((Boolean)model.getPortMirroring().getEntity()); + nic.setPortMirroring((Boolean) model.getPortMirroring().getEntity()); if (model.getNicType().getSelectedItem() == null) { nic.setType(null); @@ -365,7 +365,7 @@ if (model.getIsNew()) { - nic.setActive((Boolean) model.getActive().getEntity()); + nic.setActive((Boolean) model.getPlugged().getEntity()); } model.StartProgress(null); @@ -407,15 +407,16 @@ setWindow(model); } - private void activate(boolean activate){ + private void activate(boolean activate) { VM vm = (VM) getEntity(); ArrayList<VdcActionParametersBase> paramerterList = new ArrayList<VdcActionParametersBase>(); for (Object item : getSelectedItems()) { - VmNetworkInterface nic = (VmNetworkInterface)item; + VmNetworkInterface nic = (VmNetworkInterface) item; nic.setActive(activate); - ActivateDeactivateVmNicParameters params = new ActivateDeactivateVmNicParameters(nic.getId(), activate?PlugAction.PLUG:PlugAction.UNPLUG); + ActivateDeactivateVmNicParameters params = + new ActivateDeactivateVmNicParameters(nic.getId(), activate ? PlugAction.PLUG : PlugAction.UNPLUG); params.setVmId(vm.getId()); paramerterList.add(params); } @@ -477,17 +478,18 @@ } private boolean canRemoveNics() { - VM vm = (VM)getEntity(); - if (VMStatus.Down.equals(vm.getstatus())){ + VM vm = (VM) getEntity(); + if (VMStatus.Down.equals(vm.getstatus())) { return true; } - if (!isActivateSupported){ + if (!isHotPlugSupported) { return false; } ArrayList<VmNetworkInterface> nics = - getSelectedItems() != null ? Linq.<VmNetworkInterface> Cast(getSelectedItems()) : new ArrayList<VmNetworkInterface>(); + getSelectedItems() != null ? Linq.<VmNetworkInterface> Cast(getSelectedItems()) + : new ArrayList<VmNetworkInterface>(); for (VmNetworkInterface nic : nics) { @@ -501,12 +503,13 @@ } private boolean isActivateCommandAvailable(boolean active) { - if (!isActivateSupported){ + if (!isHotPlugSupported) { return false; } ArrayList<VmNetworkInterface> nics = - getSelectedItems() != null ? Linq.<VmNetworkInterface> Cast(getSelectedItems()) : new ArrayList<VmNetworkInterface>(); + getSelectedItems() != null ? Linq.<VmNetworkInterface> Cast(getSelectedItems()) + : new ArrayList<VmNetworkInterface>(); for (VmNetworkInterface nic : nics) { @@ -576,13 +579,9 @@ Version clusterCompatibilityVersion = vm.getvds_group_compatibility_version() != null ? vm.getvds_group_compatibility_version() : new Version(); - AsyncDataProvider.IsHotPlugAvailable(new AsyncQuery(this, - new INewAsyncCallback() { - @Override - public void OnSuccess(Object target, Object returnValue) { - isActivateSupported = (Boolean) returnValue; - } - }), clusterCompatibilityVersion.toString()); + isHotPlugSupported = + (Boolean) AsyncDataProvider.GetConfigValuePreConverted(ConfigurationValues.HotPlugEnabled, + clusterCompatibilityVersion.toString()); } @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java index d545c08..cf9070a 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java @@ -88,16 +88,40 @@ privateMAC = value; } - private EntityModel privateActive; + private EntityModel plugged; - public EntityModel getActive() + public EntityModel getPlugged() { - return privateActive; + return plugged; } - private void setActive(EntityModel value) + private void setPlugged(EntityModel value) { - privateActive = value; + plugged = value; + } + + private EntityModel plugged_IsSelected; + + public EntityModel getPlugged_IsSelected() + { + return plugged_IsSelected; + } + + public void setPlugged_IsSelected(EntityModel value) + { + plugged_IsSelected = value; + } + + private EntityModel unplugged_IsSelected; + + public EntityModel getUnplugged_IsSelected() + { + return unplugged_IsSelected; + } + + public void setUnplugged_IsSelected(EntityModel value) + { + unplugged_IsSelected = value; } public VmInterfaceModel() @@ -108,7 +132,15 @@ setMAC(new EntityModel()); setPortMirroring(new EntityModel()); getMAC().getPropertyChangedEvent().addListener(this); - setActive(new EntityModel()); + + setPlugged(new EntityModel()); + getPlugged().getEntityChangedEvent().addListener(this); + + setPlugged_IsSelected(new EntityModel()); + getPlugged_IsSelected().getEntityChangedEvent().addListener(this); + + setUnplugged_IsSelected(new EntityModel()); + getUnplugged_IsSelected().getEntityChangedEvent().addListener(this); } @Override @@ -120,6 +152,25 @@ { MAC_PropertyChanged((PropertyChangedEventArgs) args); } + + else if (sender == getPlugged()) + { + boolean plugged = (Boolean) getPlugged().getEntity(); + getPlugged_IsSelected().setEntity(plugged); + getUnplugged_IsSelected().setEntity(!plugged); + } + else if (sender == getPlugged_IsSelected()) + { + if ((Boolean) getPlugged_IsSelected().getEntity()) { + getPlugged().setEntity(true); + } + } + else if (sender == getUnplugged_IsSelected()) + { + if ((Boolean) getUnplugged_IsSelected().getEntity()) { + getPlugged().setEntity(false); + } + } } private void MAC_PropertyChanged(PropertyChangedEventArgs e) diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java index a0fcbf0..21f1631 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/AbstractNetworkPopupView.java @@ -15,6 +15,7 @@ import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxOnlyEditor; import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor; import org.ovirt.engine.ui.common.widget.renderer.NullSafeRenderer; +import org.ovirt.engine.ui.common.widget.table.column.CheckboxColumn; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListModel; @@ -24,7 +25,6 @@ import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.AbstractNetworkPopupPresenterWidget; -import org.ovirt.engine.ui.webadmin.widget.table.column.CheckboxColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.CheckboxHeader; import com.google.gwt.cell.client.Cell.Context; diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java index c269ec4..1ee4f50 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java @@ -6,6 +6,7 @@ import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel; import org.ovirt.engine.ui.common.widget.editor.EntityModelCellTable; import org.ovirt.engine.ui.common.widget.editor.EntityModelCellTable.SelectionMode; +import org.ovirt.engine.ui.common.widget.table.column.CheckboxColumn; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListModel; @@ -15,7 +16,6 @@ import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.cluster.ClusterManageNetworkPopupPresenterWidget; -import org.ovirt.engine.ui.webadmin.widget.table.column.CheckboxColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.CheckboxHeader; import com.google.gwt.cell.client.Cell.Context; diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/VmInterfacePopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/VmInterfacePopupView.java index e2da7b6..585d3e0 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/VmInterfacePopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/VmInterfacePopupView.java @@ -19,11 +19,10 @@ } @Inject - public VmInterfacePopupView(EventBus eventBus, CommonApplicationResources resources,ApplicationConstants constants) { + public VmInterfacePopupView(EventBus eventBus, CommonApplicationResources resources, ApplicationConstants constants) { super(eventBus, resources, - new NetworkInterfacePopupWidget(eventBus, constants), - "400px", //$NON-NLS-1$ + new NetworkInterfacePopupWidget(eventBus, constants), "425px", //$NON-NLS-1$ "320px"); //$NON-NLS-1$ ViewIdHandler.idHandler.generateAndSetIds(this); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java index 1cd460f..e507f47 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java @@ -7,6 +7,7 @@ import org.ovirt.engine.core.common.businessentities.network_cluster; import org.ovirt.engine.core.common.utils.PairQueryable; import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider; +import org.ovirt.engine.ui.common.widget.table.column.CheckboxColumn; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.models.networks.NetworkClusterListModel; @@ -17,7 +18,6 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.network.SubTabNetworkClusterPresenter; import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView; import org.ovirt.engine.ui.webadmin.widget.action.WebAdminButtonDefinition; -import org.ovirt.engine.ui.webadmin.widget.table.column.CheckboxColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.NetworkClusterStatusColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.SafeHtmlWithSafeHtmlTooltipColumn; diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineNetworkInterfaceView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineNetworkInterfaceView.java index 64996ef..bfe181d 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineNetworkInterfaceView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineNetworkInterfaceView.java @@ -28,19 +28,23 @@ @Inject public SubTabVirtualMachineNetworkInterfaceView( SearchableDetailModelProvider<VmNetworkInterface, VmListModel, VmInterfaceListModel> modelProvider, - EventBus eventBus, ClientStorage clientStorage, ApplicationConstants constants, ApplicationTemplates templates) { + EventBus eventBus, + ClientStorage clientStorage, + ApplicationConstants constants, + ApplicationTemplates templates) { super(new VmInterfaceListModelTable(modelProvider, eventBus, clientStorage, templates) { @Override - public void initTable(final CommonApplicationConstants constants){ + public void initTable(final CommonApplicationConstants constants) { super.initTable(constants); - BooleanColumn<VmNetworkInterface> portMirroringColumn = new BooleanColumn<VmNetworkInterface>(constants.portMirroringEnabled()) { - @Override - public Boolean getRawValue(VmNetworkInterface object) { - return object.isPortMirroring(); - } - }; - getTable().addColumnWithHtmlHeader(portMirroringColumn, constants.portMirroring(), "60px"); //$NON-NLS-1$ + BooleanColumn<VmNetworkInterface> portMirroringColumn = + new BooleanColumn<VmNetworkInterface>(constants.portMirroringEnabled()) { + @Override + public Boolean getRawValue(VmNetworkInterface object) { + return object.isPortMirroring(); + } + }; + getTable().addColumnWithHtmlHeader(portMirroringColumn, constants.portMirroring(), "85px"); //$NON-NLS-1$ } }); ViewIdHandler.idHandler.generateAndSetIds(this); -- To view, visit http://gerrit.ovirt.org/9415 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib42f1e622ee1b55e65a6ec274e762cea9a08d531 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <alkap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches