diff options
author | Simon Rettberg | 2021-04-21 13:07:48 +0200 |
---|---|---|
committer | Simon Rettberg | 2021-04-21 13:07:48 +0200 |
commit | 638ba80c0deaa4468ce16f5ec965ca55040a44b5 (patch) | |
tree | 1e3a86ff945439abc4070baf80c1ceb122d30d0b /dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard | |
parent | [client] Simplify code (diff) | |
download | tutor-module-638ba80c0deaa4468ce16f5ec965ca55040a44b5.tar.gz tutor-module-638ba80c0deaa4468ce16f5ec965ca55040a44b5.tar.xz tutor-module-638ba80c0deaa4468ce16f5ec965ca55040a44b5.zip |
[client] Avoid keeping file from DiskImage open for too long
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java index 4f64f1e9..645587c6 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java @@ -262,13 +262,14 @@ public class ImageUploadPage extends ImageUploadPageLayout { vmDiskFileInfo = new File(vmBaseDirectory, hdds.get(0).diskImage); } - final DiskImage diskImage; final boolean diskImageIsSnapshot; final boolean diskImageIsStandalone; - try { - diskImage = DiskImage.newInstance(vmDiskFileInfo); + final ImageFormat diskFormat; + + try (DiskImage diskImage = DiskImage.newInstance(vmDiskFileInfo)) { diskImageIsSnapshot = diskImage.isSnapshot(); diskImageIsStandalone = diskImage.isStandalone(); + diskFormat = diskImage.getFormat(); } catch (FileNotFoundException e) { setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.diskImageNotFound", vmDiskFileInfo.getName())); @@ -290,7 +291,7 @@ public class ImageUploadPage extends ImageUploadPageLayout { // check if disk image format is supported by the hypervisor's supported disk image formats final List<ImageFormat> supportedImageFormats = state.meta.getSupportedImageFormats(); - if (!diskImage.getFormat().isSupportedbyVirtualizer( supportedImageFormats )) { + if (!diskFormat.isSupportedbyVirtualizer(supportedImageFormats)) { Gui.showMessageBox(I18n.PAGE.getString("ImageUpload.Message.warning.diskImageNotSupportedByHypervisor", Branding.getServiceName()), MessageType.WARNING, null, null); setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.diskImageNotSupportedByHypervisor")); |