summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/util/VmWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/util/VmWrapper.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/util/VmWrapper.java30
1 files changed, 21 insertions, 9 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/VmWrapper.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/VmWrapper.java
index 3f3b9fac..d36384bc 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/VmWrapper.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/VmWrapper.java
@@ -24,12 +24,14 @@ import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.thrift.cache.MetaDataCache;
import org.openslx.thrifthelper.TConst;
-import org.openslx.util.vm.DiskImage;
-import org.openslx.util.vm.QemuMetaData;
-import org.openslx.util.vm.VboxMetaData;
-import org.openslx.util.vm.VmMetaData;
-import org.openslx.util.vm.VmMetaData.UsbSpeed;
-import org.openslx.util.vm.VmwareMetaData;
+import org.openslx.vm.QemuMetaData;
+import org.openslx.vm.VboxMetaData;
+import org.openslx.vm.VmMetaData;
+import org.openslx.vm.VmwareMetaData;
+import org.openslx.vm.VmMetaData.UsbSpeed;
+import org.openslx.vm.disk.DiskImage;
+import org.openslx.vm.disk.DiskImageException;
+import org.openslx.vm.disk.DiskImageVmdk;
public class VmWrapper {
@@ -45,7 +47,17 @@ public class VmWrapper {
if (!TConst.VIRT_VMWARE.equals(virtualizerId)) {
throw new MetaDataMissingException();
}
- machineDescription = getFallbackVmx(diskImageInfo);
+
+ if (diskImageInfo instanceof DiskImageVmdk) {
+ final DiskImageVmdk vmdkImageInfo = DiskImageVmdk.class.cast( diskImageInfo );
+ try {
+ machineDescription = VmWrapper.getFallbackVmx(vmdkImageInfo);
+ } catch (DiskImageException e) {
+ throw new MetaDataMissingException();
+ }
+ } else {
+ throw new MetaDataMissingException();
+ }
}
// Handle machine description to generate configuration file
VmMetaData<?, ?, ?, ?, ?> vmMeta = VmMetaData.getInstance(MetaDataCache.getOperatingSystems(),
@@ -126,9 +138,9 @@ public class VmWrapper {
FileUtils.writeByteArrayToFile(vmFile, vmMeta.getFilteredDefinitionArray());
}
- private static byte[] getFallbackVmx(DiskImage diskImageInfo) throws IOException {
+ private static byte[] getFallbackVmx(DiskImageVmdk diskImageInfo) throws IOException, DiskImageException {
String vmx = ResourceLoader.getTextFile("/txt/vmx_template");
- return vmx.replace("%VM_HW_VERSION%", Integer.toString(diskImageInfo.hwVersion)).getBytes(
+ return vmx.replace("%VM_HW_VERSION%", Integer.toString(diskImageInfo.getHwVersion())).getBytes(
StandardCharsets.UTF_8);
}