From a2e0a1c256c7f2b5e1b76289ab179dd67e889653 Mon Sep 17 00:00:00 2001 From: Victor Mocanu Date: Thu, 23 Nov 2017 13:29:46 +0100 Subject: [VBox] turned the swithcases to for loops; improved exception handling and error messages --- src/main/java/org/openslx/util/vm/VboxConfig.java | 2 - .../java/org/openslx/util/vm/VboxMetaData.java | 101 +++++++-------------- src/main/java/org/openslx/util/vm/VmMetaData.java | 22 +++-- .../java/org/openslx/util/vm/VmwareMetaData.java | 16 ++-- 4 files changed, 53 insertions(+), 88 deletions(-) diff --git a/src/main/java/org/openslx/util/vm/VboxConfig.java b/src/main/java/org/openslx/util/vm/VboxConfig.java index 94211d0..7905698 100644 --- a/src/main/java/org/openslx/util/vm/VboxConfig.java +++ b/src/main/java/org/openslx/util/vm/VboxConfig.java @@ -405,8 +405,6 @@ public class VboxConfig */ public void enableUsb() { - Node newUsbNode = addNewNode( "Hardware", "USB", false ); - Node newUsbControllers = addNewNode( "USB", "Controllers", false ); Node controller1 = addNewNode( "Controllers", "Controller", true ); addAttributeToNode( controller1, "name", "OHCI" ); addAttributeToNode( controller1, "type", "OHCI" ); diff --git a/src/main/java/org/openslx/util/vm/VboxMetaData.java b/src/main/java/org/openslx/util/vm/VboxMetaData.java index 1f83572..147b4d2 100644 --- a/src/main/java/org/openslx/util/vm/VboxMetaData.java +++ b/src/main/java/org/openslx/util/vm/VboxMetaData.java @@ -7,14 +7,6 @@ import java.nio.charset.StandardCharsets; import java.util.List; import java.util.UUID; -import javax.xml.transform.Source; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.TransformerFactoryConfigurationError; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - import org.apache.log4j.Logger; import org.openslx.bwlp.thrift.iface.OperatingSystem; import org.openslx.bwlp.thrift.iface.Virtualizer; @@ -99,16 +91,6 @@ public class VboxMetaData extends VmMetaData } } - public static enum EtherType { NAT, @@ -313,18 +314,23 @@ public abstract class VmMetaData // meta object needed when reading from configarray public static VmMetaData getInstance( List osList, byte[] vmContent, int length ) throws IOException { + Exception errEx = null; try { return new VmwareMetaData( osList, vmContent, length ); } catch ( UnsupportedVirtualizerFormatException e ) { - LOGGER.debug( "Machine description not in .vmx format.", e ); + LOGGER.debug( "Machine description not in .vmx format." ); + errEx = e; } try { LOGGER.debug( "versuche vbox" ); return new VboxMetaData( osList, vmContent, length ); } catch ( UnsupportedVirtualizerFormatException e ) { - LOGGER.debug( "Machine description not in .vbox format.", e ); + LOGGER.debug( "Machine description not in .vbox format." ); + errEx = e; + } + if ( errEx != null ) { + LOGGER.error( "Machine description has an unknown format!", errEx ); } - LOGGER.error( "Machine description has an unknown format!" ); return null; } @@ -363,17 +369,15 @@ public abstract class VmMetaData public abstract EthernetDevType getEthernetDevType( int cardIndex ); public abstract byte[] getDefinitionArray(); - - public abstract boolean addEthernet( EtherType type ); - public abstract void reWrite(); + public abstract boolean addEthernet( EtherType type ); public abstract Virtualizer getVirtualizer(); public abstract void enableUsb( boolean enabled ); - + public abstract boolean disableSuspend(); - + /** * * Function used by subclasses to put the virtual devices, which the subclass supports in the diff --git a/src/main/java/org/openslx/util/vm/VmwareMetaData.java b/src/main/java/org/openslx/util/vm/VmwareMetaData.java index 47deb27..dda5578 100644 --- a/src/main/java/org/openslx/util/vm/VmwareMetaData.java +++ b/src/main/java/org/openslx/util/vm/VmwareMetaData.java @@ -417,12 +417,14 @@ public class VmwareMetaData extends VmMetaData