Arik Hadas has uploaded a new change for review. Change subject: core: use generics in import models ......................................................................
core: use generics in import models VmBackupModel works with VM and TemplateBackupModel works with VmTemplate as generic entities. It is also used to reduce castings in ImportTemplateModel and ImportVmFromExportDomainModel. Change-Id: I3267d582c3f7067e15550c5b1e3f48e346248a9d Signed-off-by: Arik Hadas <aha...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ManageBackupModel.java 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/vms/ImportVmFromExportDomainModel.java 5 files changed, 15 insertions(+), 30 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/48/40448/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ManageBackupModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ManageBackupModel.java index 1ccc305..1e226cd 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ManageBackupModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ManageBackupModel.java @@ -1,6 +1,7 @@ package org.ovirt.engine.ui.uicommonweb.models.storage; import org.ovirt.engine.core.common.businessentities.ArchitectureType; +import org.ovirt.engine.core.common.businessentities.BusinessEntity; import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus; import org.ovirt.engine.ui.uicommonweb.UICommand; @@ -10,7 +11,7 @@ import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs; -public abstract class ManageBackupModel extends SearchableListModel<StorageDomain, Object> +public abstract class ManageBackupModel<T extends BusinessEntity<?>> extends SearchableListModel<StorageDomain, T> { private UICommand restoreCommand; 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 5b2ef86..eaf73ec 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 @@ -59,7 +59,7 @@ import com.google.inject.Inject; import com.google.inject.Provider; -public class TemplateBackupModel extends ManageBackupModel { +public class TemplateBackupModel extends ManageBackupModel<VmTemplate> { private ArrayList<Map.Entry<VmTemplate, List<DiskImage>>> extendedItems; private StoragePool pool; protected ImportTemplateModel importModel; @@ -96,9 +96,7 @@ model.setHelpTag(HelpTag.remove_backed_up_template); model.setHashName("remove_backed_up_template"); //$NON-NLS-1$ ArrayList<String> items = new ArrayList<String>(); - for (Object a : getSelectedItems()) - { - VmTemplate template = (VmTemplate) a; + for (VmTemplate template : getSelectedItems()) { items.add(template.getName()); } model.setItems(items); @@ -139,9 +137,8 @@ return; } List<VM> vmsInExportDomain = retVal.getReturnValue(); - List<VmTemplate> templates = Linq.<VmTemplate> cast(getSelectedItems()); HashMap<String, List<String>> problematicVmNames = - getDependentVMsForTemplates(vmsInExportDomain, templates); + getDependentVMsForTemplates(vmsInExportDomain, getSelectedItems()); if (!problematicVmNames.isEmpty()) { showRemoveTemplateWithDependentVMConfirmationWindow(problematicVmNames); } else { @@ -197,8 +194,7 @@ private void removeTemplateBackup() { ArrayList<VdcActionParametersBase> prms = new ArrayList<VdcActionParametersBase>(); - for (Object selectedItem : getSelectedItems()) { - VmTemplate template = (VmTemplate) selectedItem; + for (VmTemplate template : getSelectedItems()) { prms.add(new VmTemplateImportExportParameters(template.getId(), getEntity().getId(), pool.getId())); @@ -376,7 +372,7 @@ if (getEntity() == null || getEntity().getStorageDomainType() != StorageDomainType.ImportExport || getEntity().getStorageDomainSharedStatus() != StorageDomainSharedStatus.Active) { - setItems(Collections.emptyList()); + setItems(Collections.<VmTemplate>emptyList()); } else { 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 eb6ce81..811cea8 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 @@ -51,7 +51,7 @@ import com.google.inject.Inject; import com.google.inject.Provider; -public class VmBackupModel extends ManageBackupModel { +public class VmBackupModel extends ManageBackupModel<VM> { private VmAppListModel privateAppListModel; protected List<Object> objectsToClone; @@ -107,8 +107,7 @@ model.setHashName("remove_backed_up_vm"); //$NON-NLS-1$ ArrayList<String> items = new ArrayList<String>(); - for (Object item : getSelectedItems()) { - VM vm = (VM) item; + for (VM vm : getSelectedItems()) { items.add(vm.getName()); } model.setItems(items); @@ -140,8 +139,7 @@ VmBackupModel backupModel = (VmBackupModel) model; ArrayList<VdcActionParametersBase> list = new ArrayList<VdcActionParametersBase>(); - for (Object item : backupModel.getSelectedItems()) { - VM vm = (VM) item; + for (VM vm : backupModel.getSelectedItems()) { list.add(new RemoveVmFromImportExportParameters(vm.getId(), backupModel.getEntity().getId(), pool.getId())); } @@ -387,8 +385,7 @@ StringBuilder importedVms = new StringBuilder(); int counter = 0; boolean toShowConfirmWindow = false; - for (Object item : getSelectedItems()) { - VM vm = (VM) item; + for (VM vm : getSelectedItems()) { if (retVals.get(counter) != null && retVals.get(counter).getCanDoAction()) { importedVms.append(vm.getName()).append(", "); //$NON-NLS-1$ @@ -439,7 +436,7 @@ if (getEntity() == null || getEntity().getStorageDomainType() != StorageDomainType.ImportExport || getEntity().getStorageDomainSharedStatus() != StorageDomainSharedStatus.Active) { - setItems(Collections.emptyList()); + setItems(Collections.<VM>emptyList()); } else { AsyncQuery _asyncQuery = new AsyncQuery(); _asyncQuery.setModel(this); 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 c36ce38..f329a4a 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 @@ -4,6 +4,7 @@ import java.util.Collection; import java.util.List; +import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.storage.Disk; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; @@ -70,11 +71,7 @@ return searchPattern.substring(0, searchPattern.length() - orKey.length()); } - @Override - public void setItems(final Collection<?> value, final Guid storageDomainId) - { - @SuppressWarnings({ "unchecked", "rawtypes" }) - final List<VmTemplate> externalTemplates = (List<VmTemplate>) new ArrayList(value); + public void init(final Collection<VmTemplate> externalTemplates, final Guid storageDomainId) { Frontend.getInstance().runQuery(VdcQueryType.Search, new SearchParameters(createSearchPattern(externalTemplates), SearchType.VmTemplate), new AsyncQuery(this, new INewAsyncCallback() { 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 5648a8e..75c29ed 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 @@ -198,10 +198,6 @@ setDetailModels(list); } - public void init(List<?> value, final Guid storageDomainId) { - setItems(value, storageDomainId); - } - protected void doInit(final Guid storageDomainId) { // get Storage pool AsyncDataProvider.getInstance().getDataCentersByStorageDomain(new AsyncQuery(this, new INewAsyncCallback() { @@ -634,9 +630,7 @@ return searchPattern.substring(0, searchPattern.length() - orKey.length()); } - public void setItems(final Collection<?> value, final Guid storageDomainId) { - @SuppressWarnings({ "unchecked", "rawtypes" }) - final List<VM> externalVms = (List<VM>) new ArrayList(value); + public void init(final List<VM> externalVms, final Guid storageDomainId) { Frontend.getInstance().runQuery(VdcQueryType.Search, new SearchParameters(createSearchPattern(externalVms), SearchType.VM), new AsyncQuery(this, new INewAsyncCallback() { -- To view, visit https://gerrit.ovirt.org/40448 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3267d582c3f7067e15550c5b1e3f48e346248a9d Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <aha...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches