diff options
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/DockerfileUploadPage.java | 4 | ||||
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java | 25 |
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); + } + } } |