Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: webadmin: ClusterNetworkManageModel - add management column
......................................................................

webadmin: ClusterNetworkManageModel - add management column

Add "management" column to manage networks popup.

Change-Id: I3153d4aec549b847ef209ea28b36d0329e06a7a9
Signed-off-by: Yevgeny Zaspitsky <yzasp...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.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/cluster/ClusterManageNetworkPopupView.ui.xml
3 files changed, 57 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/03/36403/1

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 c283211..cf2de12 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
@@ -107,6 +107,29 @@
         model.setMigrationNetwork(value);
     }
 
+    private ClusterNetworkModel getManagementNetwork() {
+        if (!isMultiCluster()) {
+            for (ClusterNetworkModel clusterNetworkManageModel : getItems()) {
+                if (clusterNetworkManageModel.isManagement()) {
+                    return clusterNetworkManageModel;
+                }
+            }
+        }
+        return null;
+    }
+
+    public void setManagementNetwork(ClusterNetworkModel model, boolean value) 
{
+        if (!isMultiCluster()) {
+            if (value) {
+                // Unset the old management network
+                if (getManagementNetwork() != null) {
+                    getManagementNetwork().setManagement(false);
+                }
+            }
+        }
+        model.setManagement(value);
+    }
+
     private void onManage() {
         Iterable<ClusterNetworkModel> manageList = getItems();
         final List<NetworkCluster> toAttach = new ArrayList<>();
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 d0795fa..1d08e44 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
@@ -91,6 +91,10 @@
                 new VmNetworkImageSafeHtmlWithSafeHtmlTooltipColumn(constants),
                 constants.vmNetwork(), "80px"); //$NON-NLS-1$
 
+        networks.addColumn(
+                new 
ManagementNetworkIndicatorCheckboxColumn(multipleSelectionAllowed, new 
ManagementNetworkIndicatorFieldUpdater()),
+                constants.managementItemInfo(), "80px"); //$NON-NLS-1$
+
         final SafeHtml displayNetworkColumnHeader = templates.textWithTooltip(
                 constants.displayNetwork(),
                 constants.changeDisplayNetworkWarning());
@@ -340,6 +344,35 @@
         networks.asEditor().flush().setMigrationNetwork(clusterNetworkModel, 
value);
     }
 
+    private static final class ManagementNetworkIndicatorCheckboxColumn 
extends CheckboxColumn<ClusterNetworkModel> {
+        private ManagementNetworkIndicatorCheckboxColumn(boolean 
multipleSelectionAllowed,
+                ManagementNetworkIndicatorFieldUpdater 
managementNetworkIndicatorFieldUpdater) {
+            super(multipleSelectionAllowed, 
managementNetworkIndicatorFieldUpdater);
+        }
+
+        @Override
+        public Boolean getValue(ClusterNetworkModel clusterNetworkModel) {
+            return clusterNetworkModel.isManagement();
+        }
+
+        @Override
+        protected boolean canEdit(ClusterNetworkModel clusterNetworkModel) { 
// TODO
+            return clusterNetworkModel.isAttached() && 
!clusterNetworkModel.isExternal();
+        }
+    }
+
+    private final class ManagementNetworkIndicatorFieldUpdater implements 
FieldUpdater<ClusterNetworkModel, Boolean> {
+        @Override
+        public void update(int index, ClusterNetworkModel clusterNetworkModel, 
Boolean value) {
+            updateManagementNetwork(clusterNetworkModel, value);
+            refreshNetworksTable();
+        }
+    }
+
+    private void updateManagementNetwork(ClusterNetworkModel 
clusterNetworkModel, boolean value) {
+        networks.asEditor().flush().setManagementNetwork(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/cluster/ClusterManageNetworkPopupView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.ui.xml
index 289da78..224627c 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.ui.xml
@@ -16,7 +16,7 @@
                }               
     </ui:style>
 
-    <d:SimpleDialogPanel width="600px" height="400px">
+    <d:SimpleDialogPanel width="670px" height="400px">
         <d:content>
             <g:FlowPanel>
                                <g:ScrollPanel  addStyleNames="{style.dock}">   
                        


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3153d4aec549b847ef209ea28b36d0329e06a7a9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yevgeny Zaspitsky <yzasp...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to