33import com .amazonaws .services .s3 .model .S3Object ;
44import com .amazonaws .util .IOUtils ;
55import com .google .gson .Gson ;
6+ import payloads .Event ;
7+ import payloads .Request ;
8+ import payloads .Response ;
69
710import java .io .IOException ;
811import java .net .HttpURLConnection ;
@@ -23,30 +26,30 @@ public Response handleRequest(Event event, Context context) {
2326 logger .log ("body: " + event .getBody ());
2427
2528 Gson gson = new Gson ();
26- Body body = gson .fromJson (event .getBody (), Body .class );
29+ Request request = gson .fromJson (event .getBody (), Request .class );
2730
2831 try {
29- logger .log ("executable: " + body .getExecutable ());
30- logger .log ("args: " + body .getArgs ());
31- logger .log ("inputs: " + body .getInputs ());
32- logger .log ("outputs: " + body .getOutputs ());
33- logger .log ("bucket: " + body .getOptions ().get (BUCKET_KEY ));
34- logger .log ("prefix: " + body .getOptions ().get (PREFIX_KEY ));
35-
36- downloadData (body , logger );
37- downloadExecutable (body , logger );
38- execute (body .getExecutable (), String .join (" " , body .getArgs ()), logger );
39- uploadData (body , logger );
32+ logger .log ("executable: " + request .getExecutable ());
33+ logger .log ("args: " + request .getArgs ());
34+ logger .log ("inputs: " + request .getInputs ());
35+ logger .log ("outputs: " + request .getOutputs ());
36+ logger .log ("bucket: " + request .getOptions ().get (BUCKET_KEY ));
37+ logger .log ("prefix: " + request .getOptions ().get (PREFIX_KEY ));
38+
39+ downloadData (request , logger );
40+ downloadExecutable (request , logger );
41+ execute (request .getExecutable (), String .join (" " , request .getArgs ()), logger );
42+ uploadData (request , logger );
4043 } catch (Exception e ) {
41- return handleException (e , body );
44+ return handleException (e , request );
4245 }
4346 Response response = new Response ();
4447 response .setStatusCode (HttpURLConnection .HTTP_OK );
45- response .setMessage ("Execution of " + body .getExecutable () + " successful, duration: " + Duration .between (instant1 , Instant .now ()).getSeconds () + " seconds" );
48+ response .setBody ("Execution of " + request .getExecutable () + " successful, duration: " + Duration .between (instant1 , Instant .now ()).getSeconds () + " seconds" );
4649 return response ;
4750 }
4851
49- private void downloadData (Body request , LambdaLogger logger ) throws IOException {
52+ private void downloadData (Request request , LambdaLogger logger ) throws IOException {
5053 for (Map <String , Object > input : request .getInputs ()) {
5154 String fileName = input .get ("name" ).toString ();
5255 String key = request .getOptions ().get (PREFIX_KEY ) + "/" + fileName ;
@@ -71,17 +74,17 @@ private void execute(String executable, String args, LambdaLogger logger) throws
7174 logger .log ("Stderr: " + errorMsg );
7275 }
7376
74- private void uploadData (Body body , LambdaLogger logger ) {
75- for (Map <String , String > input : body .getOutputs ()) {
77+ private void uploadData (Request request , LambdaLogger logger ) {
78+ for (Map <String , String > input : request .getOutputs ()) {
7679 String fileName = input .get ("name" );
7780 String filePath = FOLDER_PATH + fileName ;
78- String key = body .getOptions ().get (PREFIX_KEY ) + "/" + fileName ;
79- logger .log ("Uploading " + body .getOptions ().get (BUCKET_KEY ) + "/" + key );
80- S3Utils .putObject (body .getOptions ().get (BUCKET_KEY ), key , filePath );
81+ String key = request .getOptions ().get (PREFIX_KEY ) + "/" + fileName ;
82+ logger .log ("Uploading " + request .getOptions ().get (BUCKET_KEY ) + "/" + key );
83+ S3Utils .putObject (request .getOptions ().get (BUCKET_KEY ), key , filePath );
8184 }
8285 }
8386
84- private Response handleException (Exception e , Body body ) {
87+ private Response handleException (Exception e , Request request ) {
8588 Throwable cause ;
8689 if (e .getCause () != null ) {
8790 cause = e .getCause ();
@@ -93,15 +96,15 @@ private Response handleException(Exception e, Body body) {
9396 }
9497 Response response = new Response ();
9598 response .setStatusCode (HttpURLConnection .HTTP_INTERNAL_ERROR );
96- response .setMessage ("Execution of " + body .getExecutable () + " failed, cause: " + cause .getMessage ());
99+ response .setBody ("Execution of " + request .getExecutable () + " failed, cause: " + cause .getMessage ());
97100 return response ;
98101 }
99102
100- private void downloadExecutable (Body body , LambdaLogger logger ) throws IOException {
101- logger .log ("Downloading executable" + body .getExecutable ());
102- String key = body .getOptions ().get (PREFIX_KEY ) + "/" + body .getExecutable ();
103- S3Object s3Object = S3Utils .getObject (body .getOptions ().get (BUCKET_KEY ), key );
104- S3Utils .saveToFile (s3Object , FOLDER_PATH + body .getExecutable ());
103+ private void downloadExecutable (Request request , LambdaLogger logger ) throws IOException {
104+ logger .log ("Downloading executable" + request .getExecutable ());
105+ String key = request .getOptions ().get (PREFIX_KEY ) + "/" + request .getExecutable ();
106+ S3Object s3Object = S3Utils .getObject (request .getOptions ().get (BUCKET_KEY ), key );
107+ S3Utils .saveToFile (s3Object , FOLDER_PATH + request .getExecutable ());
105108 }
106109
107110}
0 commit comments