summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/util/vm/VmMetaData.java
diff options
context:
space:
mode:
authorVictor Mocanu2017-09-21 13:52:21 +0200
committerVictor Mocanu2017-09-21 13:52:21 +0200
commit10043a2618938bb9a949204b44cfdbac71cdaa99 (patch)
tree920b095b89db1fd37515904ae832be6bea7ead3e /src/main/java/org/openslx/util/vm/VmMetaData.java
parent[VBox] removed empty lines, the FilteredDefinitionArray looks good now (diff)
downloadmaster-sync-shared-10043a2618938bb9a949204b44cfdbac71cdaa99.tar.gz
master-sync-shared-10043a2618938bb9a949204b44cfdbac71cdaa99.tar.xz
master-sync-shared-10043a2618938bb9a949204b44cfdbac71cdaa99.zip
[VBox] changes to the VmWrapper class, it asks now for an VmMetaData child, is not hard coded
on VmxMetaData anymore
Diffstat (limited to 'src/main/java/org/openslx/util/vm/VmMetaData.java')
-rw-r--r--src/main/java/org/openslx/util/vm/VmMetaData.java32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/main/java/org/openslx/util/vm/VmMetaData.java b/src/main/java/org/openslx/util/vm/VmMetaData.java
index ed80e8e..7e67fe6 100644
--- a/src/main/java/org/openslx/util/vm/VmMetaData.java
+++ b/src/main/java/org/openslx/util/vm/VmMetaData.java
@@ -174,10 +174,38 @@ public abstract class VmMetaData
}
// meta object needed when reading from configarray
- public static VmMetaData getInstance(List<OperatingSystem> osList, byte[] vmContent, int length) {
+ public static VmMetaData getInstance(List<OperatingSystem> osList, byte[] vmContent, int length) throws IOException {
- VmMetaData metaData = null;
+ VmMetaData meta = null;
+ try {
+ meta = new VmwareMetaData( osList, vmContent, length );
+ } catch (UnsupportedVirtualizerFormatException e) {
+ LOGGER.debug( "machine Description entspricht nicht vmx format; versuche mit VBox" );
+ try {
+ meta = new VboxMetaData( osList, vmContent, length );
+ } catch (UnsupportedVirtualizerFormatException ex) {
+ LOGGER.debug( "machine Description entspricht nicht vbox format ); unterbrochen!", ex);
+ }
+ if (meta != null) {
+ return meta;
+ }
+ return null;
+ }
return null;
}
+
+ public abstract boolean addHddTemplate( String diskImagePath, String hddMode, String redoDir );
+
+ public abstract boolean addDefaultNat();
+
+ public abstract void setOs( String vendorOsId );
+
+ public abstract boolean addDisplayName( String name );
+
+ public abstract boolean addRam( int mem );
+
+ public abstract void addFloppy( int index, String image, boolean readOnly );
+
+ public abstract boolean addCdrom( String image );
}