diff options
Diffstat (limited to 'src/main/java/org/openslx/vm/disk/DiskImageVmdk.java')
-rw-r--r-- | src/main/java/org/openslx/vm/disk/DiskImageVmdk.java | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/src/main/java/org/openslx/vm/disk/DiskImageVmdk.java b/src/main/java/org/openslx/vm/disk/DiskImageVmdk.java index 58314fc..75a2bac 100644 --- a/src/main/java/org/openslx/vm/disk/DiskImageVmdk.java +++ b/src/main/java/org/openslx/vm/disk/DiskImageVmdk.java @@ -3,8 +3,9 @@ package org.openslx.vm.disk; import java.io.RandomAccessFile; import org.openslx.util.Util; -import org.openslx.vm.UnsupportedVirtualizerFormatException; -import org.openslx.vm.VmwareConfig; +import org.openslx.virtualization.configuration.VirtualizationConfigurationVmwareFileFormat; +import org.openslx.virtualization.Version; +import org.openslx.virtualization.configuration.VirtualizationConfigurationException; /** * VMDK (sparse extent) disk image for virtual machines. @@ -32,7 +33,7 @@ public class DiskImageVmdk extends DiskImage /** * Stores disk configuration if VMDK disk image contains an embedded descriptor file. */ - private final VmwareConfig vmdkConfig; + private final VirtualizationConfigurationVmwareFileFormat vmdkConfig; /** * Creates a new VMDK disk image from an existing VMDK image file. @@ -80,7 +81,7 @@ public class DiskImageVmdk extends DiskImage */ private String getCreationType() { - final VmwareConfig vmdkConfig = this.getVmdkConfig(); + final VirtualizationConfigurationVmwareFileFormat vmdkConfig = this.getVmdkConfig(); final String vmdkCreationType; if ( vmdkConfig == null ) { @@ -103,10 +104,10 @@ public class DiskImageVmdk extends DiskImage * * @throws DiskImageException parsing of the VMDK's embedded descriptor file failed. */ - protected VmwareConfig parseVmdkConfig() throws DiskImageException + protected VirtualizationConfigurationVmwareFileFormat parseVmdkConfig() throws DiskImageException { final RandomAccessFile diskFile = this.getDiskImage(); - final VmwareConfig vmdkConfig; + final VirtualizationConfigurationVmwareFileFormat vmdkConfig; // get offset and size of descriptor file embedded into the VMDK disk image final long vmdkDescriptorSectorOffset = Long.reverseBytes( DiskImageUtils.readLong( diskFile, 28 ) ); @@ -133,8 +134,8 @@ public class DiskImageVmdk extends DiskImage // create configuration instance from content of the descriptor file try { - vmdkConfig = new VmwareConfig( configStr.getBytes(), vmdkDescriptorSize ); - } catch ( UnsupportedVirtualizerFormatException e ) { + vmdkConfig = new VirtualizationConfigurationVmwareFileFormat( configStr.getBytes(), vmdkDescriptorSize ); + } catch ( VirtualizationConfigurationException e ) { throw new DiskImageException( e.getLocalizedMessage() ); } } else { @@ -150,7 +151,7 @@ public class DiskImageVmdk extends DiskImage * * @return parsed configuration of the VMDK's embedded descriptor file. */ - protected VmwareConfig getVmdkConfig() + protected VirtualizationConfigurationVmwareFileFormat getVmdkConfig() { return this.vmdkConfig; } @@ -163,12 +164,13 @@ public class DiskImageVmdk extends DiskImage * * @return hardware version from the VMDK's embedded descriptor file. * - * @throws DiskImageException + * @throws DiskImageException unable to obtain the VMDK's hardware version of the disk image + * format. */ - public int getHwVersion() throws DiskImageException + public Version getHwVersion() throws DiskImageException { - final VmwareConfig vmdkConfig = this.getVmdkConfig(); - final int hwVersion; + final VirtualizationConfigurationVmwareFileFormat vmdkConfig = this.getVmdkConfig(); + final Version hwVersion; if ( vmdkConfig != null ) { // VMDK image contains a hardware version, so return parsed hardware version @@ -176,11 +178,11 @@ public class DiskImageVmdk extends DiskImage final String hwVersionStr = vmdkConfig.get( "ddb.virtualHWVersion" ); final int hwVersionMajor = Util.parseInt( hwVersionStr, DiskImageVmdk.VMDK_DEFAULT_HW_VERSION ); - hwVersion = DiskImageUtils.versionFromMajor( Integer.valueOf( hwVersionMajor ).shortValue() ); + hwVersion = new Version( Integer.valueOf( hwVersionMajor ).shortValue() ); } else { // VMDK image does not contain any hardware version, so return default hardware version final int hwVersionMajor = DiskImageVmdk.VMDK_DEFAULT_HW_VERSION; - hwVersion = DiskImageUtils.versionFromMajor( Integer.valueOf( hwVersionMajor ).shortValue() ); + hwVersion = new Version( Integer.valueOf( hwVersionMajor ).shortValue() ); } return hwVersion; @@ -233,7 +235,7 @@ public class DiskImageVmdk extends DiskImage @Override public boolean isSnapshot() throws DiskImageException { - final VmwareConfig vmdkConfig = this.getVmdkConfig(); + final VirtualizationConfigurationVmwareFileFormat vmdkConfig = this.getVmdkConfig(); final boolean vmdkSnapshot; if ( vmdkConfig == null ) { @@ -257,12 +259,12 @@ public class DiskImageVmdk extends DiskImage } @Override - public int getVersion() throws DiskImageException + public Version getVersion() throws DiskImageException { final RandomAccessFile diskFile = this.getDiskImage(); final int vmdkVersion = Integer.reverseBytes( DiskImageUtils.readInt( diskFile, 4 ) ); - return DiskImageUtils.versionFromMajor( Integer.valueOf( vmdkVersion ).shortValue() ); + return new Version( Integer.valueOf( vmdkVersion ).shortValue() ); } @Override |