summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/DockerfileUploadPage.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java25
2 files changed, 23 insertions, 6 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/DockerfileUploadPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/DockerfileUploadPage.java
index 01f291e7..2961d78c 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/DockerfileUploadPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/DockerfileUploadPage.java
@@ -37,8 +37,6 @@ public class DockerfileUploadPage extends ImageUploadPageLayout {
this.state = state;
existingImage = null;
- state.meta = new DockerMetaDataDummy(MetaDataCache.getOperatingSystems());
-
init();
}
@@ -53,7 +51,6 @@ public class DockerfileUploadPage extends ImageUploadPageLayout {
txtInfoText.setVisible(existingImage == null);
state.name = image.imageName;
- state.meta = new DockerMetaDataDummy(MetaDataCache.getOperatingSystems());
state.defaultPermissions = image.getDefaultPermissions();
// state.permissionMap // TODO do i need that ?
@@ -118,6 +115,7 @@ public class DockerfileUploadPage extends ImageUploadPageLayout {
state.descriptionFile = file;
state.diskFile = file; // TODO no disk file in docker context (DUMMY SET)
+ state.meta = new DockerMetaDataDummy(MetaDataCache.getOperatingSystems(),file);
Config.setUploadPath(file.getParent());
setPageComplete(true);
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 82e45472..c8ca7746 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java
@@ -11,9 +11,9 @@ import org.openslx.thrifthelper.TConst;
import org.openslx.util.vm.DiskImage;
import java.io.File;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
-import java.nio.file.StandardCopyOption;
public class ImageWrapper {
@@ -45,11 +45,18 @@ public class ImageWrapper {
File destImage = new File(destDir.getAbsolutePath(),"dockerfile");
try {
+ // TODO: (RALPH) dockerfile == virtualizerconfig(table imageversion) ... maybe not a goot solution!
+ writeDockerfile(destDir, fTransInf.getMachineDescription());
+
+ // delete image file because thats also the dockerfile
+ Files.delete(tmpDiskFile.toPath());
+
// use move(..) because of platform independence
- Files.move(tmpDiskFile.toPath(),
+ /*Files.move(tmpDiskFile.toPath(),
destImage.toPath(),
StandardCopyOption.REPLACE_EXISTING
- );
+ );*/
+
} catch (IOException e) {
Gui.asyncMessageBox("Konnte dockerfile nicht an Ziel kopieren",
MessageType.WARNING, LOGGER, e);
@@ -98,4 +105,16 @@ public class ImageWrapper {
MessageType.WARNING, LOGGER, e);
}
}
+
+ private static void writeDockerfile(File destDir, byte[] dockerfile_b) {
+ String filename = "dockerfile";
+ File dockerfile = new File(destDir,filename);
+ try {
+ FileOutputStream fos = new FileOutputStream(dockerfile);
+ fos.write(dockerfile_b);
+ fos.close();
+ } catch (IOException e) {
+ LOGGER.error("could not write dockerfile", e);
+ }
+ }
}