Alexander Wels has uploaded a new change for review.

Change subject: webadmin: template import
......................................................................

webadmin: template import

- When trying to import a template the popup would
  generate a class cast exception. This patch solves
  that exception and another subsequent one.

Change-Id: Iec132ab7be596207c3bcee97753bbf08d14e737d
Signed-off-by: Alexander Wels <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
4 files changed, 25 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/67/35767/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
index 222f945..103525c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/TemplateBackupModel.java
@@ -44,11 +44,16 @@
 import org.ovirt.engine.ui.uicompat.IFrontendMultipleActionAsyncCallback;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
 
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
 public class TemplateBackupModel extends VmBackupModel
 {
     private ArrayList<Map.Entry<VmTemplate, List<DiskImage>>> extendedItems;
 
-    public TemplateBackupModel() {
+    @Inject
+    public TemplateBackupModel(Provider<ImportTemplateModel> 
importModelProvider) {
+        setModelProvider(importModelProvider);
         
setTitle(ConstantsManager.getInstance().getConstants().templateImportTitle());
         setHelpTag(HelpTag.template_import);
         setHashName("template_import"); //$NON-NLS-1$
@@ -372,4 +377,5 @@
     protected String getImportConflictTitle() {
         return 
ConstantsManager.getInstance().getConstants().importTemplateConflictTitle();
     }
+
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
index 80ba90a..cf693a1 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/VmBackupModel.java
@@ -67,7 +67,7 @@
     protected Map<Guid, Object> cloneObjectMap;
     protected ImportVmFromExportDomainModel importModel;
 
-    protected Provider<ImportVmFromExportDomainModel> importModelProvider;
+    protected Provider<? extends ImportVmFromExportDomainModel> 
importModelProvider;
 
     public VmAppListModel getAppListModel() {
         return privateAppListModel;
@@ -77,11 +77,16 @@
         privateAppListModel = value;
     }
 
-    @Inject
-    protected void setModelProvider(Provider<ImportVmFromExportDomainModel> 
importModelProvider) {
+    protected void setModelProvider(Provider<? extends 
ImportVmFromExportDomainModel> importModelProvider) {
         this.importModelProvider = importModelProvider;
     }
 
+    @Inject
+    public VmBackupModel(Provider<ImportVmFromExportDomainModel> 
importModelProvider) {
+        this();
+        setModelProvider(importModelProvider);
+    }
+
     public VmBackupModel() {
         
setTitle(ConstantsManager.getInstance().getConstants().vmImportTitle());
         setHelpTag(HelpTag.vm_import);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
index 6510837..1f26d50 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/ImportTemplateModel.java
@@ -23,28 +23,30 @@
 import org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData;
 import 
org.ovirt.engine.ui.uicommonweb.models.vms.ImportVmFromExportDomainModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.VmAppListModel;
-import org.ovirt.engine.ui.uicommonweb.models.vms.VmGeneralModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.VmImportDiskListModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.VmImportInterfaceListModel;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
+
+import com.google.inject.Inject;
 
 public class ImportTemplateModel extends ImportVmFromExportDomainModel {
 
     private final TemplateImportDiskListModel templateImportDiskListModel;
 
+    @Inject
     public ImportTemplateModel(final VmImportDiskListModel 
vmImportDiskListModel,
             final StorageDiskListModel storageDomain, final ClusterListModel 
cluster, final QuotaListModel clusterQuota,
-            final VmGeneralModel vmGeneralModel, final 
VmImportInterfaceListModel vmImportInterfaceListModel,
+            final TemplateGeneralModel templateGeneralModel, final 
VmImportInterfaceListModel vmImportInterfaceListModel,
             final VmAppListModel vmAppListModel, final 
TemplateImportDiskListModel templateImportDiskListModel,
             final TemplateImportInterfaceListModel 
templateImportInterfaceListModel) {
-        super(vmImportDiskListModel, storageDomain, cluster, clusterQuota, 
vmGeneralModel, vmImportInterfaceListModel,
+        super(vmImportDiskListModel, storageDomain, cluster, clusterQuota, 
null, vmImportInterfaceListModel,
                 vmAppListModel);
         this.templateImportDiskListModel = templateImportDiskListModel;
         disksToConvert = null;
-        setDetailList(vmGeneralModel, templateImportInterfaceListModel);
+        setDetailList(templateGeneralModel, templateImportInterfaceListModel);
     }
 
-    private void setDetailList(final VmGeneralModel vmGeneralModel,
+    private void setDetailList(final TemplateGeneralModel vmGeneralModel,
             final TemplateImportInterfaceListModel 
templateImportInterfaceListModel) {
         List<EntityModel> list = new ArrayList<EntityModel>();
         list.add(vmGeneralModel);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
index d25778e..23a15c7 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
@@ -10,6 +10,7 @@
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
 import org.ovirt.engine.ui.uicommonweb.help.HelpTag;
 import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
+import org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.EnumTranslator;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
@@ -25,6 +26,8 @@
         }
         if (super.getEntity() instanceof VmTemplate) {
             return (VmTemplate) super.getEntity();
+        } else if (super.getEntity() instanceof ImportTemplateData) {
+            return ((ImportTemplateData) super.getEntity()).getTemplate();
         } else {
             Map.Entry<VmTemplate, ArrayList<DiskImage>> pair =
                     (Map.Entry<VmTemplate, ArrayList<DiskImage>>) 
super.getEntity();


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

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

Reply via email to