diff options
Diffstat (limited to 'core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskCdromDevices.java')
-rw-r--r-- | core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskCdromDevices.java | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskCdromDevices.java b/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskCdromDevices.java index a7c3b015..95529693 100644 --- a/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskCdromDevices.java +++ b/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericDiskCdromDevices.java @@ -2,6 +2,7 @@ package org.openslx.runvirt.plugin.qemu.configuration; import java.io.IOException; import java.nio.file.Files; +import java.nio.file.InvalidPathException; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributes; @@ -53,6 +54,28 @@ public class TransformationGenericDiskCdromDevices extends TransformationGeneric } /** + * Returns attributes of a file specified by its <i>fileName</i>. + * + * @param fileName file name of the file + * @return attributes of the specified file. + */ + protected BasicFileAttributes getFileAttributes( String fileName ) + { + BasicFileAttributes fileAttrs = null; + + try { + final Path diskFilePath = Paths.get( fileName ); + fileAttrs = Files.readAttributes( diskFilePath, BasicFileAttributes.class ); + } catch ( InvalidPathException e ) { + fileAttrs = null; + } catch ( IOException e ) { + fileAttrs = null; + } + + return fileAttrs; + } + + /** * Sets the storage of a CDROM drive from a virtualization configuration. * * @param disk CDROM drive from a virtualization configuration. @@ -70,15 +93,7 @@ public class TransformationGenericDiskCdromDevices extends TransformationGeneric } else { // set disk image file as storage source of the disk CDROM drive // check before, whether the referenced file is a regular file or a block device file - final Path diskFilePath = Paths.get( fileName ); - BasicFileAttributes diskFileAttrs = null; - - // get file attributes from referenced file - try { - diskFileAttrs = Files.readAttributes( diskFilePath, BasicFileAttributes.class ); - } catch ( IOException e ) { - diskFileAttrs = null; - } + final BasicFileAttributes diskFileAttrs = this.getFileAttributes( fileName ); // set storage type according to the file attributes of the referenced file if ( diskFileAttrs != null ) { |