summaryrefslogtreecommitdiffstats
path: root/dozentenmodul
diff options
context:
space:
mode:
authorSimon Rettberg2018-09-17 13:59:54 +0200
committerSimon Rettberg2018-09-17 13:59:54 +0200
commit7650e37d3e3ea74af1ec88a908326ac92bae5f0b (patch)
treee96c4804b10bdea7adb24d3abf0989363711aa5f /dozentenmodul
parent[client] enable save button when changing linked VM of a lecture (diff)
downloadtutor-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.java34
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!");