Skip to content

Commit 2675a77

Browse files
committed
Update java-events examples to use Java 11.
- Add better functionality to each handler event. - Write one unit test per handler, using aws-lambda-java-tests library. - Tested each handler to ensure each still works. - Cleanup of blank-java and java-basic code.
1 parent 101eea3 commit 2675a77

35 files changed

+531
-262
lines changed

sample-apps/blank-java/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ dependencies {
2121
runtimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:[2.17.1,)'
2222
runtimeOnly 'com.amazonaws:aws-lambda-java-log4j2:1.5.0'
2323
testImplementation 'com.amazonaws:aws-lambda-java-tests:1.1.1'
24-
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
25-
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.0'
24+
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
25+
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
2626
}
2727

2828
test {

sample-apps/blank-java/pom.xml

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,13 @@
7070
<dependency>
7171
<groupId>org.junit.jupiter</groupId>
7272
<artifactId>junit-jupiter-api</artifactId>
73-
<version>5.6.0</version>
73+
<version>5.8.2</version>
7474
<scope>test</scope>
7575
</dependency>
7676
<dependency>
7777
<groupId>org.junit.jupiter</groupId>
7878
<artifactId>junit-jupiter-engine</artifactId>
79-
<version>5.6.0</version>
79+
<version>5.8.2</version>
8080
<scope>test</scope>
8181
</dependency>
8282
<dependency>
@@ -106,29 +106,16 @@
106106
<goals>
107107
<goal>shade</goal>
108108
</goals>
109-
<configuration>
110-
<transformers>
111-
<transformer implementation="com.github.edwgiz.maven_shade_plugin.log4j2_cache_transformer.PluginsCacheFileTransformer">
112-
</transformer>
113-
</transformers>
114-
</configuration>
115109
</execution>
116110
</executions>
117-
<dependencies>
118-
<dependency>
119-
<groupId>com.github.edwgiz</groupId>
120-
<artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
121-
<version>[2.17.1,)</version>
122-
</dependency>
123-
</dependencies>
124111
</plugin>
125112
<plugin>
126113
<groupId>org.apache.maven.plugins</groupId>
127114
<artifactId>maven-compiler-plugin</artifactId>
128115
<version>3.8.1</version>
129116
<configuration>
130-
<source>1.8</source>
131-
<target>1.8</target>
117+
<source>11</source>
118+
<target>11</target>
132119
</configuration>
133120
</plugin>
134121
</plugins>

sample-apps/java-basic/build.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ repositories {
88

99
dependencies {
1010
implementation 'com.amazonaws:aws-lambda-java-core:1.2.1'
11-
testImplementation 'org.apache.logging.log4j:log4j-api:[2.17.1,)'
12-
testImplementation 'org.apache.logging.log4j:log4j-core:[2.17.1,)'
13-
testImplementation 'org.apache.logging.log4j:log4j-slf4j18-impl:[2.17.1,)'
11+
runtimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:[2.17.1,)'
1412
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
1513
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.0'
1614
}

sample-apps/java-basic/pom.xml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,19 @@
3333
<groupId>org.apache.logging.log4j</groupId>
3434
<artifactId>log4j-slf4j18-impl</artifactId>
3535
<version>[2.17.1,)</version>
36-
<scope>test</scope>
3736
</dependency>
38-
<dependency>
37+
<dependency>
3938
<groupId>org.junit.jupiter</groupId>
4039
<artifactId>junit-jupiter-api</artifactId>
4140
<version>5.6.0</version>
4241
<scope>test</scope>
43-
</dependency>
44-
<dependency>
42+
</dependency>
43+
<dependency>
4544
<groupId>org.junit.jupiter</groupId>
4645
<artifactId>junit-jupiter-engine</artifactId>
4746
<version>5.6.0</version>
4847
<scope>test</scope>
49-
</dependency>
48+
</dependency>
5049
</dependencies>
5150

5251
<build>

sample-apps/java-basic/src/main/java/example/Handler.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22

33
import com.amazonaws.services.lambda.runtime.Context;
44
import com.amazonaws.services.lambda.runtime.RequestHandler;
5-
import com.amazonaws.services.lambda.runtime.LambdaLogger;
5+
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
68

79
import java.util.Map;
810

911
// Handler value: example.Handler
1012
public class Handler implements RequestHandler<Map<String,String>, Void>{
1113

14+
private static final Logger logger = LoggerFactory.getLogger(Handler.class);
15+
1216
@Override
1317
public Void handleRequest(Map<String,String> event, Context context)
1418
{
15-
LambdaLogger logger = context.getLogger();
16-
logger.log("ENVIRONMENT VARIABLES: " + System.getenv());
17-
logger.log("EVENT: " + event);
18-
logger.log("EVENT TYPE: " + event.getClass());
19+
logger.info("ENVIRONMENT VARIABLES: " + System.getenv());
20+
logger.info("EVENT: " + event);
21+
logger.info("EVENT TYPE: " + event.getClass());
1922
return null;
2023
}
2124
}

sample-apps/java-basic/src/main/java/example/HandlerDivide.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,29 @@
22

33
import com.amazonaws.services.lambda.runtime.Context;
44
import com.amazonaws.services.lambda.runtime.RequestHandler;
5-
import com.amazonaws.services.lambda.runtime.LambdaLogger;
65

76
import java.util.List;
87

8+
import org.slf4j.Logger;
9+
import org.slf4j.LoggerFactory;
10+
911
// Handler value: example.HandlerDivide
1012
public class HandlerDivide implements RequestHandler<List<Integer>, Integer>{
1113

14+
private static final Logger logger = LoggerFactory.getLogger(HandlerDivide.class);
1215
/*
1316
* Takes a list of two integers and divides them.
1417
*/
1518
@Override
1619
public Integer handleRequest(List<Integer> event, Context context)
1720
{
18-
LambdaLogger logger = context.getLogger();
1921
if ( event.size() != 2 )
2022
{
2123
throw new InputLengthException("Input must be an array that contains 2 numbers.");
2224
}
2325
int numerator = event.get(0);
2426
int denominator = event.get(1);
25-
logger.log("EVENT: Numerator is " + event.get(0).toString() +
27+
logger.info("EVENT: Numerator is " + event.get(0).toString() +
2628
"; Denominator is " + event.get(1).toString());
2729
return numerator/denominator;
2830
}

sample-apps/java-basic/src/main/java/example/HandlerInteger.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22

33
import com.amazonaws.services.lambda.runtime.Context;
44
import com.amazonaws.services.lambda.runtime.RequestHandler;
5-
import com.amazonaws.services.lambda.runtime.LambdaLogger;
5+
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
68

79
// Handler value: example.HandlerInteger
810
public class HandlerInteger implements RequestHandler<Integer, Integer>{
911

12+
private static final Logger logger = LoggerFactory.getLogger(HandlerInteger.class);
13+
1014
@Override
1115
/*
1216
* Takes an Integer as input, adds 1, and returns it.
1317
*/
1418
public Integer handleRequest(Integer event, Context context)
1519
{
16-
LambdaLogger logger = context.getLogger();
17-
logger.log("EVENT: " + event);
18-
logger.log("EVENT TYPE: " + event.getClass().toString());
20+
logger.info("EVENT: " + event);
21+
logger.info("EVENT TYPE: " + event.getClass().toString());
1922
return event + 1;
2023
}
2124
}

sample-apps/java-basic/src/main/java/example/HandlerList.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,25 @@
22

33
import com.amazonaws.services.lambda.runtime.Context;
44
import com.amazonaws.services.lambda.runtime.RequestHandler;
5-
import com.amazonaws.services.lambda.runtime.LambdaLogger;
5+
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
68

79
import java.util.List;
810

911
// Handler value: example.HandlerList
1012
public class HandlerList implements RequestHandler<List<Integer>, Integer>{
1113

14+
private static final Logger logger = LoggerFactory.getLogger(HandlerList.class);
15+
1216
@Override
1317
/*
1418
* Takes a list of Integers and returns its sum.
1519
*/
1620
public Integer handleRequest(List<Integer> event, Context context)
1721
{
18-
LambdaLogger logger = context.getLogger();
19-
logger.log("EVENT: " + event);
20-
logger.log("EVENT TYPE: " + event.getClass().toString());
22+
logger.info("EVENT: " + event);
23+
logger.info("EVENT TYPE: " + event.getClass().toString());
2124
return event.stream().mapToInt(Integer::intValue).sum();
2225
}
2326
}

sample-apps/java-basic/src/main/java/example/HandlerStream.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,14 @@
77
import java.io.IOException;
88
import java.io.OutputStream;
99

10+
import org.slf4j.Logger;
11+
import org.slf4j.LoggerFactory;
12+
1013
// Handler value: example.HandlerStream
1114
public class HandlerStream implements RequestStreamHandler {
1215

16+
private static final Logger logger = LoggerFactory.getLogger(HandlerStream.class);
17+
1318
@Override
1419
/*
1520
* Takes an InputStream and an OutputStream. Reads from the InputStream,
@@ -27,7 +32,7 @@ public void handleRequest(InputStream inputStream, OutputStream outputStream, Co
2732
} finally {
2833
inputStream.close();
2934
String finalString = outputStream.toString();
30-
System.out.println(finalString);
35+
logger.info("Final string result: " + finalString);
3136
outputStream.close();
3237
}
3338
}

sample-apps/java-basic/src/main/java/example/HandlerString.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22

33
import com.amazonaws.services.lambda.runtime.Context;
44
import com.amazonaws.services.lambda.runtime.RequestHandler;
5-
import com.amazonaws.services.lambda.runtime.LambdaLogger;
5+
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
68

79
// Handler value: example.HandlerString
810
public class HandlerString implements RequestHandler<String, String>{
911

12+
private static final Logger logger = LoggerFactory.getLogger(HandlerString.class);
13+
1014
@Override
1115
/*
1216
* Takes a String as input, and converts all characters to lowercase.
1317
*/
1418
public String handleRequest(String event, Context context)
1519
{
16-
LambdaLogger logger = context.getLogger();
17-
logger.log("EVENT: " + event);
18-
logger.log("EVENT TYPE: " + event.getClass().toString());
20+
logger.info("EVENT: " + event);
21+
logger.info("EVENT TYPE: " + event.getClass().toString());
1922
return event.toLowerCase();
2023
}
2124
}

0 commit comments

Comments
 (0)