summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/virtualization/configuration
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/virtualization/configuration')
-rw-r--r--src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java4
-rw-r--r--src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuUtils.java2
-rw-r--r--src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVirtualboxFileFormat.java2
-rw-r--r--src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVmwareFileFormat.java18
-rw-r--r--src/main/java/org/openslx/virtualization/configuration/transformation/TransformationManager.java6
5 files changed, 24 insertions, 8 deletions
diff --git a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java
index 7082e27..45b4f1f 100644
--- a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java
+++ b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java
@@ -115,7 +115,7 @@ public class VirtualizationConfigurationQemu extends VirtualizationConfiguration
try {
// read and parse Libvirt domain XML configuration document
- this.vmConfig = new Domain( new String( vmContent ) );
+ this.vmConfig = new Domain( new String( vmContent, StandardCharsets.UTF_8 ) );
} catch ( LibvirtXmlDocumentException | LibvirtXmlSerializationException | LibvirtXmlValidationException e ) {
throw new VirtualizationConfigurationException( e.getLocalizedMessage() );
}
@@ -239,7 +239,7 @@ public class VirtualizationConfigurationQemu extends VirtualizationConfiguration
@Override
public boolean addEmptyHddTemplate()
{
- return this.addHddTemplate( new String(), null, null );
+ return this.addHddTemplate( "", null, null );
}
@Override
diff --git a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuUtils.java b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuUtils.java
index 1befdc4..7b1b9bb 100644
--- a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuUtils.java
+++ b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuUtils.java
@@ -114,7 +114,7 @@ public class VirtualizationConfigurationQemuUtils
private static String createAlphabeticalDeviceName( String devicePrefix, int deviceNumber )
{
if ( deviceNumber < 0 || deviceNumber >= ( 'z' - 'a' ) ) {
- String errorMsg = new String( "Device number is out of range to be able to create a valid device name." );
+ String errorMsg = "Device number is out of range to be able to create a valid device name.";
throw new IllegalArgumentException( errorMsg );
}
diff --git a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVirtualboxFileFormat.java b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVirtualboxFileFormat.java
index b4cb7c3..af7c54c 100644
--- a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVirtualboxFileFormat.java
+++ b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVirtualboxFileFormat.java
@@ -44,7 +44,7 @@ public class VirtualizationConfigurationVirtualboxFileFormat
private static final Logger LOGGER = LogManager.getLogger( VirtualizationConfigurationVirtualboxFileFormat.class );
// key information set during initial parsing of the XML file
- private String osName = new String();
+ private String osName = "";
private ArrayList<HardDisk> hddsArray = new ArrayList<HardDisk>();
// XPath and DOM parsing related members
diff --git a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVmwareFileFormat.java b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVmwareFileFormat.java
index 134ff30..356a034 100644
--- a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVmwareFileFormat.java
+++ b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationVmwareFileFormat.java
@@ -117,12 +117,22 @@ public class VirtualizationConfigurationVmwareFileFormat
public static BufferedReader getVmxReader( byte[] vmxContent, int length ) throws IOException
{
Charset cs = getCharset( vmxContent, length );
+ if ( cs == null )
+ cs = StandardCharsets.UTF_8; // YES BECAUSE THIS IS NOT VMX AND EVERYTHING IS SHIT
return new BufferedReader( new InputStreamReader( new ByteArrayInputStream( vmxContent, 0, length ), cs ) );
}
+ /**
+ * Get charset of config. Returns null if input doesn't look like a vmx file.
+ * @param vmxContent
+ * @param length
+ * @return
+ */
public static Charset getCharset( byte[] vmxContent, int length )
{
String csName = detectCharset( new ByteArrayInputStream( vmxContent, 0, length ) );
+ if ( csName == null )
+ return null;
Charset cs = null;
try {
cs = Charset.forName( csName );
@@ -146,8 +156,9 @@ public class VirtualizationConfigurationVmwareFileFormat
return ret;
}
- public static String detectCharset( InputStream is )
+ private static String detectCharset( InputStream is )
{
+ boolean isVmware = false;
try {
BufferedReader csDetectReader = new BufferedReader( new InputStreamReader( is, StandardCharsets.ISO_8859_1 ) );
String line;
@@ -158,10 +169,15 @@ public class VirtualizationConfigurationVmwareFileFormat
if ( entry.key.equals( ".encoding" ) || entry.key.equals( "encoding" ) ) {
return entry.value;
}
+ if ( entry.key.equals( "virtualHW.version" ) || entry.key.equals( "memsize" ) || entry.key.equals( "displayName") ) {
+ isVmware = true;
+ }
}
} catch ( Exception e ) {
LOGGER.warn( "Could not detect charset, fallback to latin1", e );
}
+ if ( !isVmware )
+ return null;
// Dumb fallback
return "ISO-8859-1";
}
diff --git a/src/main/java/org/openslx/virtualization/configuration/transformation/TransformationManager.java b/src/main/java/org/openslx/virtualization/configuration/transformation/TransformationManager.java
index 6bb5faa..18d7e43 100644
--- a/src/main/java/org/openslx/virtualization/configuration/transformation/TransformationManager.java
+++ b/src/main/java/org/openslx/virtualization/configuration/transformation/TransformationManager.java
@@ -122,8 +122,8 @@ public class TransformationManager<T, R>
try {
transformation.apply( this.config, this.args );
} catch ( TransformationException e ) {
- final String errorMsg = new String(
- "Error in configuration filter '" + transformation.getName() + "': " + e.getLocalizedMessage() );
+ final String errorMsg =
+ "Error in configuration filter '" + transformation.getName() + "': " + e.getLocalizedMessage();
throw new TransformationException( errorMsg );
}
}
@@ -136,7 +136,7 @@ public class TransformationManager<T, R>
*/
private String showTransformations()
{
- String transformationSummary = new String();
+ String transformationSummary = "";
final int maxFilterNumCharacters = ( this.transformations.size() + 1 ) / 10;
for ( int i = 0; i < this.transformations.size(); i++ ) {