diff options
author | Victor Mocanu | 2017-09-21 13:52:21 +0200 |
---|---|---|
committer | Victor Mocanu | 2017-09-21 13:52:21 +0200 |
commit | 10043a2618938bb9a949204b44cfdbac71cdaa99 (patch) | |
tree | 920b095b89db1fd37515904ae832be6bea7ead3e /src/main/java/org/openslx/util/vm/VmMetaData.java | |
parent | [VBox] removed empty lines, the FilteredDefinitionArray looks good now (diff) | |
download | master-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.java | 32 |
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 ); } |