Alona Kaplan has uploaded a new change for review. Change subject: webadmin: Adding VfsConfigModel to HostNicModel ......................................................................
webadmin: Adding VfsConfigModel to HostNicModel Change-Id: I70f2955d16287c291341646c76ebeaea9bbcb0aa Signed-off-by: Alona Kaplan <alkap...@redhat.com> --- M 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 A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java 3 files changed, 115 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/58/36258/1 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 index dcd816c..ab09e12 100644 --- 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 @@ -2,8 +2,11 @@ import java.util.Collection; import java.util.Collections; +import java.util.List; import java.util.Map; +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.Model; import org.ovirt.engine.ui.uicompat.ConstantsManager; @@ -11,18 +14,36 @@ public class HostNicModel extends Model { private final NicLabelModel labelsModel; + private VfsConfigModel vfsConfigModel = null; + private VdsNetworkInterface iface; public NicLabelModel getLabelsModel() { return labelsModel; } - public HostNicModel(VdsNetworkInterface iface, Collection<String> suggestedLabels, Map<String, String> labelToIface) { + public HostNicModel(VdsNetworkInterface iface, + Collection<String> suggestedLabels, + Map<String, String> labelToIface, + HostNicVfsConfig vfsConfig, + List<Network> allClusterNetworks) { setTitle(ConstantsManager.getInstance().getMessages().editInterfaceTitle(iface.getName())); + this.iface = iface; labelsModel = new NicLabelModel(Collections.singletonList(iface), suggestedLabels, labelToIface); + + if (vfsConfig != null) { + vfsConfigModel = new VfsConfigModel(vfsConfig, allClusterNetworks); + } } public boolean validate() { return labelsModel.validate(); } + public VfsConfigModel getVfsConfigModel() { + return vfsConfigModel; + } + + public VdsNetworkInterface getInterface() { + return iface; + } } 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 6f92f5c..49e8ad0 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 @@ -337,7 +337,12 @@ * Interface Dialog *******************/ final VdsNetworkInterface entity = ((NetworkInterfaceModel) item).getEntity(); - final HostNicModel interfacePopupModel = new HostNicModel(entity, getFreeLabels(), labelToIface); + final HostNicModel interfacePopupModel = + new HostNicModel(entity, + getFreeLabels(), + labelToIface, + nicToVfsConfig.get(entity.getId()), + allNetworks); editPopup = interfacePopupModel; // OK Target 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 new file mode 100644 index 0000000..882ae22 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java @@ -0,0 +1,87 @@ +package org.ovirt.engine.ui.uicommonweb.models.hosts; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.ovirt.engine.core.common.businessentities.network.HostNicVfsConfig; +import org.ovirt.engine.core.common.businessentities.network.Network; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.ui.uicommonweb.models.EntityModel; +import org.ovirt.engine.ui.uicommonweb.models.ListModel; + +public class VfsConfigModel extends EntityModel<HostNicVfsConfig> { + private EntityModel<Integer> maxNumOfVfs = new EntityModel<>(); + private EntityModel<Integer> numOfVfs = new EntityModel<>(); + private EntityModel<Boolean> allNetworksAllowed = new EntityModel<>(); + private ListModel<Network> networks = new ListModel<>(); + private ListModel<String> labels = new ListModel<>(); + + public VfsConfigModel(HostNicVfsConfig vfsConfig, List<Network> allClusterNetworks) { + setEntity(vfsConfig); + maxNumOfVfs.setEntity(vfsConfig.getMaxNumOfVfs()); + numOfVfs.setEntity(vfsConfig.getNumOfVfs()); + allNetworksAllowed.setEntity(vfsConfig.isAllNetworksAllowed()); + initNetworks(allClusterNetworks); + labels.setItems(vfsConfig.getLabels()); + } + + public EntityModel<Integer> getNumOfVfs() { + return numOfVfs; + } + + public void setNumOfVfs(EntityModel<Integer> numOfVfs) { + this.numOfVfs = numOfVfs; + } + + public EntityModel<Boolean> getAllNetworksAllowed() { + return allNetworksAllowed; + } + + public void setAllNetworksAllowed(EntityModel<Boolean> allNetworksAllowed) { + this.allNetworksAllowed = allNetworksAllowed; + } + + public ListModel<Network> getNetworks() { + return networks; + } + + public void setNetworks(ListModel<Network> networks) { + this.networks = networks; + } + + public ListModel<String> getLabels() { + return labels; + } + + public void setLabels(ListModel<String> labels) { + this.labels = labels; + } + + public EntityModel<Integer> getMaxNumOfVfs() { + return maxNumOfVfs; + } + + private void initNetworks(List<Network> allClusterNetworks) { + Map<Guid, Network> clusterNetworksMap = createClusterNetworksMap(allClusterNetworks); + Set<Network> vfsConfigNetworks = new HashSet<>(); + + for (Guid networkGuid : getEntity().getNetworks()) { + vfsConfigNetworks.add(clusterNetworksMap.get(networkGuid)); + } + + networks.setItems(vfsConfigNetworks); + } + + private Map<Guid, Network> createClusterNetworksMap(List<Network> allClusterNetworks) { + Map<Guid, Network> clusterNetworksMap = new HashMap<>(); + + for (Network network : allClusterNetworks) { + clusterNetworksMap.put(network.getId(), network); + } + + return clusterNetworksMap; + } +} -- To view, visit http://gerrit.ovirt.org/36258 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I70f2955d16287c291341646c76ebeaea9bbcb0aa 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