Commit 29fbbb1e authored by Robert Butora's avatar Robert Butora
Browse files

mcutout: refactors results/Report publishing func

parent 7cd1d0a3
Loading
Loading
Loading
Loading
+23 −33
Original line number Diff line number Diff line

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();
	}

}