Libor Spevak has uploaded a new change for review. Change subject: webadmin: Show warning, if VM provides no disk for export, snapshot, template ......................................................................
webadmin: Show warning, if VM provides no disk for export, snapshot, template New check similar to the warning when non-exportable disks are detected added. Change-Id: I339da4bcab18799603caeafb0171fdcea262ec29 Bug-Url: https://bugzilla.redhat.com/855625 Signed-off-by: Libor Spevak <lspe...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/SnapshotModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Messages.java 4 files changed, 32 insertions(+), 15 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/86/12286/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java index a0cdcc3..4c307cf 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.Iterator; import java.util.List; import org.ovirt.engine.core.common.businessentities.ActionGroup; @@ -12,13 +11,13 @@ import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.DisplayType; import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum; +import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StorageDomainStatus; import org.ovirt.engine.core.common.businessentities.StorageDomainType; import org.ovirt.engine.core.common.businessentities.StorageType; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VolumeType; -import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.storage_pool; import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.ui.frontend.AsyncQuery; @@ -108,25 +107,26 @@ public void OnSuccess(Object target, Object returnValue) { NewTemplateVmModelBehavior behavior = (NewTemplateVmModelBehavior) target; - ArrayList<Disk> disks = new ArrayList<Disk>(); + ArrayList<Disk> imageDisks = new ArrayList<Disk>(); List<Disk> nonExportableDisks = new ArrayList<Disk>(); - Iterable disksEnumerable = (Iterable) returnValue; - Iterator disksIterator = disksEnumerable.iterator(); + ArrayList<Disk> vmDisks = (ArrayList<Disk>) returnValue; - while (disksIterator.hasNext()) - { - Disk disk = (Disk) disksIterator.next(); - + for (Disk disk : vmDisks) { if (disk.getDiskStorageType() == DiskStorageType.IMAGE && !disk.isShareable()) { - disks.add(disk); + imageDisks.add(disk); } else if (!disk.isAllowSnapshot()) { nonExportableDisks.add(disk); } } behavior.InitStorageDomains(); - InitDisks(disks); + InitDisks(imageDisks); sendWarningForNonExportableDisks(nonExportableDisks); + + // check if VM provides any disk + if (vmDisks.size() - nonExportableDisks.size() == 0) { + getModel().setMessage(ConstantsManager.getInstance().getMessages().noDiskWillBePartOfTheExportedTemplate()); + } } }, getModel().getHash()), vm.getId(), diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/SnapshotModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/SnapshotModel.java index f510357..2f2441f 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/SnapshotModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/SnapshotModel.java @@ -138,6 +138,7 @@ this.cancelCommand = cancelCommand; } + @Override public UICommand getCancelCommand() { return cancelCommand; } @@ -248,7 +249,7 @@ } // send warning message, if a disk which doesn't allow snapshot is detected (e.g. LUN) - private boolean showWarningForNonExportableDisks(ArrayList<Disk> disks) { + private void showWarningForNonExportableDisks(ArrayList<Disk> disks) { // filter non-exportable disks final List<String> list = new ArrayList<String>(); for (Disk disk : disks) { @@ -261,10 +262,12 @@ final String s = StringUtils.join(list, ", "); //$NON-NLS-1$ // append warning message setMessage(ConstantsManager.getInstance().getMessages().disksWillNotBePartOfTheExportedVMSnapshot(s)); - return true; } - return false; + // check if VM provides any disk + if (disks.size() - list.size() == 0) { + setMessage(ConstantsManager.getInstance().getMessages().noDiskWillBePartOfTheExportedSnapshot()); + } } private boolean showWarningForByVmSnapshotsValidation(ArrayList<Snapshot> snapshots) { 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 2205dfd..77439f7 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 @@ -36,6 +36,7 @@ import org.ovirt.engine.core.common.businessentities.DisplayType; import org.ovirt.engine.core.common.businessentities.MigrationSupport; import org.ovirt.engine.core.common.businessentities.Quota; +import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.UsbPolicy; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSGroup; @@ -45,7 +46,6 @@ import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.VmType; import org.ovirt.engine.core.common.businessentities.VolumeType; -import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.storage_pool; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.interfaces.SearchType; @@ -1374,6 +1374,11 @@ // append warning message model.setMessage(ConstantsManager.getInstance().getMessages().disksWillNotBePartOfTheExportedVM(s)); } + + // check if VM provides any disk + if (diskList.size() - list.size() == 0) { + model.setMessage(ConstantsManager.getInstance().getMessages().noDiskWillBePartOfTheExportedVM()); + } } }), entity.getId()); } diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Messages.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Messages.java index 11bc1c5..5167d8c 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Messages.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Messages.java @@ -102,6 +102,15 @@ @DefaultMessage("Shared disk(s): {0} will not be part of the exported snapshot.") String disksWillNotBePartOfTheExportedVMSnapshot(String diskList); + @DefaultMessage("No disk will be part of the exported virtual machine.") + String noDiskWillBePartOfTheExportedVM(); + + @DefaultMessage("No disk will be part of the exported template.") + String noDiskWillBePartOfTheExportedTemplate(); + + @DefaultMessage("No disk will be part of the exported snapshot.") + String noDiskWillBePartOfTheExportedSnapshot(); + @DefaultMessage("Error connecting to Virtual Machine using Spice:\n{0}") String errConnectingVmUsingSpiceMsg(Object errCode); -- To view, visit http://gerrit.ovirt.org/12286 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I339da4bcab18799603caeafb0171fdcea262ec29 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Libor Spevak <lspe...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches