Arik Hadas has uploaded a new change for review.

Change subject: webadmin: fix general & app list sub-tabs on import
......................................................................

webadmin: fix general & app list sub-tabs on import

We used to override 'setEntity' method in VmGeneralModel &
VmAppListModel classes when using them for VM which is going to be
imported, to set extract the VM from ImportVmData and use it as the
entity of the model.

Recently this part was dropped when switched to use DI in the
import-from-export-domain model, which results in class-cast exception.

This patch introduces two models, VmImportGeneralModel &
VmImportAppListModel, which inherit from VmGeneralModel &
VmAppListModel and override their 'setEntity' method as we did before,
and these models are used from the import-model instead.

Change-Id: I7235d5d6ddf953078e668b94b4d03bc136da5a77
Signed-off-by: Arik Hadas <[email protected]>
---
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/vms/ImportVmFromExportDomainModel.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportAppListModel.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportGeneralModel.java
4 files changed, 31 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/89/36789/1

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 1f26d50..eb01fe1 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
@@ -22,7 +22,7 @@
 import org.ovirt.engine.ui.uicommonweb.models.storage.StorageDiskListModel;
 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.VmImportAppListModel;
 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;
@@ -37,10 +37,10 @@
     public ImportTemplateModel(final VmImportDiskListModel 
vmImportDiskListModel,
             final StorageDiskListModel storageDomain, final ClusterListModel 
cluster, final QuotaListModel clusterQuota,
             final TemplateGeneralModel templateGeneralModel, final 
VmImportInterfaceListModel vmImportInterfaceListModel,
-            final VmAppListModel vmAppListModel, final 
TemplateImportDiskListModel templateImportDiskListModel,
+            final VmImportAppListModel vmImportAppListModel, final 
TemplateImportDiskListModel templateImportDiskListModel,
             final TemplateImportInterfaceListModel 
templateImportInterfaceListModel) {
         super(vmImportDiskListModel, storageDomain, cluster, clusterQuota, 
null, vmImportInterfaceListModel,
-                vmAppListModel);
+                vmImportAppListModel);
         this.templateImportDiskListModel = templateImportDiskListModel;
         disksToConvert = null;
         setDetailList(templateGeneralModel, templateImportInterfaceListModel);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java
index b318de3..3ca36c7 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java
@@ -177,24 +177,25 @@
     @Inject
     public ImportVmFromExportDomainModel(final VmImportDiskListModel 
vmImportDiskListModel,
             final StorageDiskListModel storageDomain, final ClusterListModel 
cluster, final QuotaListModel clusterQuota,
-            final VmGeneralModel vmGeneralModel, final 
VmImportInterfaceListModel vmImportInterfaceListModel,
-            final VmAppListModel vmAppListModel) {
+            final VmImportGeneralModel vmImportGeneralModel, final 
VmImportInterfaceListModel vmImportInterfaceListModel,
+            final VmImportAppListModel vmImportAppListModel) {
         importDiskListModel = vmImportDiskListModel;
         storageDiskListModel = storageDomain;
         this.cluster = cluster;
         this.clusterQuota = clusterQuota;
         setCpuProfiles(new ListModel<CpuProfile>());
-        setDetailList(vmGeneralModel, vmImportInterfaceListModel, 
vmAppListModel);
+        setDetailList(vmImportGeneralModel, vmImportInterfaceListModel, 
vmImportAppListModel);
     }
 
-    private void setDetailList(final VmGeneralModel vmGeneralModel,
-            final VmImportInterfaceListModel vmImportInterfaceListModel, final 
VmAppListModel vmAppListModel) {
+    private void setDetailList(final VmImportGeneralModel vmImportGeneralModel,
+            final VmImportInterfaceListModel vmImportInterfaceListModel,
+            final VmImportAppListModel vmImportAppListModel) {
         getClusterQuota().setIsAvailable(false);
         List<EntityModel> list = new ArrayList<EntityModel>();
-        list.add(vmGeneralModel);
+        list.add(vmImportGeneralModel);
         list.add(vmImportInterfaceListModel);
         list.add(importDiskListModel);
-        list.add(vmAppListModel);
+        list.add(vmImportAppListModel);
         setDetailModels(list);
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportAppListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportAppListModel.java
new file mode 100644
index 0000000..19720fc
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportAppListModel.java
@@ -0,0 +1,10 @@
+package org.ovirt.engine.ui.uicommonweb.models.vms;
+
+public class VmImportAppListModel extends VmAppListModel {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public void setEntity(Object value) {
+        super.setEntity(value == null ? null : ((ImportVmData) value).getVm());
+    }
+}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportGeneralModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportGeneralModel.java
new file mode 100644
index 0000000..7df19d1
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportGeneralModel.java
@@ -0,0 +1,10 @@
+package org.ovirt.engine.ui.uicommonweb.models.vms;
+
+public class VmImportGeneralModel extends VmGeneralModel {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public void setEntity(Object value) {
+        super.setEntity(value == null ? null : ((ImportVmData) value).getVm());
+    }
+}


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

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

Reply via email to