summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java
diff options
context:
space:
mode:
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.java25
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();