diff options
author | ralph isenmann | 2020-12-09 13:37:26 +0100 |
---|---|---|
committer | ralph isenmann | 2020-12-09 13:37:26 +0100 |
commit | 0f04751aead49de852c99540df5518a882c8270b (patch) | |
tree | 0670f049736a54f1b4a35e5af20d2699a5ac8dd6 /dozentenmodul/src/main | |
parent | [client] Fix reading from downloaded tar.gz file (diff) | |
download | tutor-module-0f04751aead49de852c99540df5518a882c8270b.tar.gz tutor-module-0f04751aead49de852c99540df5518a882c8270b.tar.xz tutor-module-0f04751aead49de852c99540df5518a882c8270b.zip |
[client] Refactoring
- update DockerfileFilter to allow [Dd]ockerfile filenames
- update readContainerRecipe-File
Diffstat (limited to 'dozentenmodul/src/main')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java | 12 | ||||
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java | 10 |
2 files changed, 16 insertions, 6 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java index be96f283..874a2435 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java @@ -23,6 +23,8 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.IOException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class ContainerUploadPage extends ContainerUploadPageLayout { @@ -241,9 +243,13 @@ public class ContainerUploadPage extends ContainerUploadPageLayout { @Override public boolean accept(File f) { - boolean accept = true; - if (f.isFile() && !f.getName().equals("dockerfile")) - accept = false; + + Pattern p = Pattern.compile("[Dd]ockerfile"); + Matcher m = p.matcher(f.getName()); + + boolean accept = false; + if (f.isFile() && m.matches()) + accept = true; return accept; } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java index 1f28ce06..f41b4b47 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java @@ -154,10 +154,14 @@ public class ContainerDefinition { try { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); - byte[] rawFile = new byte[(int) file.length()]; - bis.read(rawFile); + ByteArrayOutputStream rawFile = new ByteArrayOutputStream(); + int count; + byte[] data = new byte[1024]; + while ((count = bis.read(data)) != -1) { + rawFile.write(data,0,count); + } - String rawRecipe = new String(rawFile, StandardCharsets.UTF_8); + String rawRecipe = new String(rawFile.toByteArray(), StandardCharsets.UTF_8); // replace windows by unix EOL recipe = rawRecipe.replaceAll("\\r\\n", "\n"); |