summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java20
1 files changed, 14 insertions, 6 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 4bb47d36..35704f21 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
@@ -36,6 +36,9 @@ import org.openslx.dozmod.thrift.cache.MetaDataCache;
import org.openslx.sat.thrift.version.Feature;
import org.openslx.thrifthelper.TConst;
import org.openslx.virtualization.configuration.VirtualizationConfigurationVmware;
+import org.openslx.virtualization.configuration.data.ConfigurationDataDozModClientToDozModServer;
+import org.openslx.virtualization.configuration.logic.ConfigurationLogicDozModClientToDozModServer;
+import org.openslx.virtualization.configuration.transformation.TransformationException;
import org.openslx.virtualization.configuration.VirtualizationConfiguration;
import org.openslx.virtualization.configuration.VirtualizationConfiguration.HardDisk;
import org.openslx.vm.disk.DiskImage;
@@ -203,6 +206,7 @@ public class ImageUploadPage extends ImageUploadPageLayout {
askForConversion(file);
return;
}
+
try {
// gets the metadata object of the selected VM depending on its type
state.virtualizationConfig = VirtualizationConfiguration.getInstance(MetaDataCache.getOperatingSystems(), file);
@@ -214,22 +218,26 @@ public class ImageUploadPage extends ImageUploadPageLayout {
return;
}
- if (state.virtualizationConfig == null || state.virtualizationConfig.getDisplayName() == null) {
+ final ConfigurationLogicDozModClientToDozModServer uploadLogic = new ConfigurationLogicDozModClientToDozModServer();
+ try {
+ // transforms (filters) the virtualization configuration
+ uploadLogic.apply( state.virtualizationConfig, new ConfigurationDataDozModClientToDozModServer() );
+ } catch (TransformationException e) {
setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.invalidConfigFile"));
setPageComplete(false);
return;
}
- final String fileformat = state.virtualizationConfig.getVirtualizer().virtName;
+ final String virtualizerName = state.virtualizationConfig.getVirtualizer().getName();
// bail if multiple hypervisors are not supported
if (!(state.virtualizationConfig instanceof VirtualizationConfigurationVmware) && !Session.hasFeature(Feature.MULTIPLE_HYPERVISORS)) {
setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.hypervisorNotSupported",
- fileformat));
+ virtualizerName));
setPageComplete(false);
return;
}
// check if the user somehow changed the type of the VM
- if (existingImage != null && !existingImage.virtId.equals(state.virtualizationConfig.getVirtualizer().virtId)) {
+ if (existingImage != null && !existingImage.virtId.equals(state.virtualizationConfig.getVirtualizer().getId())) {
Virtualizer existingImageVirtualizer = MetaDataCache.getVirtualizerById(existingImage.virtId);
String existingImageVirtualizerName = "<error>";
if (existingImageVirtualizer != null)
@@ -242,13 +250,13 @@ public class ImageUploadPage extends ImageUploadPageLayout {
List<HardDisk> hdds = state.virtualizationConfig.getHdds();
if (hdds.size() == 0 || hdds.get(0).diskImage == null) {
- setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.noHDD", fileformat));
+ setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.noHDD", virtualizerName));
setPageComplete(false);
return;
}
if (hdds.size() > 1) {
setErrorMessage(
- I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.moreThanOneHDD", fileformat));
+ I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.moreThanOneHDD", virtualizerName));
setPageComplete(false);
return;
// Allow to continue!?