summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/util/vm/VboxMetaData.java
diff options
context:
space:
mode:
authorVictor Mocanu2017-10-02 13:34:41 +0200
committerVictor Mocanu2017-10-02 13:34:41 +0200
commit51ebb850c035e34446acff8d6ddcc11fcf6bcdaa (patch)
tree0c00429daa367e4e6f521d9a0492b231a30830de /src/main/java/org/openslx/util/vm/VboxMetaData.java
parent[VBox] changes to the VmWrapper class, it asks now for an VmMetaData child, i... (diff)
downloadmaster-sync-shared-51ebb850c035e34446acff8d6ddcc11fcf6bcdaa.tar.gz
master-sync-shared-51ebb850c035e34446acff8d6ddcc11fcf6bcdaa.tar.xz
master-sync-shared-51ebb850c035e34446acff8d6ddcc11fcf6bcdaa.zip
[VBox] working coppy in case further changes result in catastrophical failure
Diffstat (limited to 'src/main/java/org/openslx/util/vm/VboxMetaData.java')
-rw-r--r--src/main/java/org/openslx/util/vm/VboxMetaData.java44
1 files changed, 32 insertions, 12 deletions
diff --git a/src/main/java/org/openslx/util/vm/VboxMetaData.java b/src/main/java/org/openslx/util/vm/VboxMetaData.java
index dac8e78..da6dc33 100644
--- a/src/main/java/org/openslx/util/vm/VboxMetaData.java
+++ b/src/main/java/org/openslx/util/vm/VboxMetaData.java
@@ -5,6 +5,7 @@ import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.List;
+import javax.print.attribute.standard.PrinterMessageFromOperator;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
@@ -13,11 +14,15 @@ import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
+import org.apache.log4j.Logger;
+import org.apache.log4j.rewrite.ReflectionRewritePolicy;
import org.openslx.bwlp.thrift.iface.OperatingSystem;
import org.openslx.bwlp.thrift.iface.Virtualizer;
+
public class VboxMetaData extends VmMetaData
{
+ private static final Logger LOGGER = Logger.getLogger( VboxMetaData.class );
private static final Virtualizer virtualizer = new Virtualizer( "virtualbox", "VirtualBox" );
private final VboxConfig config;
@@ -34,9 +39,10 @@ public class VboxMetaData extends VmMetaData
public VboxMetaData( List<OperatingSystem> osList, byte[] vmContent, int length ) throws IOException, UnsupportedVirtualizerFormatException
{
super( osList );
- this.config = new VboxConfig( vmContent.toString(), length );
-
+ this.config = new VboxConfig( vmContent, length );
+ setTypeOf();
init();
+
}
private void init()
@@ -53,7 +59,7 @@ public class VboxMetaData extends VmMetaData
try {
WriteToFile();
} catch ( TransformerFactoryConfigurationError | TransformerException e ) {
- // TODO Auto-generated catch block
+ // WriteToFile exceptions here...not important for the the LOGGER
e.printStackTrace();
}
}
@@ -95,17 +101,25 @@ public class VboxMetaData extends VmMetaData
@Override
public boolean addHddTemplate( String diskImagePath, String hddMode, String redoDir )
{
- // TODO Auto-generated method stub
- return false;
+ config.changeAttribute( "HardDisk", "location", diskImagePath );
+ return true;
}
@Override
public boolean addDefaultNat()
{
- // TODO Auto-generated method stub
- return false;
+ config.addSomeNewNode( "Adapter", "NAT", false );
+ return true;
+ }
+
+ public void reWrite() {
+ try {
+ WriteToFile();
+ } catch ( TransformerFactoryConfigurationError | TransformerException e ) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
-
@Override
public void setOs( String vendorOsId )
{
@@ -116,15 +130,15 @@ public class VboxMetaData extends VmMetaData
@Override
public boolean addDisplayName( String name )
{
- // TODO Auto-generated method stub
- return false;
+ config.changeAttribute( "Machine", "name", name );
+ return true;
}
@Override
public boolean addRam( int mem )
{
- // TODO Auto-generated method stub
- return false;
+ config.changeAttribute( "Memory", "RAMSize", Integer.toString( mem ) );
+ return true;
}
@Override
@@ -141,5 +155,11 @@ public class VboxMetaData extends VmMetaData
return false;
}
+ @Override
+ public void setTypeOf()
+ {
+ typeOf = TypeOf.VBOX;
+ }
+
// TODO: the part after getting the byte[] from the Server and doing stuff with it...SoundCard types etc...
}