ofri masad has uploaded a new change for review.

Change subject: webadmin: Add details to general Cluster sub-tab
......................................................................

webadmin: Add details to general Cluster sub-tab

Added some information about the selected Cluster to sub-tab 'General'
under the main-tab Cluster.

Change-Id: I9933cd4ec03a3df35dc4ff8fa157854b776a632c
Signed-off-by: Ofri Masad <[email protected]>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGeneralModel.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/ClusterGeneralModelForm.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.ui.xml
5 files changed, 206 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/26/11726/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
index 5ab4dba..5a7b017 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
@@ -1134,4 +1134,27 @@
     @DefaultStringValue("MAC")
     String macVmGuestAgent();
 
+    @DefaultStringValue("Name")
+    String nameCluster();
+
+    @DefaultStringValue("Description")
+    String descriptionCluster();
+
+    @DefaultStringValue("Data Center")
+    String nameStoragePool();
+
+    @DefaultStringValue("CPU Type")
+    String cpuNameCluster();
+
+    @DefaultStringValue("Use Threads as CPU")
+    String cpuThreadsCluster();
+
+    @DefaultStringValue("Max Memory Over Commitment")
+    String memoryOptimizationCluster();
+
+    @DefaultStringValue("Resilience Policy")
+    String resiliencePolicyCluster();
+
+    @DefaultStringValue("High Priority Only")
+    String highPriorityOnly();
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGeneralModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGeneralModel.java
index 5563828..ea785f8 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGeneralModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGeneralModel.java
@@ -8,8 +8,10 @@
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import 
org.ovirt.engine.core.common.action.gluster.RemoveGlusterServerParameters;
+import org.ovirt.engine.core.common.businessentities.MigrateOnErrorOptions;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
+import org.ovirt.engine.core.common.businessentities.VdsSelectionAlgorithm;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
@@ -135,6 +137,15 @@
         detachNewGlusterHostsCommand = value;
     }
 
+    private String name;
+    private String description;
+    private String cpuName;
+    private String dataCenterName;
+    private int memoryOverCommit;
+    private VdsSelectionAlgorithm clusterPolicy;
+    private MigrateOnErrorOptions resiliencePolicy;
+    private boolean cpuThreads;
+
     public void setConsoleAddressPartiallyOverridden(Boolean 
consoleAddressPartiallyOverridden) {
         if (this.consoleAddressPartiallyOverridden != 
consoleAddressPartiallyOverridden) {
             this.consoleAddressPartiallyOverridden = 
consoleAddressPartiallyOverridden;
@@ -223,9 +234,22 @@
             UpdateVolumeDetails();
             updateAlerts();
             updateConsoleAddressPartiallyOverridden(getEntity());
+            updateProperties();
         }
 
         UpdateActionAvailability();
+    }
+
+    private void updateProperties() {
+        VDSGroup vdsGroup = getEntity();
+
+        setName(vdsGroup.getname());
+        setDescription(vdsGroup.getdescription());
+        setCpuName(vdsGroup.getcpu_name());
+        setDataCenterName(vdsGroup.getStoragePoolName());
+        setMemoryOverCommit(vdsGroup.getmax_vds_memory_over_commit());
+        setClusterPolicy(vdsGroup.getselection_algorithm());
+        setResiliencePolicy(vdsGroup.getMigrateOnError());
     }
 
     private void updateConsoleAddressPartiallyOverridden(VDSGroup cluster) {
@@ -535,4 +559,68 @@
             Cancel();
         }
     }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getCpuName() {
+        return cpuName;
+    }
+
+    public void setCpuName(String cpuName) {
+        this.cpuName = cpuName;
+    }
+
+    public String getDataCenterName() {
+        return dataCenterName;
+    }
+
+    public void setDataCenterName(String dataCenterName) {
+        this.dataCenterName = dataCenterName;
+    }
+
+    public int getMemoryOverCommit() {
+        return memoryOverCommit;
+    }
+
+    public void setMemoryOverCommit(int memoryOverCommit) {
+        this.memoryOverCommit = memoryOverCommit;
+    }
+
+    public VdsSelectionAlgorithm getClusterPolicy() {
+        return clusterPolicy;
+    }
+
+    public void setClusterPolicy(VdsSelectionAlgorithm clusterPolicy) {
+        this.clusterPolicy = clusterPolicy;
+    }
+
+    public MigrateOnErrorOptions getResiliencePolicy() {
+        return resiliencePolicy;
+    }
+
+    public void setResiliencePolicy(MigrateOnErrorOptions resiliencePolicy) {
+        this.resiliencePolicy = resiliencePolicy;
+    }
+
+    public boolean isCpuThreads() {
+        return cpuThreads;
+    }
+
+    public void setCpuThreads(boolean cpuThreads) {
+        this.cpuThreads = cpuThreads;
+    }
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/ClusterGeneralModelForm.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/ClusterGeneralModelForm.java
new file mode 100644
index 0000000..868beb1
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/ClusterGeneralModelForm.java
@@ -0,0 +1,74 @@
+package org.ovirt.engine.ui.webadmin.section.main.view.tab.cluster;
+
+import org.ovirt.engine.ui.common.CommonApplicationConstants;
+import org.ovirt.engine.ui.common.uicommon.model.ModelProvider;
+import org.ovirt.engine.ui.common.widget.form.FormItem;
+import org.ovirt.engine.ui.common.widget.label.TextBoxLabel;
+import org.ovirt.engine.ui.common.widget.uicommon.AbstractModelBoundFormWidget;
+import org.ovirt.engine.ui.uicommonweb.models.clusters.ClusterGeneralModel;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.editor.client.SimpleBeanEditorDriver;
+
+public class ClusterGeneralModelForm extends 
AbstractModelBoundFormWidget<ClusterGeneralModel> {
+
+    private CommonApplicationConstants constants;
+
+    interface Driver extends SimpleBeanEditorDriver<ClusterGeneralModel, 
ClusterGeneralModelForm> {
+        Driver driver = GWT.create(Driver.class);
+    }
+
+    TextBoxLabel name = new TextBoxLabel();
+    TextBoxLabel description = new TextBoxLabel();
+    TextBoxLabel dataCenterName = new TextBoxLabel();
+    TextBoxLabel cpuName = new TextBoxLabel();
+
+
+
+    public ClusterGeneralModelForm(ModelProvider<ClusterGeneralModel> 
modelProvider, CommonApplicationConstants constants) {
+        super(modelProvider, 2, 7);
+
+        Driver.driver.initialize(this);
+        this.constants = constants;
+        update();
+    }
+
+    @Override
+    protected void doEdit(ClusterGeneralModel model) {
+        Driver.driver.edit(model);
+    }
+
+    @Override
+    public void update() {
+        super.update();
+
+        TextBoxLabel cpuThreads = new TextBoxLabel();
+        cpuThreads.setText(getModel().isCpuThreads() ? constants.yes() : 
constants.no());
+
+        TextBoxLabel resiliencePolicy = new TextBoxLabel();
+        switch (getModel().getResiliencePolicy()) {
+            case YES:
+                resiliencePolicy.setText(constants.yes());
+                break;
+            case NO:
+                resiliencePolicy.setText(constants.no());
+                break;
+            case HA_ONLY:
+                resiliencePolicy.setText(constants.highPriorityOnly());
+                break;
+        }
+
+        TextBoxLabel memoryOverCommit = new TextBoxLabel();
+        
memoryOverCommit.setText(String.valueOf(getModel().getMemoryOverCommit()));
+
+        formBuilder.setColumnsWidth("240px", "160px"); //$NON-NLS-1$ 
//$NON-NLS-2$
+        formBuilder.addFormItem(new FormItem(constants.nameCluster(), name, 0, 
0));
+        formBuilder.addFormItem(new FormItem(constants.descriptionCluster(), 
description, 1, 0));
+        formBuilder.addFormItem(new FormItem(constants.nameStoragePool(), 
dataCenterName, 2, 0));
+        formBuilder.addFormItem(new FormItem(constants.cpuNameCluster(), 
cpuName, 3, 0));
+        formBuilder.addFormItem(new FormItem(constants.cpuThreadsCluster(), 
cpuThreads, 0, 1));
+        formBuilder.addFormItem(new 
FormItem(constants.memoryOptimizationCluster(), memoryOverCommit, 1,1));
+        formBuilder.addFormItem(new 
FormItem(constants.resiliencePolicyCluster(), resiliencePolicy, 2, 1));
+    }
+
+}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
index c948ca5..afd8638 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
@@ -55,6 +55,10 @@
     // to find the icon for alert messages:
     private final ApplicationResources resources;
 
+    @UiField(provided = true)
+    @Ignore
+    ClusterGeneralModelForm form;
+
     @UiField
     HorizontalPanel policyPanel;
 
@@ -129,6 +133,7 @@
 
         // Inject a reference to the resources:
         this.resources = resources;
+        this.form = new ClusterGeneralModelForm(modelProvider, constants);
 
         initSliders();
         initLabels();
@@ -234,7 +239,7 @@
 
         policyPanel.setVisible(selectedItem.supportsVirtService());
         volumeSummaryPanel.setVisible(selectedItem.supportsGlusterService());
-
+        form.update();
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.ui.xml
index 0440227..864fb13 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.ui.xml
@@ -2,7 +2,8 @@
 <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent";>
 <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" 
xmlns:g="urn:import:com.google.gwt.user.client.ui"
        xmlns:f="urn:import:org.ovirt.engine.ui.common.widget.form"
-       xmlns:w="urn:import:org.ovirt.engine.ui.common.widget">
+       xmlns:w="urn:import:org.ovirt.engine.ui.common.widget"
+       
xmlns:c="urn:import:org.ovirt.engine.ui.webadmin.section.main.view.tab.cluster">
 
        <ui:with field='constants' 
type='org.ovirt.engine.ui.webadmin.ApplicationConstants' />
 
@@ -66,8 +67,14 @@
                        color: black;
                        text-decoration: underline;
                }
+
+               .leftPanel {
+                       border-right: 1px solid #c0c0c0;
+               }
        </ui:style>
-       <g:FlowPanel>
+       <g:DockLayoutPanel height="100%">
+               <g:west size="570">
+                       <g:FlowPanel addStyleNames="{style.leftPanel}">
                <g:HorizontalPanel spacing="5">
                        <g:HorizontalPanel ui:field="policyPanel" 
addStyleNames="{style.marginLeft}">
                                <g:FlowPanel width="400px">
@@ -110,6 +117,11 @@
                        </div>
                        <g:FlowPanel ui:field="alertsList"/>
                </g:HTMLPanel>
-       </g:FlowPanel>
+                       </g:FlowPanel>
+               </g:west>
+               <g:center size="300">
+               <c:ClusterGeneralModelForm ui:field="form" />
+               </g:center>
+       </g:DockLayoutPanel>
 </ui:UiBinder>
        


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

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

Reply via email to