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
