Loading data-access/servlet/src/main/java/common/output/MCutResult.java +17 −0 Original line number Diff line number Diff line import org.json.simple.JSONObject; import java.io.File; class MCutResult { Loading @@ -20,8 +21,24 @@ class MCutResult jo.put("content", content); return jo; } void deleteFile() { if(contentType == ContentType.FILENAME) { File cutFile = new File(content); cutFile.delete(); } } } public void deleteCutFiles() { for(Cut cut : cutResArr) { cut.deleteFile(); } } public String fileName; public long fileSize; Loading data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java +40 −21 Original line number Diff line number Diff line import java.io.File; import java.io.FileInputStream; import java.io.PrintWriter; import java.io.OutputStream; import java.io.BufferedOutputStream; Loading Loading @@ -35,7 +36,6 @@ import org.json.simple.parser.ParseException; public class UWSMCutoutWork extends JobThread { final String RESPONSE_ENCODING = "utf-8"; private Settings settings = UWSMCutout.settings; private Subsurvey[] subsurveys = UWSMCutout.subsurveys; Loading Loading @@ -67,14 +67,7 @@ public class UWSMCutoutWork extends JobThread /* UWS -> SODA (JDL in POST body is part of SODA REC) */ UploadFile jsonFile = (UploadFile)job.getAdditionalParameterValue("mcutout"); final String contentType = "text/xml"; // FIXME should be input param ? RESPONSEFORMAT ? Result result = createResult("Report"); result.setMimeType("text/xml"); OutputStream respOutputStream = getResultOutput(result); if(contentType.equals("text/xml") || contentType.equals("application/xml")) { InputStreamReader isr = new InputStreamReader(jsonFile.open()); BufferedReader input = new BufferedReader(isr); StringBuffer jsonStringBuffer = new StringBuffer(); Loading @@ -91,6 +84,15 @@ public class UWSMCutoutWork extends JobThread /* Implement -> SODA */ final String contentType = "application/gzip";// FIXME force stream output if(contentType.equals("text/xml") || contentType.equals("application/xml")) { Result result = createResult("Report"); result.setMimeType("text/xml"); OutputStream respOutputStream = getResultOutput(result); final String RESPONSE_ENCODING = "utf-8"; PrintWriter writer = new PrintWriter(new OutputStreamWriter(respOutputStream, RESPONSE_ENCODING)); String accessUrl = convertLocalPathnameToRemoteUrl(mresult.fileName, Loading @@ -105,6 +107,25 @@ public class UWSMCutoutWork extends JobThread writer.close(); /* SODA -> UWS */ publishResult(result); } else if(contentType.equals("application/gzip") || contentType.equals("application/x-tar+gzip")) { Result result = createResult("mcutout.tar.gz"); 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); downloadFile.delete(); mresult.deleteCutFiles(); publishResult(result); } else { Loading @@ -112,8 +133,6 @@ public class UWSMCutoutWork extends JobThread } /* FIXME here was uws-check is-job-Interrupted */ publishResult(result); } catch(IOException ex) { Loading Loading
data-access/servlet/src/main/java/common/output/MCutResult.java +17 −0 Original line number Diff line number Diff line import org.json.simple.JSONObject; import java.io.File; class MCutResult { Loading @@ -20,8 +21,24 @@ class MCutResult jo.put("content", content); return jo; } void deleteFile() { if(contentType == ContentType.FILENAME) { File cutFile = new File(content); cutFile.delete(); } } } public void deleteCutFiles() { for(Cut cut : cutResArr) { cut.deleteFile(); } } public String fileName; public long fileSize; Loading
data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java +40 −21 Original line number Diff line number Diff line import java.io.File; import java.io.FileInputStream; import java.io.PrintWriter; import java.io.OutputStream; import java.io.BufferedOutputStream; Loading Loading @@ -35,7 +36,6 @@ import org.json.simple.parser.ParseException; public class UWSMCutoutWork extends JobThread { final String RESPONSE_ENCODING = "utf-8"; private Settings settings = UWSMCutout.settings; private Subsurvey[] subsurveys = UWSMCutout.subsurveys; Loading Loading @@ -67,14 +67,7 @@ public class UWSMCutoutWork extends JobThread /* UWS -> SODA (JDL in POST body is part of SODA REC) */ UploadFile jsonFile = (UploadFile)job.getAdditionalParameterValue("mcutout"); final String contentType = "text/xml"; // FIXME should be input param ? RESPONSEFORMAT ? Result result = createResult("Report"); result.setMimeType("text/xml"); OutputStream respOutputStream = getResultOutput(result); if(contentType.equals("text/xml") || contentType.equals("application/xml")) { InputStreamReader isr = new InputStreamReader(jsonFile.open()); BufferedReader input = new BufferedReader(isr); StringBuffer jsonStringBuffer = new StringBuffer(); Loading @@ -91,6 +84,15 @@ public class UWSMCutoutWork extends JobThread /* Implement -> SODA */ final String contentType = "application/gzip";// FIXME force stream output if(contentType.equals("text/xml") || contentType.equals("application/xml")) { Result result = createResult("Report"); result.setMimeType("text/xml"); OutputStream respOutputStream = getResultOutput(result); final String RESPONSE_ENCODING = "utf-8"; PrintWriter writer = new PrintWriter(new OutputStreamWriter(respOutputStream, RESPONSE_ENCODING)); String accessUrl = convertLocalPathnameToRemoteUrl(mresult.fileName, Loading @@ -105,6 +107,25 @@ public class UWSMCutoutWork extends JobThread writer.close(); /* SODA -> UWS */ publishResult(result); } else if(contentType.equals("application/gzip") || contentType.equals("application/x-tar+gzip")) { Result result = createResult("mcutout.tar.gz"); 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); downloadFile.delete(); mresult.deleteCutFiles(); publishResult(result); } else { Loading @@ -112,8 +133,6 @@ public class UWSMCutoutWork extends JobThread } /* FIXME here was uws-check is-job-Interrupted */ publishResult(result); } catch(IOException ex) { Loading