Alona Kaplan has uploaded a new change for review. Change subject: webadmin: setup networks- diable adding labels by editing the nic ......................................................................
webadmin: setup networks- diable adding labels by editing the nic Preparation for making the labels draggable. Change-Id: I5b96acb7de969f00003139d512bf9d6d7f7f55db Signed-off-by: Alona Kaplan <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostBondInterfaceModel.java D frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostSetupNetworksModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NicLabelModel.java D frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/PfNicLabelModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksAddBondModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksEditBondModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.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/gin/ClientGinjectorExtension.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 M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java D frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/VfsConfigPopupPresenterWidget.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostBondPopupView.java D frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java D frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/SetupNetworksBondPopupView.java R frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.java R frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.ui.xml M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java 27 files changed, 283 insertions(+), 522 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/24/41524/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 4de9e71..1f0c3a0 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 @@ -177,13 +177,13 @@ return getBootProtocol() == NetworkBootProtocol.STATIC_IP; } - private PfNicLabelModel labelsModel; + private NicLabelModel labelsModel; - public PfNicLabelModel getLabelsModel() { + public NicLabelModel getLabelsModel() { return labelsModel; } - protected void setLabelsModel(PfNicLabelModel labelsModel) { + protected void setLabelsModel(NicLabelModel labelsModel) { this.labelsModel = labelsModel; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java deleted file mode 100644 index 685dc15..0000000 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.ovirt.engine.ui.uicommonweb.models.hosts; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.SortedSet; - -import org.ovirt.engine.core.common.businessentities.network.HostNicVfsConfig; -import org.ovirt.engine.core.common.businessentities.network.Network; -import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; -import org.ovirt.engine.ui.uicommonweb.models.HasValidatedTabs; -import org.ovirt.engine.ui.uicommonweb.models.Model; -import org.ovirt.engine.ui.uicommonweb.models.TabName; -import org.ovirt.engine.ui.uicommonweb.models.ValidationCompleteEvent; -import org.ovirt.engine.ui.uicompat.ConstantsManager; - -public class HostNicModel extends Model implements HasValidatedTabs { - - private static final VfsConfigModel EMPTY_VFS_CONFIG_MODEL = new VfsConfigModel(); - private static final PfNicLabelModel EMPTY_LABELS_MODEL = new PfNicLabelModel(); - - private PfNicLabelModel labelsModel = EMPTY_LABELS_MODEL; - private VfsConfigModel vfsConfigModel = EMPTY_VFS_CONFIG_MODEL; - private VdsNetworkInterface iface; - - public PfNicLabelModel getLabelsModel() { - return labelsModel; - } - - public HostNicModel(VdsNetworkInterface iface, - Collection<String> suggestedLabels, - Map<String, String> labelToIface, - HostNicVfsConfig vfsConfig, - List<Network> allClusterNetworks, - SortedSet<String> dcLabels) { - setTitle(ConstantsManager.getInstance().getMessages().editInterfaceTitle(iface.getName())); - this.iface = iface; - - if (labelToIface != null) { - labelsModel = new PfNicLabelModel(Collections.singletonList(iface), suggestedLabels, labelToIface); - } - - if (vfsConfig != null) { - vfsConfigModel = new VfsConfigModel(vfsConfig, allClusterNetworks, dcLabels); - } - } - - public boolean validate() { - if (vfsConfigModel == EMPTY_VFS_CONFIG_MODEL) { - vfsConfigModel.setIsValid(true); - } else { - vfsConfigModel.validate(); - } - - if (labelsModel == EMPTY_LABELS_MODEL) { - labelsModel.setIsValid(true); - } else { - labelsModel.validate(); - } - setValidTab(TabName.PF_TAB, labelsModel.getIsValid()); - setValidTab(TabName.VFS_CONFIG_TAB, vfsConfigModel.getIsValid()); - - ValidationCompleteEvent.fire(getEventBus(), this); - return allTabsValid(); - } - - public VfsConfigModel getVfsConfigModel() { - return vfsConfigModel; - } - - public VdsNetworkInterface getInterface() { - return iface; - } - - public boolean hasVfsConfig() { - return getVfsConfigModel() != HostNicModel.EMPTY_VFS_CONFIG_MODEL; - } - - public boolean hasLabels() { - return getLabelsModel() != HostNicModel.EMPTY_LABELS_MODEL; - } -} 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 cecde21..4ce4cde 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 @@ -250,7 +250,7 @@ } private boolean computeAndCommitLabelChanges(final VdsNetworkInterface entity, - PfNicLabelModel labelsModel) { + NicLabelModel labelsModel) { if (!labelsModel.wasChanged()) { return true; @@ -267,7 +267,7 @@ return false; } - private Set<LogicalNetworkModel> getPotentialNetworks(PfNicLabelModel labelsModel, + private Set<LogicalNetworkModel> getPotentialNetworks(NicLabelModel labelsModel, Collection<LogicalNetworkModel> originalNetworks) { Collection<String> removedLabels = labelsModel.getRemovedLabels(); @@ -316,7 +316,7 @@ return valid; } - private void commitNetworksAndLabelChanges(PfNicLabelModel labelModel, + private void commitNetworksAndLabelChanges(NicLabelModel labelModel, VdsNetworkInterface iface, Collection<LogicalNetworkModel> potentialNetworks) { @@ -367,7 +367,7 @@ return; } sourceListModel.setConfirmWindow(null); - PfNicLabelModel labelsModel = bondDialogModel.getLabelsModel(); + NicLabelModel labelsModel = bondDialogModel.getLabelsModel(); if (computeAndCommitLabelChanges(entity, labelsModel)) { setBondOptions(entity, bondDialogModel); @@ -376,36 +376,27 @@ }; } else if (item instanceof NetworkInterfaceModel) { /******************* - * Interface Dialog + * VFs Config Dialog *******************/ final VdsNetworkInterface entity = ((NetworkInterfaceModel) item).getIface(); - final boolean isBondSalve = entity.isBondSlave(); final HostNicVfsConfig hostNicVfsConfig = nicToVfsConfig.get(entity.getId()); - final HostNicModel interfacePopupModel = - new HostNicModel(entity, - isBondSalve ? null : getFreeLabels(), - isBondSalve ? null : labelToIface, - nicToVfsConfig.get(entity.getId()), - allNetworks, - dcLabels); - editPopup = interfacePopupModel; + if (hostNicVfsConfig != null) { + final VfsConfigModel vfsConfigPopupModel = new VfsConfigModel(hostNicVfsConfig, allNetworks, dcLabels); + setTitle(ConstantsManager.getInstance().getMessages().editHostNicVfsConfigTitle(entity.getName())); + editPopup = vfsConfigPopupModel; - // OK Target - okTarget = new BaseCommandTarget() { - @Override - public void executeCommand(UICommand uiCommand) { - if (!interfacePopupModel.validate()) { - return; + // OK Target + okTarget = new BaseCommandTarget() { + @Override + public void executeCommand(UICommand uiCommand) { + if (!vfsConfigPopupModel.validate()) { + return; + } + sourceListModel.setConfirmWindow(null); + commitVfsConfigChanges(hostNicVfsConfig, vfsConfigPopupModel); } - sourceListModel.setConfirmWindow(null); - - if (!isBondSalve) { - computeAndCommitLabelChanges(entity, interfacePopupModel.getLabelsModel()); - } - - commitVfsConfigChanges(hostNicVfsConfig, interfacePopupModel.getVfsConfigModel()); - } - }; + }; + } } else if (item instanceof LogicalNetworkModel) { /***************** * Network Dialog diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NicLabelModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NicLabelModel.java index 425e78a..23e0eba 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NicLabelModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NicLabelModel.java @@ -1,21 +1,58 @@ package org.ovirt.engine.ui.uicommonweb.models.hosts; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Set; import org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator; +import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicommonweb.validation.AsciiNameValidation; import org.ovirt.engine.ui.uicommonweb.validation.IValidation; import org.ovirt.engine.ui.uicompat.ConstantsManager; -public abstract class NicLabelModel extends ListModel<ListModel<String>> { +// TODO this class will be removed in- 'Change Setup Networks label mechanism' patch +public class NicLabelModel extends ListModel<ListModel<String>> { private List<String> originalLabels; private Collection<String> suggestedLabels; + + private Collection<VdsNetworkInterface> srcIfaces; // original interfaces composing this interface (more than + // one in case this is a bond) + private Set<String> containedIfaces; // names of the original interfaces + private Map<String, String> labelToIface; // map from each label to the name of the interface that uses it + // (possibly null) + private Set<String> flushedLabels; // actual labels, as edited in the view + + public NicLabelModel(Collection<VdsNetworkInterface> srcIfaces, + Collection<String> suggestedLabels, + Map<String, String> labelToIface) { + + List<String> tmpOriginalLabels = new ArrayList<String>(); // union of labels attached originally to original + // interface(s) + + this.srcIfaces = srcIfaces; + this.labelToIface = labelToIface; + + containedIfaces = new HashSet<String>(); + for (VdsNetworkInterface iface : srcIfaces) { + Set<String> labels = iface.getLabels(); + if (labels != null) { + tmpOriginalLabels.addAll(labels); + } + containedIfaces.add(iface.getName()); + } + + setSuggestedLabels(suggestedLabels); + setOriginalLabels(tmpOriginalLabels); + initLabelModels(); + + flushedLabels = new HashSet<String>(); + } protected void initLabelModels() { Collections.sort(originalLabels, new LexoNumericComparator()); @@ -71,5 +108,70 @@ res &= labelModel.getIsValid(); } setIsValid(res); + + for (ListModel<String> labelModel : getItems()) { + String label = labelModel.getSelectedItem(); + String usingIface = labelToIface.get(label); + if (usingIface != null && !containedIfaces.contains(usingIface)) { + labelModel.getInvalidityReasons().add(ConstantsManager.getInstance() + .getMessages() + .labelInUse(label, usingIface)); + labelModel.setIsValid(false); + } + + res &= labelModel.getIsValid(); + } + setIsValid(res); + } + + /** + * Flushes the labels as edited in the view into {@link #flushedLabels}. + */ + private void flush() { + flushedLabels.clear(); + flushedLabels.addAll(computeSelecetedLabels()); + } + + /** + * Computes which labels have been removed from this interface. + */ + public Collection<String> getRemovedLabels() { + flush(); + Set<String> removedLabels = new HashSet<String>(getOriginalLabels()); + removedLabels.removeAll(flushedLabels); + return removedLabels; + } + + /** + * Computes which labels have been added to the interface. + */ + public Collection<String> getAddedLabels() { + flush(); + Set<String> addedLabels = new HashSet<String>(flushedLabels); + addedLabels.removeAll(getOriginalLabels()); + return addedLabels; + } + + /** + * Clears the labels from the original interfaces composing this interface, and committing the actual labels (after + * removal/addition by the user). + * + * @param the + * interface to which the actual labels will be committed. + */ + public void commit(VdsNetworkInterface dstIface) { + for (VdsNetworkInterface iface : srcIfaces) { + iface.setLabels(null); + } + flush(); + dstIface.setLabels(flushedLabels.isEmpty() ? null : flushedLabels); + } + + /** + * @return whether the labels model was changed (new labels were added or old were removed) + */ + public boolean wasChanged() { + return !getAddedLabels().isEmpty() || !getRemovedLabels().isEmpty(); + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/PfNicLabelModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/PfNicLabelModel.java deleted file mode 100644 index 79714b5..0000000 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/PfNicLabelModel.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.ovirt.engine.ui.uicommonweb.models.hosts; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; -import org.ovirt.engine.ui.uicommonweb.models.ListModel; -import org.ovirt.engine.ui.uicompat.ConstantsManager; - -public class PfNicLabelModel extends NicLabelModel { - - private Collection<VdsNetworkInterface> srcIfaces; // original interfaces composing this interface (more than - // one in case this is a bond) - private Set<String> containedIfaces; // names of the original interfaces - private Map<String, String> labelToIface; // map from each label to the name of the interface that uses it - // (possibly null) - private Set<String> flushedLabels; // actual labels, as edited in the view - - public PfNicLabelModel() { - } - - public PfNicLabelModel(Collection<VdsNetworkInterface> srcIfaces, - Collection<String> suggestedLabels, - Map<String, String> labelToIface) { - - List<String> tmpOriginalLabels = new ArrayList<String>(); // union of labels attached originally to original - // interface(s) - - this.srcIfaces = srcIfaces; - this.labelToIface = labelToIface; - - containedIfaces = new HashSet<String>(); - for (VdsNetworkInterface iface : srcIfaces) { - Set<String> labels = iface.getLabels(); - if (labels != null) { - tmpOriginalLabels.addAll(labels); - } - containedIfaces.add(iface.getName()); - } - - setSuggestedLabels(suggestedLabels); - setOriginalLabels(tmpOriginalLabels); - initLabelModels(); - - flushedLabels = new HashSet<String>(); - } - - @Override - public void validate() { - super.validate(); - boolean res = getIsValid(); - for (ListModel<String> labelModel : getItems()) { - String label = labelModel.getSelectedItem(); - String usingIface = labelToIface.get(label); - if (usingIface != null && !containedIfaces.contains(usingIface)) { - labelModel.getInvalidityReasons().add(ConstantsManager.getInstance() - .getMessages() - .labelInUse(label, usingIface)); - labelModel.setIsValid(false); - } - - res &= labelModel.getIsValid(); - } - setIsValid(res); - } - - /** - * Flushes the labels as edited in the view into {@link #flushedLabels}. - */ - private void flush() { - flushedLabels.clear(); - flushedLabels.addAll(computeSelecetedLabels()); - } - - /** - * Computes which labels have been removed from this interface. - */ - public Collection<String> getRemovedLabels() { - flush(); - Set<String> removedLabels = new HashSet<String>(getOriginalLabels()); - removedLabels.removeAll(flushedLabels); - return removedLabels; - } - - /** - * Computes which labels have been added to the interface. - */ - public Collection<String> getAddedLabels() { - flush(); - Set<String> addedLabels = new HashSet<String>(flushedLabels); - addedLabels.removeAll(getOriginalLabels()); - return addedLabels; - } - - /** - * Clears the labels from the original interfaces composing this interface, and committing the actual labels (after - * removal/addition by the user). - * - * @param the - * interface to which the actual labels will be committed. - */ - public void commit(VdsNetworkInterface dstIface) { - for (VdsNetworkInterface iface : srcIfaces) { - iface.setLabels(null); - } - flush(); - dstIface.setLabels(flushedLabels.isEmpty() ? null : flushedLabels); - } - - /** - * @return whether the labels model was changed (new labels were added or old were removed) - */ - public boolean wasChanged() { - return !getAddedLabels().isEmpty() || !getRemovedLabels().isEmpty(); - - } -} 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 index 857e238..9be5fde 100644 --- 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 @@ -19,7 +19,7 @@ getBond().setItems(freeBonds); getBond().setSelectedItem(defaultBondName); - setLabelsModel(new PfNicLabelModel(ifaces, suggestedLabels, labelToIface)); + setLabelsModel(new NicLabelModel(ifaces, suggestedLabels, labelToIface)); } } 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 index 9cef6f0..ae5001d 100644 --- 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 @@ -48,7 +48,7 @@ getBondingOptions().setSelectedItem(customItem); } - setLabelsModel(new PfNicLabelModel(Collections.singletonList(bond), suggestedLabels, labelToIface)); + setLabelsModel(new NicLabelModel(Collections.singletonList(bond), suggestedLabels, labelToIface)); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java index 63d4a9d..6ad1b1e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/SetupNetworksJoinBondsModel.java @@ -45,7 +45,7 @@ getBondingOptions().setItems(bondOptions); getBondingOptions().setSelectedItem(pairForBondOption.get(target.getBondOptions())); - setLabelsModel(new PfNicLabelModel(Arrays.asList(source.getIface(), target.getIface()), suggestedLabels, labelToIface)); + setLabelsModel(new NicLabelModel(Arrays.asList(source.getIface(), target.getIface()), suggestedLabels, labelToIface)); } private void addBondOptionIfMissing(String candidateOption) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java index 53639f0..81171f6 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java @@ -92,13 +92,13 @@ networks.setItems(vfsConfigNetworks); } - public void validate() { + public boolean validate() { numOfVfs.validateEntity(new IValidation[] { new NotEmptyValidation(), new IntegerValidation(0, getMaxNumOfVfs().getEntity()) }); labelsModel.validate(); - setIsValid(labelsModel.getIsValid() && numOfVfs.getIsValid()); + return labelsModel.getIsValid() && numOfVfs.getIsValid(); } public static enum AllNetworksSelector { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java index ca6220d..1b1d6f4 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsNicLabelModel.java @@ -1,13 +1,82 @@ package org.ovirt.engine.ui.uicommonweb.models.hosts; import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; +import java.util.Set; -public class VfsNicLabelModel extends NicLabelModel { +import org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator; +import org.ovirt.engine.ui.uicommonweb.models.ListModel; +import org.ovirt.engine.ui.uicommonweb.validation.AsciiNameValidation; +import org.ovirt.engine.ui.uicommonweb.validation.IValidation; +import org.ovirt.engine.ui.uicompat.ConstantsManager; + +public class VfsNicLabelModel extends ListModel<ListModel<String>> { public VfsNicLabelModel(List<String> originalLabels, Collection<String> suggestedLabels) { setOriginalLabels(originalLabels); setSuggestedLabels(suggestedLabels); initLabelModels(); } + + private List<String> originalLabels; + private Collection<String> suggestedLabels; + + protected void initLabelModels() { + Collections.sort(originalLabels, new LexoNumericComparator()); + LinkedList<ListModel<String>> items = new LinkedList<ListModel<String>>(); + for (String label : originalLabels) { + ListModel<String> labelModel = new ListModel<String>(); + labelModel.setItems(suggestedLabels); + labelModel.setSelectedItem(label); + items.add(labelModel); + } + setItems(items); + } + + public Collection<String> getSuggestedLabels() { + return suggestedLabels; + } + + public void setSuggestedLabels(Collection<String> suggestedLabels) { + this.suggestedLabels = suggestedLabels; + } + + public List<String> getOriginalLabels() { + return originalLabels; + } + + public void setOriginalLabels(List<String> originalLabels) { + this.originalLabels = originalLabels; + } + + public Set<String> computeSelecetedLabels() { + Set<String> selectedLabels = new HashSet<>(); + selectedLabels.clear(); + for (ListModel<String> labelModel : getItems()) { + selectedLabels.add(labelModel.getSelectedItem()); + } + return selectedLabels; + } + + public void validate() { + boolean res = true; + Set<String> editedLabels = new HashSet<String>(); + for (ListModel<String> labelModel : getItems()) { + labelModel.validateSelectedItem(new IValidation[] { new AsciiNameValidation() }); + + String label = labelModel.getSelectedItem(); + + if (editedLabels.contains(label)) { + labelModel.getInvalidityReasons().add(ConstantsManager.getInstance().getConstants().duplicateLabel()); + labelModel.setIsValid(false); + } + editedLabels.add(label); + + res &= labelModel.getIsValid(); + } + setIsValid(res); + } } diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java index 65321ff..590d01e 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java @@ -153,8 +153,8 @@ @DefaultMessage("Edit Bond Interface {0}") String editBondInterfaceTitle(String name); - @DefaultMessage("Edit Interface {0}") - String editInterfaceTitle(String name); + @DefaultMessage("Edit Virtual Functions (SR-IOV) configuration of {0}") + String editHostNicVfsConfigTitle(String name); @DefaultMessage("Edit Network {0}") String editNetworkTitle(String name); 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 bc5f196..b0e658d 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 @@ -4312,12 +4312,6 @@ @DefaultStringValue("Volume snapshots are scheduled.") String glusterVolumeSnapshotsScheduledToolTip(); - @DefaultStringValue("Physical Function") - String pfTab(); - - @DefaultStringValue("Virtual Functions (SR-IOV)") - String vfsConfigTab(); - @DefaultStringValue("Number of VFs setting") String numOfVfsSetting(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ClientGinjectorExtension.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ClientGinjectorExtension.java index 7cfd3b3..8c167a2 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ClientGinjectorExtension.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/ClientGinjectorExtension.java @@ -166,7 +166,7 @@ import org.ovirt.engine.ui.uicommonweb.models.vms.VmSnapshotListModel; import org.ovirt.engine.ui.uicommonweb.models.volumes.VolumeListModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; -import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigWidget; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigPopupView; import com.gwtplatform.mvp.client.annotations.DefaultGatekeeper; @@ -460,5 +460,5 @@ SearchableDetailModelProvider<Permission, VnicProfileListModel, PermissionListModel<VnicProfileView>> getSubTabVnicProfilePermissionModelProvider(); // Widgets - VfsConfigWidget getVfsConfigWidget(); + VfsConfigPopupView getVfsConfigPopupView(); } 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 670bba6..5d931f5 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 @@ -66,7 +66,6 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostInterfacePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostManagementConfirmationPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostManagementPopupPresenterWidget; -import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostNicPopupPresenterWidget; 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; @@ -74,6 +73,7 @@ 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.host.VfsConfigPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.hostdev.AddVmHostDevicePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.hostdev.VmRepinHostPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.instancetypes.InstanceTypesPopupPresenterWidget; @@ -111,8 +111,8 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.template.TemplateInterfacePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.user.ManageEventsPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.CloneVmPopupPresenterWidget; -import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.SingleSelectionVmDiskAttachPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.PublicKeyPopupPresenterWidget; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.SingleSelectionVmDiskAttachPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.VmChangeCDPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.VmClonePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.VmDiskAttachPopupPresenterWidget; @@ -325,7 +325,6 @@ import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostInterfacePopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostManagementConfirmationPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostManagementPopupView; -import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostNicPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostSetupNetworksPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.host.ManualFenceConfirmationPopupView; @@ -333,6 +332,7 @@ 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.host.VfsConfigPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.instancetypes.InstanceTypesPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.macpool.SharedMacPoolPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.networkQoS.NetworkQoSPopupView; @@ -371,16 +371,16 @@ import org.ovirt.engine.ui.webadmin.section.main.view.popup.template.TemplateEditPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.template.TemplateInterfacePopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.user.ManageEventsPopupView; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.AddVmHostDevicePopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.CloneVmPopupView; -import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.SingleSelectionVmDiskAttachPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.PublicKeyPopupView; +import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.SingleSelectionVmDiskAttachPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmChangeCDPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmClonePopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmDiskAttachPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmDiskPopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmDiskRemovePopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmExportPopupView; -import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.AddVmHostDevicePopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmInterfacePopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmMakeTemplatePopupView; import org.ovirt.engine.ui.webadmin.section.main.view.popup.vm.VmMigratePopupView; @@ -1300,9 +1300,9 @@ bindPresenterWidget(SetupNetworksBondPopupPresenterWidget.class, SetupNetworksBondPopupPresenterWidget.ViewDef.class, SetupNetworksBondPopupView.class); - bindPresenterWidget(HostNicPopupPresenterWidget.class, - HostNicPopupPresenterWidget.ViewDef.class, - HostNicPopupView.class); + bindPresenterWidget(VfsConfigPopupPresenterWidget.class, + VfsConfigPopupPresenterWidget.ViewDef.class, + VfsConfigPopupView.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 593fae3..87e321f 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 @@ -41,9 +41,9 @@ import org.ovirt.engine.ui.uicommonweb.models.hosts.HostInterfaceModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostListModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostManagementNetworkModel; -import org.ovirt.engine.ui.uicommonweb.models.hosts.HostNicModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostSetupNetworksModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostVmListModel; +import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel; import org.ovirt.engine.ui.uicommonweb.models.vms.hostdev.HostDeviceListModel; import org.ovirt.engine.ui.webadmin.section.main.presenter.ReportPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.AssignTagsPopupPresenterWidget; @@ -56,13 +56,13 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostInterfacePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostManagementConfirmationPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostManagementPopupPresenterWidget; -import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostNicPopupPresenterWidget; 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.host.VfsConfigPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm.VmMigratePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.uicommon.model.PermissionModelProvider; @@ -181,7 +181,7 @@ final Provider<SetupNetworksManagementPopupPresenterWidget> setupNetworksManagementPopupProvider, final Provider<HostBondPopupPresenterWidget> hostBondPopupProvider, final Provider<SetupNetworksBondPopupPresenterWidget> setupNetworksBondPopupProvider, - final Provider<HostNicPopupPresenterWidget> hostNicPopupProvider, + final Provider<VfsConfigPopupPresenterWidget> vfsConfigPopupProvider, final Provider<HostSetupNetworksPopupPresenterWidget> hostSetupNetworksPopupProvider, final Provider<HostListModel<Void>> mainModelProvider, final Provider<HostInterfaceListModel> modelProvider) { @@ -220,8 +220,8 @@ } else { return hostInterfacePopupProvider.get(); } - } else if (windowModel instanceof HostNicModel) { - return hostNicPopupProvider.get(); + } else if (windowModel instanceof VfsConfigModel) { + return vfsConfigPopupProvider.get(); } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java index 030049e..1e3ff0d 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/NetworkModule.java @@ -30,7 +30,7 @@ import org.ovirt.engine.ui.uicommonweb.models.hosts.HostBondInterfaceModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostInterfaceModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostManagementNetworkModel; -import org.ovirt.engine.ui.uicommonweb.models.hosts.HostNicModel; +import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel; import org.ovirt.engine.ui.uicommonweb.models.networks.NetworkClusterListModel; import org.ovirt.engine.ui.uicommonweb.models.networks.NetworkExternalSubnetListModel; import org.ovirt.engine.ui.uicommonweb.models.networks.NetworkGeneralModel; @@ -43,11 +43,11 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.cluster.ClusterManageNetworkPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.EditNetworkPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.datacenter.NewNetworkPopupPresenterWidget; -import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostNicPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostSetupNetworksPopupPresenterWidget; 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.host.VfsConfigPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.profile.VnicProfilePopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ExternalSubnetPopupPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ImportNetworksPopupPresenterWidget; @@ -243,7 +243,7 @@ final Provider<SetupNetworksBondPopupPresenterWidget> setupNetworksBondPopupProvider, final Provider<SetupNetworksInterfacePopupPresenterWidget> setupNetworksInterfacePopupProvider, final Provider<SetupNetworksManagementPopupPresenterWidget> setupNetworksManagementPopupProvider, - final Provider<HostNicPopupPresenterWidget> hostNicPopupProvider, + final Provider<VfsConfigPopupPresenterWidget> vfsConfigPopupProvider, final Provider<HostSetupNetworksPopupPresenterWidget> hostSetupNetworksPopupProvider, final Provider<NetworkListModel> mainModelProvider, final Provider<NetworkHostListModel> modelProvider) { @@ -262,8 +262,8 @@ return setupNetworksManagementPopupProvider.get(); } else if (windowModel instanceof HostInterfaceModel) { return setupNetworksInterfacePopupProvider.get(); - } else if (windowModel instanceof HostNicModel) { - return hostNicPopupProvider.get(); + } else if (windowModel instanceof VfsConfigModel) { + return vfsConfigPopupProvider.get(); } // Resolve by last executed command diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java deleted file mode 100644 index c67856f..0000000 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host; - -import org.ovirt.engine.ui.common.presenter.AbstractTabbedModelBoundPopupPresenterWidget; -import org.ovirt.engine.ui.uicommonweb.models.hosts.HostNicModel; - -import com.google.gwt.event.shared.EventBus; -import com.google.inject.Inject; - -public class HostNicPopupPresenterWidget extends AbstractTabbedModelBoundPopupPresenterWidget<HostNicModel, HostNicPopupPresenterWidget.ViewDef> { - - public interface ViewDef extends AbstractTabbedModelBoundPopupPresenterWidget.ViewDef<HostNicModel> { - void showTabs(); - - void showOnlyPf(); - - void showOnlyVfsConfig(); - } - - @Inject - public HostNicPopupPresenterWidget(EventBus eventBus, ViewDef view) { - super(eventBus, view); - } - - @Override - public void init(HostNicModel model) { - if (model.hasVfsConfig()) { - if (model.hasLabels()) { - // sriov nic - getView().showTabs(); - } else { - // sriov bond slave - getView().showOnlyVfsConfig(); - } - } else { - // regular nic - getView().showOnlyPf(); - } - - super.init(model); - } - -} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/VfsConfigPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/VfsConfigPopupPresenterWidget.java new file mode 100644 index 0000000..ba8987e --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/VfsConfigPopupPresenterWidget.java @@ -0,0 +1,18 @@ +package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host; + +import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget; +import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel; + +import com.google.gwt.event.shared.EventBus; +import com.google.inject.Inject; + +public class VfsConfigPopupPresenterWidget extends AbstractModelBoundPopupPresenterWidget<VfsConfigModel, VfsConfigPopupPresenterWidget.ViewDef> { + + public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<VfsConfigModel> { + } + + @Inject + public VfsConfigPopupPresenterWidget(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 7c9c0d6..2611713 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 @@ -69,10 +69,6 @@ @Ignore StringEntityModelTextBoxEditor customEditor; - @UiField - @Ignore - NicLabelWidget labelsWidget; - @UiField(provided = true) EnumRadioEditor<NetworkBootProtocol> bootProtocol; diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java deleted file mode 100644 index f26b4fa..0000000 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.ovirt.engine.ui.webadmin.section.main.view.popup.host; - -import org.ovirt.engine.ui.common.view.popup.AbstractTabbedModelBoundPopupView; -import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel; -import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTab; -import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTabPanel; -import org.ovirt.engine.ui.uicommonweb.models.TabName; -import org.ovirt.engine.ui.uicommonweb.models.hosts.HostNicModel; -import org.ovirt.engine.ui.webadmin.ApplicationConstants; -import org.ovirt.engine.ui.webadmin.gin.AssetProvider; -import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostNicPopupPresenterWidget; - -import com.google.gwt.core.shared.GWT; -import com.google.gwt.editor.client.SimpleBeanEditorDriver; -import com.google.gwt.event.shared.EventBus; -import com.google.gwt.uibinder.client.UiBinder; -import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.user.client.ui.SimplePanel; -import com.google.inject.Inject; - -public class HostNicPopupView extends AbstractTabbedModelBoundPopupView<HostNicModel> implements HostNicPopupPresenterWidget.ViewDef { - - interface Driver extends SimpleBeanEditorDriver<HostNicModel, HostNicPopupView> { - } - - private Driver driver = GWT.create(Driver.class); - - interface ViewUiBinder extends UiBinder<SimpleDialogPanel, HostNicPopupView> { - ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); - } - - @UiField - SimplePanel mainPanel; - - @UiField - SimplePanel contentPanel; - - @UiField - DialogTabPanel tabPanel; - - @UiField - protected DialogTab pfTab; - - @UiField - protected DialogTab vfsConfigTab; - - @UiField - @Ignore - NicLabelWidget labelsWidget; - - @UiField - @Ignore - VfsConfigWidget vfsConfigWidget; - - private final static ApplicationConstants constants = AssetProvider.getConstants(); - - @Inject - public HostNicPopupView(EventBus eventBus) { - super(eventBus); - initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); - localize(); - driver.initialize(this); - } - - private void localize() { - pfTab.setLabel(constants.pfTab()); - vfsConfigTab.setLabel(constants.vfsConfigTab()); - } - - @Override - public void edit(HostNicModel model) { - driver.edit(model); - labelsWidget.edit(model.getLabelsModel()); - vfsConfigWidget.edit(model.getVfsConfigModel()); - } - - @Override - public HostNicModel flush() { - HostNicModel hostNicModel = driver.flush(); - labelsWidget.flush(); - vfsConfigWidget.flush(); - return hostNicModel; - } - - @Override - public void focusInput() { - super.focusInput(); - labelsWidget.focusInput(); - } - - @Override - public DialogTabPanel getTabPanel() { - return tabPanel; - } - - @Override - protected void populateTabMap() { - getTabNameMapping().put(TabName.PF_TAB, pfTab); - getTabNameMapping().put(TabName.VFS_CONFIG_TAB, vfsConfigTab); - } - - @Override - public void showTabs() { - // Do nothing- it is the regular config - } - - @Override - public void showOnlyPf() { - getTabPanel().switchTab(pfTab); - tabPanel.setVisible(false); - contentPanel.setWidget(pfTab.getContent()); - mainPanel.setWidth("400px"); //$NON-NLS-1$ - mainPanel.setHeight("215px"); //$NON-NLS-1$ - } - - @Override - public void showOnlyVfsConfig() { - getTabPanel().switchTab(vfsConfigTab); - tabPanel.setVisible(false); - contentPanel.setWidget(vfsConfigTab.getContent()); - mainPanel.setWidth("515px"); //$NON-NLS-1$ - } -} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml deleted file mode 100644 index da22845..0000000 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> -<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" - xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog" - xmlns:h="urn:import:org.ovirt.engine.ui.webadmin.section.main.view.popup.host" - xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.dialog.tab" - xmlns:g="urn:import:com.google.gwt.user.client.ui"> - - <ui:style> - .labelWidget { - position: absolute !important; - width: auto !important; - } - </ui:style> - - <d:SimpleDialogPanel ui:field="mainPanel" width="680px" height="600px" > - <d:content> - <g:SimplePanel ui:field="contentPanel"> - <t:DialogTabPanel ui:field="tabPanel" height="100%"> - <t:tab> - <t:DialogTab ui:field="pfTab"> - <t:content> - <h:NicLabelWidget ui:field="labelsWidget" addStyleNames="{style.labelWidget}" /> - </t:content> - </t:DialogTab> - </t:tab> - <t:tab> - <t:DialogTab ui:field="vfsConfigTab"> - <t:content> - <g:FlowPanel> - <h:VfsConfigWidget ui:field="vfsConfigWidget"/> - </g:FlowPanel> - </t:content> - </t:DialogTab> - </t:tab> - </t:DialogTabPanel> - </g:SimplePanel> - </d:content> - </d:SimpleDialogPanel> -</ui:UiBinder> diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java index 0e85709..ae1f53f 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/NicLabelWidget.java @@ -4,7 +4,7 @@ import org.ovirt.engine.ui.common.widget.ScrollableAddRemoveRowWidget; import org.ovirt.engine.ui.uicommonweb.models.ListModel; -import org.ovirt.engine.ui.uicommonweb.models.hosts.NicLabelModel; +import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsNicLabelModel; import com.google.gwt.core.shared.GWT; import com.google.gwt.uibinder.client.UiBinder; @@ -12,7 +12,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; -public class NicLabelWidget extends ScrollableAddRemoveRowWidget<NicLabelModel, ListModel<String>, NicLabelEditor> { +public class NicLabelWidget extends ScrollableAddRemoveRowWidget<VfsNicLabelModel, ListModel<String>, NicLabelEditor> { @UiField @Ignore @@ -50,7 +50,7 @@ } @Override - public void edit(NicLabelModel model) { + public void edit(VfsNicLabelModel model) { suggestions = model.getSuggestedLabels(); super.edit(model); } 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 index 080995f..3b62f3b 100644 --- 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 @@ -17,11 +17,9 @@ @Override public void edit(final HostBondInterfaceModel object) { super.edit(object); - labelsWidget.edit(object.getLabelsModel()); bondSuggestEditor.setVisible(true); bondEditor.setVisible(false); - labelsWidget.setVisible(true); // hide widgets info.setVisible(false); @@ -31,11 +29,4 @@ layoutPanel.getElement().getStyle().setOverflow(Overflow.HIDDEN); asPopupPanel().setPixelSize(400, 275); } - - @Override - public HostBondInterfaceModel flush() { - labelsWidget.flush(); - return super.flush(); - } - } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.java similarity index 92% rename from frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java rename to frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.java index 4ca889b..2b46966 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.java @@ -4,7 +4,9 @@ import java.util.Set; import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; +import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView; import org.ovirt.engine.ui.common.widget.dialog.AdvancedParametersExpander; +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.editor.ListModelRadioGroupEditor; @@ -12,7 +14,6 @@ import org.ovirt.engine.ui.common.widget.table.column.AbstractCheckboxColumn; import org.ovirt.engine.ui.common.widget.table.column.AbstractTextColumn; import org.ovirt.engine.ui.common.widget.table.header.AbstractCheckboxHeader; -import org.ovirt.engine.ui.common.widget.uicommon.popup.AbstractModelBoundPopupWidget; import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel.AllNetworksSelector; @@ -24,12 +25,14 @@ import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; import org.ovirt.engine.ui.webadmin.gin.AssetProvider; +import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.VfsConfigPopupPresenterWidget; import com.google.gwt.cell.client.FieldUpdater; import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.SimpleBeanEditorDriver; import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; +import com.google.gwt.event.shared.EventBus; import com.google.gwt.resources.client.CssResource; import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.text.shared.AbstractRenderer; @@ -40,16 +43,16 @@ import com.google.gwt.user.client.ui.ValueLabel; import com.google.inject.Inject; -public class VfsConfigWidget extends AbstractModelBoundPopupWidget<VfsConfigModel> { +public class VfsConfigPopupView extends AbstractModelBoundPopupView<VfsConfigModel> implements VfsConfigPopupPresenterWidget.ViewDef { - interface Driver extends SimpleBeanEditorDriver<VfsConfigModel, VfsConfigWidget> { + interface Driver extends SimpleBeanEditorDriver<VfsConfigModel, VfsConfigPopupView> { } - interface WidgetUiBinder extends UiBinder<FlowPanel, VfsConfigWidget> { - WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); + interface ViewUiBinder extends UiBinder<SimpleDialogPanel, VfsConfigPopupView> { + ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); } - interface WidgetIdHandler extends ElementIdHandler<VfsConfigWidget> { + interface WidgetIdHandler extends ElementIdHandler<VfsConfigPopupView> { WidgetIdHandler idHandler = GWT.create(WidgetIdHandler.class); } @@ -114,7 +117,8 @@ private final static ApplicationTemplates templates = AssetProvider.getTemplates(); @Inject - public VfsConfigWidget() { + public VfsConfigPopupView(EventBus eventBus) { + super(eventBus); maxVfsLabel = new ValueLabel<>(new AbstractRenderer<Integer>() { @Override @@ -127,7 +131,7 @@ labelsWidget = new VfsNicLabelWidget(); - initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); + initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); WidgetIdHandler.idHandler.generateAndSetIds(this); labelsWidget.setLabelEditorStyle(style.labelEditorContent()); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.ui.xml similarity index 62% rename from frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml rename to frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.ui.xml index 2d4373b..b885618 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigPopupView.ui.xml @@ -7,7 +7,7 @@ xmlns:h="urn:import:org.ovirt.engine.ui.webadmin.section.main.view.popup.host"> <ui:with field='constants' type='org.ovirt.engine.ui.webadmin.ApplicationConstants' /> - <ui:style type="org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigWidget.WidgetStyle"> + <ui:style type="org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigPopupView.WidgetStyle"> .valueWidth { width: 60px; } @@ -93,25 +93,29 @@ } </ui:style> - <g:FlowPanel> - <d:AdvancedParametersExpander ui:field="numVfsExpander" addStyleNames="{style.expander}" /> - <g:FlowPanel ui:field="numVfsExpanderContent" addStyleNames="{style.expanderContent}"> - <ge:IntegerEntityModelTextBoxEditor ui:field="numOfVfs" addStyleNames="{style.numOfVfs}" /> - <g:ValueLabel ui:field="maxVfsLabel" addStyleNames="{style.maxVfsLabel}" /> - </g:FlowPanel> - <g:Label ui:field="allowedNetworksLabel" addStyleNames="{style.allAllowedLabel}" /> - <e:ListModelRadioGroupEditor ui:field="allNetworksSelectorEditor" addStyleNames="{style.allAllowedSelector}" /> - <g:SimplePanel addStyleNames="{style.clear}" /> - <g:FlowPanel ui:field="allowedNetworksPanel" addStyleNames="{style.allowedNetworksPanel}" > - <g:FlowPanel addStyleNames="{style.networksPanel}" > - <g:Label ui:field="selectNetworksLabel" addStyleNames="{style.selectNetworksLabel}" /> - <g:ScrollPanel addStyleNames="{style.networksTableScrollPanel}"> - <e:EntityModelCellTable ui:field="networks" /> - </g:ScrollPanel> + <d:SimpleDialogPanel width="515px" height="600px"> + <d:content> + <g:FlowPanel> + <d:AdvancedParametersExpander ui:field="numVfsExpander" addStyleNames="{style.expander}" /> + <g:FlowPanel ui:field="numVfsExpanderContent" addStyleNames="{style.expanderContent}"> + <ge:IntegerEntityModelTextBoxEditor ui:field="numOfVfs" addStyleNames="{style.numOfVfs}" /> + <g:ValueLabel ui:field="maxVfsLabel" addStyleNames="{style.maxVfsLabel}" /> + </g:FlowPanel> + <g:Label ui:field="allowedNetworksLabel" addStyleNames="{style.allAllowedLabel}" /> + <e:ListModelRadioGroupEditor ui:field="allNetworksSelectorEditor" addStyleNames="{style.allAllowedSelector}" /> + <g:SimplePanel addStyleNames="{style.clear}" /> + <g:FlowPanel ui:field="allowedNetworksPanel" addStyleNames="{style.allowedNetworksPanel}" > + <g:FlowPanel addStyleNames="{style.networksPanel}" > + <g:Label ui:field="selectNetworksLabel" addStyleNames="{style.selectNetworksLabel}" /> + <g:ScrollPanel addStyleNames="{style.networksTableScrollPanel}"> + <e:EntityModelCellTable ui:field="networks" /> + </g:ScrollPanel> + </g:FlowPanel> + <g:SimplePanel addStyleNames="{style.splitter}" /> + <h:VfsNicLabelWidget ui:field="labelsWidget" addStyleNames="{style.labelWidget}" /> + </g:FlowPanel> </g:FlowPanel> - <g:SimplePanel addStyleNames="{style.splitter}" /> - <h:VfsNicLabelWidget ui:field="labelsWidget" addStyleNames="{style.labelWidget}" /> - </g:FlowPanel> - </g:FlowPanel> + </d:content> + </d:SimpleDialogPanel> </ui:UiBinder> \ No newline at end of file diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java index ebac215..b6eb2a4 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsNicLabelWidget.java @@ -3,7 +3,7 @@ import java.util.Set; import org.ovirt.engine.ui.uicommonweb.models.ListModel; -import org.ovirt.engine.ui.uicommonweb.models.hosts.NicLabelModel; +import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsNicLabelModel; import org.ovirt.engine.ui.uicompat.Event; import org.ovirt.engine.ui.uicompat.EventArgs; import org.ovirt.engine.ui.uicompat.IEventListener; @@ -35,7 +35,7 @@ } @Override - protected void init(NicLabelModel model) { + protected void init(VfsNicLabelModel model) { super.init(model); for (ListModel<String> labelModel : model.getItems()) { labelModel.getSelectedItemChangedEvent().addListener(new IEventListener<EventArgs>() { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java index b7d00ea..a2656d4 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NicPanel.java @@ -53,6 +53,7 @@ rowPanel.setWidget(0, 3, titleLabel); rowPanel.setWidget(0, 4, actionButton); + actionButton.setVisible(item.isSriovEnabled()); return rowPanel; } -- To view, visit https://gerrit.ovirt.org/41524 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5b96acb7de969f00003139d512bf9d6d7f7f55db Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
