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

Reply via email to