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
