Arik Hadas has uploaded a new change for review. Change subject: webadmin: initialize import parameters in one place ......................................................................
webadmin: initialize import parameters in one place The initialization of the parameters for import-vm was duplicated in both VmBackupModel and VmListModel. Instead, they are now initialized only in one place which is in ImportVmFromExportDomainModel. Change-Id: I8725ffb9eb58b1c081de593808802a7363d7db73 Signed-off-by: Arik Hadas <[email protected]> --- 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/vms/ImportVmFromExportDomainModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java 3 files changed, 77 insertions(+), 122 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/57/40057/1 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 b434a65..1bad4e0 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 @@ -9,22 +9,16 @@ import java.util.Map; import java.util.Set; -import org.ovirt.engine.core.common.action.ImportVmParameters; import org.ovirt.engine.core.common.action.RemoveVmFromImportExportParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.businessentities.ArchitectureType; import org.ovirt.engine.core.common.businessentities.IVdcQueryable; -import org.ovirt.engine.core.common.businessentities.Quota; import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus; import org.ovirt.engine.core.common.businessentities.StorageDomainType; import org.ovirt.engine.core.common.businessentities.StoragePool; -import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.VM; -import org.ovirt.engine.core.common.businessentities.profiles.CpuProfile; -import org.ovirt.engine.core.common.businessentities.storage.Disk; -import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.core.common.queries.GetAllFromExportDomainQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; import org.ovirt.engine.core.common.queries.VdcQueryType; @@ -418,64 +412,7 @@ } protected void executeImport() { - ArrayList<VdcActionParametersBase> prms = new ArrayList<VdcActionParametersBase>(); - - for (Object item : importModel.getItems()) { - VM vm = ((ImportVmData) item).getVm(); - - ImportVmParameters prm = new ImportVmParameters(vm, getEntity().getId(), - Guid.Empty, importModel.getStoragePool().getId(), - ((VDSGroup) importModel.getCluster().getSelectedItem()).getId()); - - if (importModel.getClusterQuota().getSelectedItem() != null && - importModel.getClusterQuota().getIsAvailable()) { - prm.setQuotaId(((Quota) importModel.getClusterQuota().getSelectedItem()).getId()); - } - - CpuProfile cpuProfile = importModel.getCpuProfiles().getSelectedItem(); - if (cpuProfile != null) { - prm.setCpuProfileId(cpuProfile.getId()); - } - - prm.setForceOverride(true); - prm.setCopyCollapse(((ImportVmData) item).getCollapseSnapshots().getEntity()); - - Map<Guid, Guid> map = new HashMap<Guid, Guid>(); - for (Map.Entry<Guid, Disk> entry : vm.getDiskMap().entrySet()) { - DiskImage disk = (DiskImage) entry.getValue(); - map.put(disk.getId(), importModel.getDiskImportData(disk.getId()).getSelectedStorageDomain().getId()); - disk.setvolumeFormat( - AsyncDataProvider.getInstance().getDiskVolumeFormat( - importModel.getDiskImportData(disk.getId()).getSelectedVolumeType(), - importModel.getDiskImportData( - disk.getId()).getSelectedStorageDomain().getStorageType())); - disk.setVolumeType(importModel.getDiskImportData(disk.getId()).getSelectedVolumeType()); - - if (importModel.getDiskImportData(disk.getId()).getSelectedQuota() != null) { - disk.setQuotaId( - importModel.getDiskImportData(disk.getId()).getSelectedQuota().getId()); - } - } - - prm.setImageToDestinationDomainMap(map); - - if (((ImportVmData) item).isExistsInSystem() || - ((ImportVmData) item).getClone().getEntity()) { - if (!cloneObjectMap.containsKey(vm.getId())) { - continue; - } - prm.setImportAsNewEntity(true); - prm.setCopyCollapse(true); - prm.getVm().setName(((ImportVmData) cloneObjectMap.get(vm.getId())).getVm().getName()); - } - - prms.add(prm); - - } - - importModel.startProgress(null); - - Frontend.getInstance().runMultipleAction(VdcActionType.ImportVm, prms, + importModel.importVms( new IFrontendMultipleActionAsyncCallback() { @Override public void executed( @@ -527,7 +464,9 @@ } }, - this); + cloneObjectMap); + + setWindow(null); } @Override 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 6d73f65..938363e 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 @@ -9,6 +9,9 @@ import java.util.Map.Entry; import java.util.Set; +import org.ovirt.engine.core.common.action.ImportVmParameters; +import org.ovirt.engine.core.common.action.VdcActionParametersBase; +import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.ArchitectureType; import org.ovirt.engine.core.common.businessentities.Quota; import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum; @@ -51,6 +54,7 @@ import org.ovirt.engine.ui.uicompat.EventArgs; import org.ovirt.engine.ui.uicompat.FrontendMultipleQueryAsyncResult; import org.ovirt.engine.ui.uicompat.IEventListener; +import org.ovirt.engine.ui.uicompat.IFrontendMultipleActionAsyncCallback; import org.ovirt.engine.ui.uicompat.IFrontendMultipleQueryAsyncCallback; import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs; @@ -673,4 +677,67 @@ getCommands().add(getCloseCommand()); stopProgress(); } + + public void importVms(IFrontendMultipleActionAsyncCallback callback, + Map<Guid, Object> cloneObjectMap) { + Frontend.getInstance().runMultipleAction( + VdcActionType.ImportVm, + buildImportVmParameters(cloneObjectMap), + callback, + this); + } + + private List<VdcActionParametersBase> buildImportVmParameters(Map<Guid, Object> cloneObjectMap) { + ArrayList<VdcActionParametersBase> prms = new ArrayList<>(); + + for (Object item : getItems()) { + VM vm = ((ImportVmData) item).getVm(); + + ImportVmParameters prm = new ImportVmParameters(vm, (Guid) getEntity(), + Guid.Empty, getStoragePool().getId(), + getCluster().getSelectedItem().getId()); + + if (getClusterQuota().getSelectedItem() != null && + getClusterQuota().getIsAvailable()) { + prm.setQuotaId(getClusterQuota().getSelectedItem().getId()); + } + + prm.setForceOverride(true); + prm.setCopyCollapse(((ImportVmData) item).getCollapseSnapshots().getEntity()); + + Map<Guid, Guid> map = new HashMap<>(); + for (Map.Entry<Guid, Disk> entry : vm.getDiskMap().entrySet()) { + DiskImage disk = (DiskImage) entry.getValue(); + map.put(disk.getId(), getDiskImportData(disk.getId()).getSelectedStorageDomain().getId()); + disk.setvolumeFormat( + AsyncDataProvider.getInstance().getDiskVolumeFormat( + getDiskImportData(disk.getId()).getSelectedVolumeType(), + getDiskImportData( + disk.getId()).getSelectedStorageDomain().getStorageType())); + disk.setVolumeType(getDiskImportData(disk.getId()).getSelectedVolumeType()); + + if (getDiskImportData(disk.getId()).getSelectedQuota() != null) { + disk.setQuotaId( + getDiskImportData(disk.getId()).getSelectedQuota().getId()); + } + } + + prm.setImageToDestinationDomainMap(map); + + if (((ImportVmData) item).isExistsInSystem() || + ((ImportVmData) item).getClone().getEntity()) { + if (!cloneObjectMap.containsKey(vm.getId())) { + continue; + } + prm.setImportAsNewEntity(true); + prm.setCopyCollapse(true); + prm.getVm().setName(((ImportVmData) cloneObjectMap.get(vm.getId())).getVm().getName()); + } + + prms.add(prm); + + } + + return prms; + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java index 16c450c..e7f9d42 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java @@ -15,7 +15,6 @@ import org.ovirt.engine.core.common.action.AttachEntityToTagParameters; import org.ovirt.engine.core.common.action.ChangeDiskCommandParameters; import org.ovirt.engine.core.common.action.ChangeVMClusterParameters; -import org.ovirt.engine.core.common.action.ImportVmParameters; import org.ovirt.engine.core.common.action.MigrateVmParameters; import org.ovirt.engine.core.common.action.MigrateVmToServerParameters; import org.ovirt.engine.core.common.action.MoveVmParameters; @@ -40,8 +39,8 @@ import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.VmType; import org.ovirt.engine.core.common.businessentities.storage.Disk; -import org.ovirt.engine.core.common.businessentities.storage.DiskStorageType; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; +import org.ovirt.engine.core.common.businessentities.storage.DiskStorageType; import org.ovirt.engine.core.common.interfaces.SearchType; import org.ovirt.engine.core.common.mode.ApplicationMode; import org.ovirt.engine.core.common.queries.IdQueryParameters; @@ -2546,60 +2545,8 @@ assignedVmNames.clear(); } - protected void executeImport(ImportVmFromExportDomainModel importModel) { - ArrayList<VdcActionParametersBase> prms = new ArrayList<>(); - - for (Object item : importModel.getItems()) { - VM vm = ((ImportVmData) item).getVm(); - - ImportVmParameters prm = new ImportVmParameters(vm, (Guid) importModel.getEntity(), - Guid.Empty, importModel.getStoragePool().getId(), - importModel.getCluster().getSelectedItem().getId()); - - if (importModel.getClusterQuota().getSelectedItem() != null && - importModel.getClusterQuota().getIsAvailable()) { - prm.setQuotaId(importModel.getClusterQuota().getSelectedItem().getId()); - } - - prm.setForceOverride(true); - prm.setCopyCollapse(((ImportVmData) item).getCollapseSnapshots().getEntity()); - - Map<Guid, Guid> map = new HashMap<>(); - for (Map.Entry<Guid, Disk> entry : vm.getDiskMap().entrySet()) { - DiskImage disk = (DiskImage) entry.getValue(); - map.put(disk.getId(), importModel.getDiskImportData(disk.getId()).getSelectedStorageDomain().getId()); - disk.setvolumeFormat( - AsyncDataProvider.getInstance().getDiskVolumeFormat( - importModel.getDiskImportData(disk.getId()).getSelectedVolumeType(), - importModel.getDiskImportData( - disk.getId()).getSelectedStorageDomain().getStorageType())); - disk.setVolumeType(importModel.getDiskImportData(disk.getId()).getSelectedVolumeType()); - - if (importModel.getDiskImportData(disk.getId()).getSelectedQuota() != null) { - disk.setQuotaId( - importModel.getDiskImportData(disk.getId()).getSelectedQuota().getId()); - } - } - - prm.setImageToDestinationDomainMap(map); - - if (((ImportVmData) item).isExistsInSystem() || - ((ImportVmData) item).getClone().getEntity()) { - if (!cloneObjectMap.containsKey(vm.getId())) { - continue; - } - prm.setImportAsNewEntity(true); - prm.setCopyCollapse(true); - prm.getVm().setName(((ImportVmData) cloneObjectMap.get(vm.getId())).getVm().getName()); - } - - prms.add(prm); - - } - - importModel.startProgress(null); - - Frontend.getInstance().runMultipleAction(VdcActionType.ImportVm, prms, + protected void executeImport(ImportVmFromExportDomainModel importVmModel) { + importVmModel.importVms( new IFrontendMultipleActionAsyncCallback() { @Override public void executed( @@ -2651,7 +2598,9 @@ } }, - this); + cloneObjectMap); + + setWindow(null); } private void onImportVmAsClone(ImportVmFromExportDomainModel importModel) { -- To view, visit https://gerrit.ovirt.org/40057 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8725ffb9eb58b1c081de593808802a7363d7db73 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
