Sahina Bose has uploaded a new change for review.

Change subject: webadmin: Gluster network role in UI
......................................................................

webadmin: Gluster network role in UI

Enabling setting/display of gluster network role
in the network cluster UI

Change-Id: I09660b88ee48024f02eb915ce6c98c27a7064775
Bug-Url: https://bugzilla.redhat.com/1049994
Signed-off-by: Sahina Bose <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.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/ApplicationResources.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/host/panels/ItemInfoPopup.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java
A 
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/gluster_network.png
11 files changed, 137 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/37476/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
index 4247d53..ee92dae 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
@@ -369,6 +369,7 @@
         obj.setDisplay(instance.isDisplay());
         obj.setRequired(instance.isRequired());
         obj.setMigration(instance.isMigration());
+        obj.setGluster(instance.isGluster());
         return obj;
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
index e539d52..a791977 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
@@ -105,6 +105,32 @@
         model.setMigrationNetwork(value);
     }
 
+    private ClusterNetworkModel getGlusterNetwork() {
+        if (!isMultiCluster()) {
+            for (ClusterNetworkModel clusterNetworkManageModel : getItems()) {
+                if (clusterNetworkManageModel.isGlusterNetwork()) {
+                    return clusterNetworkManageModel;
+                }
+            }
+        }
+        return null;
+    }
+
+    public void setGlusterNetwork(ClusterNetworkModel model, boolean value) {
+        if (!isMultiCluster()) {
+            if (value) {
+                // Reset the old migration
+                if (getGlusterNetwork() != null) {
+                    getGlusterNetwork().setGlusterNetwork(false);
+                }
+            } else {
+                // Set the management network as gluster
+                managementNetwork.setGlusterNetwork(true);
+            }
+        }
+        model.setGlusterNetwork(value);
+    }
+
     private void onManage() {
         Iterable<ClusterNetworkModel> manageList = getItems();
         final ArrayList<VdcActionParametersBase> toAttach = new 
ArrayList<VdcActionParametersBase>();
@@ -123,11 +149,13 @@
             if (wasAttached && !needsDetach) {
                 if ((manageModel.isRequired() != networkCluster.isRequired())
                         || (manageModel.isDisplayNetwork() != 
networkCluster.isDisplay())
-                        || (manageModel.isMigrationNetwork() != 
networkCluster.isMigration())) {
+                        || (manageModel.isMigrationNetwork() != 
networkCluster.isMigration())
+                        || (manageModel.isGlusterNetwork() != 
networkCluster.isGluster())) {
                     needsUpdate = true;
                     networkCluster.setRequired(manageModel.isRequired());
                     networkCluster.setDisplay(manageModel.isDisplayNetwork());
                     
networkCluster.setMigration(manageModel.isMigrationNetwork());
+                    networkCluster.setGluster(manageModel.isGlusterNetwork());
                 }
             }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java
index 9b10bcf..92cbc1f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java
@@ -70,6 +70,10 @@
         return getEntity().getCluster().isMigration();
     }
 
+    public boolean isGlusterNetwork() {
+        return getEntity().getCluster().isGluster();
+    }
+
     public boolean isExternal() {
         return getEntity().isExternal();
     }
@@ -98,6 +102,10 @@
         getEntity().getCluster().setMigration(migrationNetwork);
     }
 
+    public void setGlusterNetwork(boolean glusterNetwork) {
+        getEntity().getCluster().setGluster(glusterNetwork);
+    }
+
     public NetworkCluster getOriginalNetworkCluster() {
         return originalNetworkCluster;
     }
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 c5bdc1d..8890417 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
@@ -2078,6 +2078,9 @@
     @DefaultStringValue("Migration Network")
     String migrationNetwork();
 
+    @DefaultStringValue("Gluster Network")
+    String glusterNetwork();
+
     @DefaultStringValue("Role")
     String roleNetwork();
 
@@ -2716,6 +2719,9 @@
     @DefaultStringValue("Migration")
     String migrationItemInfo();
 
+    @DefaultStringValue("Gluster")
+    String glusterNwItemInfo();
+
     @DefaultStringValue("Unmanaged Network")
     String unmanagedNetworkItemInfo();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
index ca194d2..bcbf658 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
@@ -298,6 +298,9 @@
     @Source("images/network/migration_network.png")
     ImageResource migrationNetwork();
 
+    @Source("images/network/gluster_network.png")
+    ImageResource glusterNetwork();
+
     @Source("images/network/empty.png")
     ImageResource networkEmpty();
 
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 5d62336..1d1d229 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
@@ -103,6 +103,11 @@
                 new 
MigrationNetworkIndicatorCheckboxColumn(multipleSelectionAllowed,
                         new MigrationNetworkIndicatorFieldUpdater()),
                 constants.migrationNetwork(), "105px"); //$NON-NLS-1$
+
+        networks.addColumn(
+                new 
GlusterNetworkIndicatorCheckboxColumn(multipleSelectionAllowed,
+                        new GlusterNetworkIndicatorFieldUpdater()),
+                constants.glusterNetwork(), "100px"); //$NON-NLS-1$
     }
 
     @Override
@@ -124,6 +129,9 @@
             }
             if (clusterNetworkModel.isMigrationNetwork()) {
                 updateMigrationNetwork(clusterNetworkModel, false);
+            }
+            if (clusterNetworkModel.isGlusterNetwork()) {
+                updateGlusterNetwork(clusterNetworkModel, false);
             }
             if (clusterNetworkModel.isRequired()) {
                 clusterNetworkModel.setRequired(false);
@@ -340,6 +348,35 @@
         networks.asEditor().flush().setMigrationNetwork(clusterNetworkModel, 
value);
     }
 
+    private static final class GlusterNetworkIndicatorCheckboxColumn extends 
CheckboxColumn<ClusterNetworkModel> {
+        private GlusterNetworkIndicatorCheckboxColumn(boolean 
multipleSelectionAllowed,
+                GlusterNetworkIndicatorFieldUpdater 
glusterNetworkIndicatorFieldUpdater) {
+            super(multipleSelectionAllowed, 
glusterNetworkIndicatorFieldUpdater);
+        }
+
+        @Override
+        public Boolean getValue(ClusterNetworkModel clusterNetworkModel) {
+            return clusterNetworkModel.isGlusterNetwork();
+        }
+
+        @Override
+        protected boolean canEdit(ClusterNetworkModel clusterNetworkModel) {
+            return clusterNetworkModel.isAttached() && 
!clusterNetworkModel.isExternal();
+        }
+    }
+
+    private final class GlusterNetworkIndicatorFieldUpdater implements 
FieldUpdater<ClusterNetworkModel, Boolean> {
+        @Override
+        public void update(int index, ClusterNetworkModel clusterNetworkModel, 
Boolean value) {
+            updateGlusterNetwork(clusterNetworkModel, value);
+            refreshNetworksTable();
+        }
+    }
+
+    private void updateGlusterNetwork(ClusterNetworkModel clusterNetworkModel, 
boolean value) {
+        networks.asEditor().flush().setGlusterNetwork(clusterNetworkModel, 
value);
+    }
+
     private final class DisplayNetworkIndicatorFieldUpdater implements 
FieldUpdater<ClusterNetworkModel, Boolean> {
         @Override
         public void update(int index, ClusterNetworkModel clusterNetworkModel, 
Boolean value) {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java
index 14f5297..f2261a2 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java
@@ -39,6 +39,9 @@
     SafeHtml migrationImage =
             
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.migrationNetwork())
                     .getHTML());
+    SafeHtml glusterNwImage =
+            
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.glusterNetwork())
+                    .getHTML());
     SafeHtml unknownImage =
             
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.questionMarkImage()).getHTML());
     SafeHtml notInSyncImage =
@@ -102,13 +105,15 @@
 
         boolean isDisplay = false;
         boolean isMigration = false;
+        boolean isGlusterNw = false;
 
         if (entity.getCluster() != null) {
             isDisplay = entity.getCluster().isDisplay();
             isMigration = entity.getCluster().isMigration();
+            isGlusterNw = entity.getCluster().isGluster();
         }
         // Usages
-        if (networkModel.isManagement() || isDisplay || entity.isVmNetwork() 
|| isMigration) {
+        if (networkModel.isManagement() || isDisplay || entity.isVmNetwork() 
|| isMigration || isGlusterNw) {
 
             addRow(SafeHtmlUtils.fromString(constants.usageItemInfo() + ":")); 
//$NON-NLS-1$
             if (networkModel.isManagement()) {
@@ -127,6 +132,10 @@
                 addRow(templates.imageTextSetupNetworkUsage(migrationImage, 
constants.migrationItemInfo()));
             }
 
+            if (isGlusterNw) {
+                addRow(templates.imageTextSetupNetworkUsage(glusterNwImage, 
constants.glusterNwItemInfo()));
+            }
+
         }
 
         // Mtu
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
index c3a2ee4..4323f86 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
@@ -47,12 +47,14 @@
         Image migrationImage;
         Image notSyncImage;
         Image alertImage;
+        Image glusterNwImage;
 
         if (!network.isManaged()) {
             monitorImage = null;
             mgmtNetworkImage = null;
             vmImage = null;
             migrationImage = null;
+            glusterNwImage = null;
             notSyncImage = null;
             alertImage = null;
         } else {
@@ -62,6 +64,8 @@
             vmImage = network.getEntity().isVmNetwork() ? new 
Image(resources.networkVm()) : null;
             migrationImage = network.getEntity().getCluster().isMigration() ?
                     new Image(resources.migrationNetwork()) : null;
+            glusterNwImage = network.getEntity().getCluster().isGluster() ?
+                    new Image(resources.glusterNetwork()) : null;
             notSyncImage = !network.isInSync() ? new 
Image(resources.networkNotSyncImage()) : null;
             alertImage = network.getErrorMessage() != null ? new 
Image(resources.alertImage()) : null;
 
@@ -81,6 +85,10 @@
                 migrationImage.setStylePrimaryName(style.networkImageBorder());
             }
 
+            if (network.getEntity().getCluster().isGluster()) {
+                glusterNwImage.setStylePrimaryName(style.networkImageBorder());
+            }
+
             if (!network.isInSync()) {
                 notSyncImage.setStylePrimaryName(style.networkImageBorder());
             }
@@ -89,7 +97,7 @@
         actionButton.setVisible(network.getAttachedToNic() != null
                 && (network.isManaged() || !network.isAttachedViaLabel()));
 
-        Grid rowPanel = new Grid(1, 9);
+        Grid rowPanel = new Grid(1, 10);
         rowPanel.setCellSpacing(0);
         rowPanel.setWidth("100%"); //$NON-NLS-1$
         rowPanel.setHeight("100%"); //$NON-NLS-1$
@@ -117,8 +125,9 @@
         rowPanel.setWidget(0, 4, monitorImage);
         rowPanel.setWidget(0, 5, vmImage);
         rowPanel.setWidget(0, 6, migrationImage);
-        rowPanel.setWidget(0, 7, notSyncImage);
-        rowPanel.setWidget(0, 8, actionButton);
+        rowPanel.setWidget(0, 7, glusterNwImage);
+        rowPanel.setWidget(0, 8, notSyncImage);
+        rowPanel.setWidget(0, 9, actionButton);
 
         return rowPanel;
     }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
index dba72ec5..07f4e1e 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
@@ -42,6 +42,7 @@
 
     private final SafeHtml displayImage;
     private final SafeHtml migrationImage;
+    private final SafeHtml glusterNwImage;
     private final SafeHtml emptyImage;
 
     @Inject
@@ -54,6 +55,8 @@
                 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkMonitor()).getHTML());
         migrationImage =
                 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.migrationNetwork()).getHTML());
+        glusterNwImage =
+                
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.glusterNetwork()).getHTML());
         emptyImage = 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkEmpty()).getHTML());
         initTable(constants, templates);
         initWidget(getTable());
@@ -107,6 +110,12 @@
                             } else {
                                 images.add(emptyImage);
                             }
+
+                            if (network.getCluster().isGluster()) {
+                                images.add(glusterNwImage);
+                            } else {
+                                images.add(emptyImage);
+                            }
                         }
 
                         return NetworkRoleColumnHelper.getValue(images);
@@ -124,6 +133,11 @@
                                 imagesToText.put(migrationImage, 
constants.migrationItemInfo());
 
                             }
+
+                            if (network.getCluster().isGluster()) {
+                                imagesToText.put(glusterNwImage, 
constants.glusterNwItemInfo());
+
+                            }
                         }
                         return 
NetworkRoleColumnHelper.getTooltip(imagesToText);
                     }
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 e2e64e0..7fbebcf 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
@@ -47,6 +47,7 @@
 
     private final SafeHtml displayImage;
     private final SafeHtml migrationImage;
+    private final SafeHtml glusterNwImage;
     private final SafeHtml emptyImage;
 
     @Inject
@@ -58,6 +59,8 @@
                 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkMonitor()).getHTML());
         migrationImage =
                 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.migrationNetwork()).getHTML());
+        glusterNwImage =
+                
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.glusterNetwork()).getHTML());
         emptyImage = 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkEmpty()).getHTML());
         initTable();
         initWidget(getTable());
@@ -146,6 +149,12 @@
                                 images.add(emptyImage);
 
                             }
+                            if (object.getSecond().isGluster()) {
+                                images.add(glusterNwImage);
+                            } else {
+                                images.add(emptyImage);
+
+                            }
                         }
                         return NetworkRoleColumnHelper.getValue(images);
                     }
@@ -161,6 +170,10 @@
                             if (object.getSecond().isMigration()) {
                                 imagesToText.put(migrationImage, 
constants.migrationItemInfo());
                             }
+
+                            if (object.getSecond().isGluster()) {
+                                imagesToText.put(glusterNwImage, 
constants.glusterNwItemInfo());
+                            }
                         }
 
                         return 
NetworkRoleColumnHelper.getTooltip(imagesToText);
@@ -172,9 +185,12 @@
                 int res = 0;
                 if (networkCluster != null) {
                     if (networkCluster.isDisplay()) {
-                        res += 2;
+                        res += 3;
                     }
                     if (networkCluster.isMigration()) {
+                        res += 2;
+                    }
+                    if (networkCluster.isGluster()) {
                         res += 1;
                     }
                 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/gluster_network.png
 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/gluster_network.png
new file mode 100644
index 0000000..ed54e8c
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/gluster_network.png
Binary files differ


-- 
To view, visit http://gerrit.ovirt.org/37476
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I09660b88ee48024f02eb915ce6c98c27a7064775
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Sahina Bose <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to