diff options
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java index fe884a15..3c3a5f1c 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java @@ -7,22 +7,16 @@ import org.openslx.dozmod.gui.helper.I18n; import org.openslx.dozmod.gui.helper.MessageType; import org.openslx.thrifthelper.TConst; import org.openslx.virtualization.configuration.VirtualizationConfigurationException; -import org.openslx.virtualization.configuration.container.ContainerDefinition; import org.openslx.virtualization.disk.DiskImage; import org.openslx.virtualization.disk.DiskImage.ImageFormat; import org.openslx.virtualization.disk.DiskImageException; import java.io.File; import java.io.IOException; -import java.nio.file.Files; /** * This Class handle the unpacking of Images downloaded from * the server individually (VM-Images, Docker-Images (Container Images)). - * - * In case of Container-Images the Image-Blob is not important because it can be recreated with the - * recipe (e.g. dockerfile). - * TODO Do not download the Image-Blob of a Container-Image. */ public class ImageWrapper { @@ -47,20 +41,10 @@ public class ImageWrapper { boolean imageIsCompressed = false; ImageFormat imageFormat = null; - // unwrap each image individually - // TODO In future maybe this is a check to distinguish between VM-Image and Container Image + // unwrap container image individually if (virtualizerId.equals(TConst.VIRT_DOCKER)) { - ContainerDefinition conDef = ContainerDefinition.fromByteArray(virtualizerConfig); - conDef.saveLocal(destDir); - - try { - // delete image file, unused in container Context. - Files.delete(tmpDiskFile.toPath()); - } catch (IOException e) { - Gui.asyncMessageBox("Konnte temporäre Download Datei nicht löschen", MessageType.WARNING, - LOGGER, e); - } + ContainerWrapper.unwrapContainer(tmpDiskFile, imageName, destDir, virtualizerConfig); } else { @@ -73,8 +57,9 @@ public class ImageWrapper { } if (imageIsCompressed && imageFormat != ImageFormat.QCOW2) { - Gui.asyncMessageBox(I18n.THRIFT.getString("ThriftActions.Message.warning.diskImageCompressed", - imageName, Branding.getServiceFAQWebsite()), MessageType.WARNING, null, null); + Gui.asyncMessageBox( + I18n.THRIFT.getString("ThriftActions.Message.warning.diskImageCompressed", imageName, + Branding.getServiceFAQWebsite()), MessageType.WARNING, null, null); } File destImage = new File(destDir.getAbsolutePath(), VmWrapper.generateFilename(imageName, ext)); destImage.delete(); |