Skip to content

Commit af29e35

Browse files
committed
Changed to proper response format.
1 parent 99097e3 commit af29e35

File tree

6 files changed

+58
-108
lines changed

6 files changed

+58
-108
lines changed

src/main/java/Handler.java

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import com.amazonaws.services.s3.model.S3Object;
44
import com.amazonaws.util.IOUtils;
55
import com.google.gson.Gson;
6+
import payloads.Event;
7+
import payloads.Request;
8+
import payloads.Response;
69

710
import java.io.IOException;
811
import 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
}

src/main/java/Response.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

src/main/java/Event.java renamed to src/main/java/payloads/Event.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package payloads;
2+
13
public class Event {
24

35
private String body;

src/main/java/Body.java renamed to src/main/java/payloads/Request.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
package payloads;
2+
13
import java.util.List;
24
import java.util.Map;
35

4-
public class Body {
6+
public class Request {
57

68
private String executable;
79
private List<String> args;
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package payloads;
2+
3+
public class Response {
4+
5+
private int statusCode;
6+
private String body;
7+
8+
public int getStatusCode() {
9+
return statusCode;
10+
}
11+
12+
public void setStatusCode(int statusCode) {
13+
this.statusCode = statusCode;
14+
}
15+
16+
public String getBody() {
17+
return body;
18+
}
19+
20+
public void setBody(String body) {
21+
this.body = body;
22+
}
23+
}

src/main/resources/example_request.txt

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)