diff --git a/data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java b/data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java index a124b15c63ac75ae9918b11a61be9a33e0277b38..f5843301190881fa03968092ccfb93db1009b2f0 100644 --- a/data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java +++ b/data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java @@ -1,12 +1,13 @@ + +import java.io.FileNotFoundException; +import java.io.IOException; import java.io.File; import java.io.FileInputStream; import java.io.PrintWriter; import java.io.OutputStream; import java.io.BufferedOutputStream; import java.io.OutputStreamWriter; -import java.io.IOException; import java.io.BufferedReader; -import java.io.IOException; import java.io.InputStreamReader; import uws.UWSException; @@ -55,7 +56,6 @@ public class UWSMCutoutWork extends JobThread } - @Override protected void jobWork() throws UWSException, InterruptedException { @@ -83,36 +83,8 @@ public class UWSMCutoutWork extends JobThread logger.logThread(LogLevel.INFO, this, "Prepare Result", " job:requestUrl: " + job.getUrl().getRequestURL(), null); - // publish Report - - Result resultRes = new Result("Report", "none", null, false); - resultRes.setMimeType("application/json"); - OutputStream respResOutputStream = getResultOutput(resultRes); - - String absResPathname = mresult.resJsonPathname; - File downloadResFile = new File(absResPathname); - FileInputStream fileResInput = new FileInputStream(downloadResFile); - - fileResInput.transferTo(respResOutputStream); - publishResult(resultRes); - - downloadResFile.delete(); - - // publish mcutout.tar.gz - - final String id = "mcutout.tar.gz"; - Result result = new Result(id, "none", null, false); - result.setMimeType("application/gzip"); - OutputStream respOutputStream = getResultOutput(result); - - String absCutPathname = mresult.fileName; - File downloadFile = new File(absCutPathname); - FileInputStream fileInput = new FileInputStream(downloadFile); - - fileInput.transferTo(respOutputStream); - publishResult(result); - - downloadFile.delete(); + publishOnEndpoint("Report", "application/json", mresult.resJsonPathname); + publishOnEndpoint("mcutout.tar.gz", "application/gzip", mresult.fileName); // delete cut-files (were published/copied to uws-file store) @@ -129,4 +101,22 @@ public class UWSMCutoutWork extends JobThread } } + + private void publishOnEndpoint(String epName, String mimeType, String absPathname) + throws FileNotFoundException, IOException, UWSException + { + Result result = new Result(epName, "none", null, false); + result.setMimeType(mimeType); + + File downloadFile = new File(absPathname); + FileInputStream fileInput = new FileInputStream(downloadFile); + + OutputStream resOutputStream = getResultOutput(result); + fileInput.transferTo(resOutputStream); + + publishResult(result); + + downloadFile.delete(); + } + }