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