diff --git a/src/main/java/de/uni_hamburg/corpora/server/CorpusChecker.java b/src/main/java/de/uni_hamburg/corpora/server/CorpusChecker.java index 43b2428152a8a456d753964d1597ff5ba8a738a5..0722cb3da74bd6a837e38b2f39b6242215bc968d 100644 --- a/src/main/java/de/uni_hamburg/corpora/server/CorpusChecker.java +++ b/src/main/java/de/uni_hamburg/corpora/server/CorpusChecker.java @@ -61,8 +61,13 @@ class CorpusThread extends Thread { this.inFile = infile; this.functionNames = functions ; this.props = properties; - if (outfile.equals("tmp")) - this.outFile = this.inFile + "/report.html"; + if (outfile.equals("tmp")) { + File tmpDir = new File(System.getProperty("java.io.tmpdir") + "/" + token); + // Create parent directory if it is missing + if (!tmpDir.exists()) + tmpDir.mkdirs(); + this.outFile = System.getProperty("java.io.tmpdir") + "/" + token + "/report.html"; + } else this.outFile = outfile; this.token = token ; @@ -77,7 +82,6 @@ class CorpusThread extends Thread { CorpusIO cio = new CorpusIO(); report.addNote("CorpusWebServices","Starting run at " + DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss").format(LocalDateTime.now())); - try { // Create corpus from given input file/folder Corpus corpus; diff --git a/src/main/java/de/uni_hamburg/corpora/server/Report.java b/src/main/java/de/uni_hamburg/corpora/server/Report.java index eb3ab28a0adb83b087878b6ac707c629c3b9cd06..0cc445f84d3fe53f92eda46fe6ac8bd42b24991a 100644 --- a/src/main/java/de/uni_hamburg/corpora/server/Report.java +++ b/src/main/java/de/uni_hamburg/corpora/server/Report.java @@ -2,6 +2,7 @@ package de.uni_hamburg.corpora.server; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.Response; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,8 +28,9 @@ public class Report { * @return Response containing the file or an error code */ @GET - public Response getReport() { - String reportFileName = System.getProperty("java.io.tmpdir") + "/corpus-files/report.html"; + public Response getReport(@QueryParam("token") String token) { + // TODO place report somewhere else because files should be deleted after check + String reportFileName = System.getProperty("java.io.tmpdir") + "/" + token + "/report.html"; logger.info("Loading report file " + reportFileName); File reportFile = new File(reportFileName); if (!reportFile.exists()) {