Hello Arik Hadas,

I'd like you to do a code review.  Please visit

    http://gerrit.ovirt.org/23614

to review the following change.

Change subject: frontend: Add version column to templates main tab
......................................................................

frontend: Add version column to templates main tab

Change-Id: Iae04ceb5e75ba541f49bbae87e499ee91aacf718
Signed-off-by: Arik Hadas <aha...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.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/section/main/view/tab/MainTabTemplateView.java
3 files changed, 54 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/14/23614/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
index 749fae5..4c629c7 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java
@@ -3,6 +3,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
+
 import org.ovirt.engine.core.common.VdcActionUtils;
 import org.ovirt.engine.core.common.action.MoveOrCopyParameters;
 import org.ovirt.engine.core.common.action.UpdateVmTemplateParameters;
@@ -276,6 +277,41 @@
         super.syncSearch(VdcQueryType.Search, tempVar);
     }
 
+    @Override
+    public void setItems(Iterable value) {
+        genVersionToBaseTemplate(value);
+        super.setItems(value);
+    }
+
+    private Map<Guid, String> templateIdToBaseTemplateName;
+
+    private void genVersionToBaseTemplate(Iterable<VmTemplate> items) {
+        if (items == null) {
+            templateIdToBaseTemplateName = null;
+            return;
+        }
+
+        Map<Guid, VmTemplate> templateIdToTemplate = new HashMap<Guid, 
VmTemplate>();
+        for (VmTemplate template : items) {
+            templateIdToTemplate.put(template.getId(), template);
+        }
+
+        templateIdToBaseTemplateName = new HashMap<Guid, String>();
+        for (VmTemplate template : items) {
+            VmTemplate baseTemplate = 
templateIdToTemplate.get(template.getBaseTemplateId());
+            templateIdToBaseTemplateName.put(template.getId(),
+                    baseTemplate != null ? baseTemplate.getName() : "");  
//$NON-NLS-1$
+        }
+    }
+
+    public String resolveBaseTemplateNameForTemplate(Guid templateId) {
+        if (templateIdToBaseTemplateName == null) {
+            return ""; //$NON-NLS-1$
+        }
+
+        return templateIdToBaseTemplateName.get(templateId);
+    }
+
     private void edit()
     {
         VmTemplate template = (VmTemplate) getSelectedItem();
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 9741571..ee92881 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
@@ -1688,6 +1688,9 @@
     @DefaultStringValue("Description")
     String descriptionTemplate();
 
+    @DefaultStringValue("Version")
+    String versionTemplate();
+
     @DefaultStringValue("Edit")
     String editTemplate();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabTemplateView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabTemplateView.java
index 574b482..74f8371 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabTemplateView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabTemplateView.java
@@ -4,6 +4,7 @@
 
 import org.ovirt.engine.core.common.businessentities.VmTemplate;
 import org.ovirt.engine.core.common.businessentities.VmTemplateStatus;
+import org.ovirt.engine.core.compat.StringFormat;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.uicommon.model.MainModelProvider;
 import org.ovirt.engine.ui.common.widget.table.column.EnumColumn;
@@ -45,6 +46,20 @@
         };
         getTable().addColumn(nameColumn, constants.namePool(), "150px"); 
//$NON-NLS-1$
 
+        TextColumnWithTooltip<VmTemplate> versionNameColumn = new 
TextColumnWithTooltip<VmTemplate>() {
+            @Override
+            public String getValue(VmTemplate object) {
+                if (object.getId().equals(object.getBaseTemplateId())) {
+                    return ""; //$NON-NLS-1$
+                }
+
+                return StringFormat.format("%s (%s)",  //$NON-NLS-1$
+                        
getMainModel().resolveBaseTemplateNameForTemplate(object.getId()),
+                        object.getTemplateVersionName() != null ? 
object.getTemplateVersionName() : " "); //$NON-NLS-1$
+            }
+        };
+        getTable().addColumn(versionNameColumn, constants.versionTemplate(), 
"150px"); //$NON-NLS-1$
+
         CommentColumn<VmTemplate> commentColumn = new 
CommentColumn<VmTemplate>();
         getTable().addColumnWithHtmlHeader(commentColumn, 
commentColumn.getHeaderHtml(), "30px"); //$NON-NLS-1$
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae04ceb5e75ba541f49bbae87e499ee91aacf718
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.4
Gerrit-Owner: Omer Frenkel <ofren...@redhat.com>
Gerrit-Reviewer: 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