Arik Hadas has uploaded a new change for review.

Change subject: webadmin: add memory column to snapshot subtab
......................................................................

webadmin: add memory column to snapshot subtab

Add column to the snapshot subtab that contains checkbox which reflects
whether the snapshot contains memory state or not.

Change-Id: Ic9a5159f84fff98377526da336759445e41068f3
Bug-Url: https://bugzilla.redhat.com/960931
Signed-off-by: Arik Hadas <aha...@redhat.com>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java
3 files changed, 45 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/84/15684/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
index 6d857ce..99431ee 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
@@ -90,7 +90,8 @@
     VncKeyboardLayoutValidValues(ConfigAuthType.User),
     SupportCustomDeviceProperties(ConfigAuthType.User),
     CustomDeviceProperties(ConfigAuthType.User),
-    MultipleGatewaysSupported
+    MultipleGatewaysSupported,
+    MemorySnapshotSupported
     ;
 
     public static enum ConfigAuthType {
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 f3669d7..a2cafcb 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
@@ -584,6 +584,9 @@
     @DefaultStringValue("Status")
     String statusSnapshot();
 
+    @DefaultStringValue("Memory")
+    String memorySnapshot();
+
     @DefaultStringValue("Disks")
     String disksSnapshot();
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java
index 8652474..2eee274 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java
@@ -4,7 +4,9 @@
 import org.ovirt.engine.core.common.businessentities.Snapshot;
 import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotStatus;
 import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotType;
+import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.queries.CommandVersionsInfo;
+import org.ovirt.engine.core.common.queries.ConfigurationValues;
 import org.ovirt.engine.ui.common.CommonApplicationConstants;
 import org.ovirt.engine.ui.common.CommonApplicationMessages;
 import org.ovirt.engine.ui.common.CommonApplicationTemplates;
@@ -14,6 +16,7 @@
 import org.ovirt.engine.ui.common.widget.renderer.FullDateTimeRenderer;
 import org.ovirt.engine.ui.common.widget.table.OrderedMultiSelectionModel;
 import org.ovirt.engine.ui.common.widget.table.SimpleActionTable;
+import org.ovirt.engine.ui.common.widget.table.column.CheckboxColumn;
 import org.ovirt.engine.ui.common.widget.table.column.EnumColumn;
 import org.ovirt.engine.ui.common.widget.table.column.SafeHtmlColumn;
 import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip;
@@ -52,6 +55,7 @@
 
     private final CommonApplicationMessages messages;
     private final CommonApplicationTemplates templates;
+    private final CommonApplicationConstants constants;
 
     VmSnapshotInfoPanel vmSnapshotInfoPanel;
 
@@ -62,6 +66,7 @@
             CommonApplicationTemplates templates) {
         super(modelProvider, eventBus, clientStorage, false);
 
+        this.constants = constants;
         this.messages = messages;
         this.templates = templates;
 
@@ -92,7 +97,7 @@
                 return 
FullDateTimeRenderer.getLocalizedDateTimeFormat().format(snapshot.getCreationDate());
             }
         };
-        getTable().addColumn(dateColumn, constants.dateSnapshot(), "185px"); 
//$NON-NLS-1$
+        getTable().addColumn(dateColumn, constants.dateSnapshot(), "150px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<Snapshot> statusColumn = new 
EnumColumn<Snapshot, SnapshotStatus>() {
             @Override
@@ -100,7 +105,19 @@
                 return snapshot.getStatus();
             }
         };
-        getTable().addColumn(statusColumn, constants.statusSnapshot(), 
"95px"); //$NON-NLS-1$
+        getTable().addColumn(statusColumn, constants.statusSnapshot(), 
"75px"); //$NON-NLS-1$
+
+        final CheckboxColumn<Snapshot> memoryColumn = new 
CheckboxColumn<Snapshot>() {
+            @Override
+            public Boolean getValue(Snapshot object) {
+                return !object.getMemoryVolume().isEmpty();
+            }
+
+            @Override
+            protected boolean canEdit(Snapshot object) {
+                return false;
+            }
+        };
 
         SafeHtmlColumn<Snapshot> descriptionColumn = new 
SafeHtmlColumn<Snapshot>() {
             @Override
@@ -129,6 +146,13 @@
 
         initActionButtons(constants);
         disableActiveSnapshotRow();
+        updateMemoryColumnVisibility(memoryColumn);
+        getModel().getEntityChangedEvent().addListener(new IEventListener() {
+            @Override
+            public void eventRaised(Event ev, Object sender, EventArgs args) {
+                updateMemoryColumnVisibility(memoryColumn);
+            }
+        });
 
         // Add selection listener
         getModel().getSelectedItemChangedEvent().addListener(new 
IEventListener() {
@@ -143,6 +167,20 @@
         });
     }
 
+    private void updateMemoryColumnVisibility(CheckboxColumn<Snapshot> 
memoryColumn) {
+        VM vm = (VM) getModel().getEntity();
+        if (vm == null) {
+            return;
+        }
+
+        boolean memorySnapshotSupported =
+                (Boolean) AsyncDataProvider.getConfigValuePreConverted(
+                        ConfigurationValues.MemorySnapshotSupported,
+                        vm.getVdsGroupCompatibilityVersion().toString());
+        getTable().ensureColumnPresent(memoryColumn, 
constants.memorySnapshot(),
+                memorySnapshotSupported, "55px"); //$NON-NLS-1$
+    }
+
     private void initActionButtons(final CommonApplicationConstants constants) 
{
         getTable().addActionButton(new 
UiCommandButtonDefinition<Snapshot>(getEventBus(), constants.createSnapshot()) {
             @Override


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

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

Reply via email to