diff options
author | Simon Rettberg | 2018-09-17 13:59:54 +0200 |
---|---|---|
committer | Simon Rettberg | 2018-09-17 13:59:54 +0200 |
commit | 7650e37d3e3ea74af1ec88a908326ac92bae5f0b (patch) | |
tree | e96c4804b10bdea7adb24d3abf0989363711aa5f /dozentenmodul | |
parent | [client] enable save button when changing linked VM of a lecture (diff) | |
download | tutor-module-7650e37d3e3ea74af1ec88a908326ac92bae5f0b.tar.gz tutor-module-7650e37d3e3ea74af1ec88a908326ac92bae5f0b.tar.xz tutor-module-7650e37d3e3ea74af1ec88a908326ac92bae5f0b.zip |
[client] Simplify detected vm type handling
Diffstat (limited to 'dozentenmodul')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java index 2a798f27..16ca257e 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java @@ -33,7 +33,7 @@ import org.openslx.sat.thrift.version.Feature; import org.openslx.thrifthelper.TConst; import org.openslx.util.vm.DiskImage; import org.openslx.util.vm.DiskImage.UnknownImageFormatException; -import org.openslx.util.vm.VboxMetaData; +import org.openslx.util.vm.UnsupportedVirtualizerFormatException; import org.openslx.util.vm.VmMetaData; import org.openslx.util.vm.VmMetaData.HardDisk; import org.openslx.util.vm.VmwareMetaData; @@ -136,20 +136,19 @@ public class ImageUploadPage extends ImageUploadPageLayout { return; } - String fileformat = "Konfigurations"; - if (state.meta instanceof VmwareMetaData) { - fileformat = "vmx"; - } else { - // bail if multiple hypervisors are not supported - if (!Session.hasFeature(Feature.MULTIPLE_HYPERVISORS)) { - setErrorMessage("Der Hypervisor der gewählten VM (" + state.meta.getVirtualizer().virtName - + ") wird nicht unterstützt."); - setPageComplete(false); - return; - } - if (state.meta instanceof VboxMetaData) { - fileformat = "vbox"; - } + if (state.meta == null || state.meta.getDisplayName() == null) { + setErrorMessage("Ungültige Konfigurationsdatei ausgewählt!"); + setPageComplete(false); + return; + } + + final String fileformat = state.meta.getVirtualizer().virtName; + // bail if multiple hypervisors are not supported + if (!(state.meta instanceof VmwareMetaData) && !Session.hasFeature(Feature.MULTIPLE_HYPERVISORS)) { + setErrorMessage("Der Hypervisor der gewählten VM (" + fileformat + + ") wird vom aktuellen Satellitenserver nicht unterstützt."); + setPageComplete(false); + return; } // check if the user somehow changed the type of the VM if (existingImage != null && !existingImage.virtId.equals(state.meta.getVirtualizer().virtId)) { @@ -162,11 +161,6 @@ public class ImageUploadPage extends ImageUploadPageLayout { return; } - if (state.meta == null || state.meta.getDisplayName() == null) { - setErrorMessage("Ungültige " + fileformat + "-Datei ausgewählt!"); - setPageComplete(false); - return; - } List<HardDisk> hdds = state.meta.getHdds(); if (hdds.size() == 0 || hdds.get(0).diskImage == null) { setErrorMessage("Die gewählte " + fileformat + "-Datei enthält keine virtuelle Festplatte!"); |