From 6b426edd47465d2edcecfce9c26f83ac45cd88a6 Mon Sep 17 00:00:00 2001 From: Alexander Yu Date: Tue, 16 Apr 2024 10:14:09 -0700 Subject: [PATCH] Add layer-java example app --- sample-apps/layer-java/function/pom.xml | 59 ++++++++++++++++++ .../function/src/main/java/example/F1Car.java | 33 ++++++++++ .../src/main/java/example/Handler.java | 23 +++++++ sample-apps/layer-java/layer/1-install.sh | 1 + sample-apps/layer-java/layer/2-package.sh | 4 ++ sample-apps/layer-java/layer/pom.xml | 62 +++++++++++++++++++ 6 files changed, 182 insertions(+) create mode 100644 sample-apps/layer-java/function/pom.xml create mode 100644 sample-apps/layer-java/function/src/main/java/example/F1Car.java create mode 100644 sample-apps/layer-java/function/src/main/java/example/Handler.java create mode 100755 sample-apps/layer-java/layer/1-install.sh create mode 100755 sample-apps/layer-java/layer/2-package.sh create mode 100644 sample-apps/layer-java/layer/pom.xml diff --git a/sample-apps/layer-java/function/pom.xml b/sample-apps/layer-java/function/pom.xml new file mode 100644 index 00000000..607f4152 --- /dev/null +++ b/sample-apps/layer-java/function/pom.xml @@ -0,0 +1,59 @@ + + 4.0.0 + com.example + layer-java-function + jar + 1.0-SNAPSHOT + layer-java-function + + + UTF-8 + 21 + 21 + + + + + com.example + layer-java-layer + 1.0-SNAPSHOT + provided + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + 21 + 21 + 21 + + + + + + + \ No newline at end of file diff --git a/sample-apps/layer-java/function/src/main/java/example/F1Car.java b/sample-apps/layer-java/function/src/main/java/example/F1Car.java new file mode 100644 index 00000000..06c77d22 --- /dev/null +++ b/sample-apps/layer-java/function/src/main/java/example/F1Car.java @@ -0,0 +1,33 @@ +package example; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +public class F1Car { + + private String team; + private String driver; + + @JsonCreator + public F1Car(@JsonProperty("team") String team, + @JsonProperty("driver") String driver) { + this.team = team; + this.driver = driver; + } + + public String getTeam() { + return team; + } + + public void setTeam(String team) { + this.team = team; + } + + public String getDriver() { + return driver; + } + + public void setDriver(String driver) { + this.driver = driver; + } +} diff --git a/sample-apps/layer-java/function/src/main/java/example/Handler.java b/sample-apps/layer-java/function/src/main/java/example/Handler.java new file mode 100644 index 00000000..85bbf4c2 --- /dev/null +++ b/sample-apps/layer-java/function/src/main/java/example/Handler.java @@ -0,0 +1,23 @@ +package example; + +import com.amazonaws.services.lambda.runtime.Context; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.IOException; +import java.util.Map; + +public class Handler { + + public String handleRequest(Map input, Context context) throws IOException { + // Parse the input JSON + System.out.println(input); + ObjectMapper objectMapper = new ObjectMapper(); + F1Car f1Car = objectMapper.readValue(objectMapper.writeValueAsString(input), F1Car.class); + + StringBuilder finalString = new StringBuilder(); + finalString.append(f1Car.getDriver()); + finalString.append(" is a driver for team "); + finalString.append(f1Car.getTeam()); + return finalString.toString(); + } +} diff --git a/sample-apps/layer-java/layer/1-install.sh b/sample-apps/layer-java/layer/1-install.sh new file mode 100755 index 00000000..b39292ee --- /dev/null +++ b/sample-apps/layer-java/layer/1-install.sh @@ -0,0 +1 @@ +mvn clean install diff --git a/sample-apps/layer-java/layer/2-package.sh b/sample-apps/layer-java/layer/2-package.sh new file mode 100755 index 00000000..f7a9c67b --- /dev/null +++ b/sample-apps/layer-java/layer/2-package.sh @@ -0,0 +1,4 @@ +mkdir java +mkdir java/lib +cp -r target/layer-java-layer-1.0-SNAPSHOT.jar java/lib/ +zip -r layer_content.zip java diff --git a/sample-apps/layer-java/layer/pom.xml b/sample-apps/layer-java/layer/pom.xml new file mode 100644 index 00000000..ccfc9025 --- /dev/null +++ b/sample-apps/layer-java/layer/pom.xml @@ -0,0 +1,62 @@ + + 4.0.0 + com.example + layer-java-layer + jar + 1.0-SNAPSHOT + layer-java-layer + + + UTF-8 + 21 + 21 + + + + + com.amazonaws + aws-lambda-java-core + 1.2.3 + + + + com.fasterxml.jackson.core + jackson-databind + 2.17.0 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + 21 + 21 + 21 + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.5.2 + + false + + + + package + + shade + + + + + + + + \ No newline at end of file