Skip to content

Commit 0ea2444

Browse files
committed
Removed jackson as a global dependency so that we can have different versions in each implementation
1 parent 14a4333 commit 0ea2444

File tree

11 files changed

+97
-24
lines changed

11 files changed

+97
-24
lines changed

aws-serverless-java-container-core/pom.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
<version>0.9-SNAPSHOT</version>
1515
</parent>
1616

17+
<properties>
18+
<jackson.version>2.9.3</jackson.version>
19+
<jaxrs.version>2.0.1</jaxrs.version>
20+
<servlet.version>3.1.0</servlet.version>
21+
</properties>
22+
1723
<dependencies>
1824
<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core -->
1925
<dependency>
@@ -26,14 +32,14 @@
2632
<dependency>
2733
<groupId>javax.servlet</groupId>
2834
<artifactId>javax.servlet-api</artifactId>
29-
<version>3.1.0</version>
35+
<version>${servlet.version}</version>
3036
</dependency>
3137

3238
<!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
3339
<dependency>
3440
<groupId>javax.ws.rs</groupId>
3541
<artifactId>javax.ws.rs-api</artifactId>
36-
<version>2.0.1</version>
42+
<version>${jaxrs.version}</version>
3743
</dependency>
3844

3945
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->

aws-serverless-java-container-jersey/pom.xml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424
<groupId>com.amazonaws.serverless</groupId>
2525
<artifactId>aws-serverless-java-container-core</artifactId>
2626
<version>0.9-SNAPSHOT</version>
27+
<exclusions>
28+
<exclusion>
29+
<groupId>com.fasterxml.jackson.core</groupId>
30+
<artifactId>jackson-databind</artifactId>
31+
</exclusion>
32+
</exclusions>
2733
</dependency>
2834

2935
<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-server -->
@@ -41,13 +47,19 @@
4147
<scope>test</scope>
4248
</dependency>
4349

50+
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
51+
<dependency>
52+
<groupId>com.fasterxml.jackson.core</groupId>
53+
<artifactId>jackson-annotations</artifactId>
54+
<version>2.8.4</version>
55+
</dependency>
56+
4457
<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.media/jersey-media-json-jackson -->
4558
<dependency>
4659
<groupId>org.glassfish.jersey.media</groupId>
4760
<artifactId>jersey-media-json-jackson</artifactId>
4861
<version>${jersey.version}</version>
4962
<scope>test</scope>
50-
<!-- excluding to resolve a dependency convergence with jackson-annotations -->
5163
<exclusions>
5264
<exclusion>
5365
<groupId>com.fasterxml.jackson.core</groupId>

aws-serverless-java-container-jersey/src/test/java/com/amazonaws/serverless/proxy/jersey/EchoJerseyResource.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ public MapResponseModel echoServletHeaders(@Context HttpServletRequest context)
5656
String headerName = headerNames.nextElement();
5757
headers.addValue(headerName, context.getHeader(headerName));
5858
}
59-
6059
return headers;
6160
}
6261

aws-serverless-java-container-jersey/src/test/java/com/amazonaws/serverless/proxy/jersey/JerseyAwsProxyTest.java

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
package com.amazonaws.serverless.proxy.jersey;
1414

1515

16+
import com.amazonaws.serverless.proxy.jersey.factory.AwsProxyServletContextFactory;
17+
import com.amazonaws.serverless.proxy.jersey.factory.AwsProxyServletRequestFactory;
1618
import com.amazonaws.serverless.proxy.model.AwsProxyRequest;
1719
import com.amazonaws.serverless.proxy.model.AwsProxyResponse;
1820
import com.amazonaws.serverless.proxy.internal.servlet.AwsServletContext;
19-
import com.amazonaws.serverless.proxy.jersey.factory.AwsProxyServletContextFactory;
20-
import com.amazonaws.serverless.proxy.jersey.factory.AwsProxyServletRequestFactory;
2121
import com.amazonaws.serverless.proxy.jersey.model.MapResponseModel;
2222
import com.amazonaws.serverless.proxy.jersey.model.SingleValueModel;
2323
import com.amazonaws.serverless.proxy.internal.testutils.AwsProxyRequestBuilder;
@@ -28,6 +28,7 @@
2828
import com.fasterxml.jackson.databind.ObjectMapper;
2929
import org.apache.commons.codec.binary.Base64;
3030
import org.glassfish.hk2.utilities.binding.AbstractBinder;
31+
import org.glassfish.jersey.logging.LoggingFeature;
3132
import org.glassfish.jersey.process.internal.RequestScoped;
3233
import org.glassfish.jersey.server.ResourceConfig;
3334
import org.junit.Test;
@@ -55,17 +56,19 @@ public class JerseyAwsProxyTest {
5556

5657
private static ObjectMapper objectMapper = new ObjectMapper();
5758
private static ResourceConfig app = new ResourceConfig().packages("com.amazonaws.serverless.proxy.jersey", "com.amazonaws.serverless.proxy.jersey.providers")
58-
.register(new AbstractBinder() {
59-
@Override
60-
protected void configure() {
61-
bindFactory(AwsProxyServletRequestFactory.class)
62-
.to(HttpServletRequest.class)
63-
.in(RequestScoped.class);
64-
bindFactory(AwsProxyServletContextFactory.class)
65-
.to(ServletContext.class)
66-
.in(RequestScoped.class);
67-
}
68-
});
59+
.register(LoggingFeature.class)
60+
.register(new AbstractBinder() {
61+
@Override
62+
protected void configure() {
63+
bindFactory(AwsProxyServletRequestFactory.class)
64+
.to(HttpServletRequest.class)
65+
.in(RequestScoped.class);
66+
bindFactory(AwsProxyServletContextFactory.class)
67+
.to(ServletContext.class)
68+
.in(RequestScoped.class);
69+
}
70+
})
71+
.property(LoggingFeature.LOGGING_FEATURE_VERBOSITY_SERVER, LoggingFeature.Verbosity.PAYLOAD_ANY);
6972
private static JerseyLambdaContainerHandler<AwsProxyRequest, AwsProxyResponse> handler = JerseyLambdaContainerHandler.getAwsProxyHandler(app);
7073

7174
private static Context lambdaContext = new MockLambdaContext();

aws-serverless-java-container-jersey/src/test/java/com/amazonaws/serverless/proxy/jersey/providers/CustomExceptionMapper.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import javax.inject.Inject;
55
import javax.servlet.http.HttpServletRequest;
6+
import javax.ws.rs.core.Context;
67
import javax.ws.rs.core.Response;
78
import javax.ws.rs.ext.ExceptionMapper;
89
import javax.ws.rs.ext.Provider;
@@ -11,6 +12,10 @@
1112
@Provider
1213
public class CustomExceptionMapper implements ExceptionMapper<UnsupportedOperationException> {
1314

15+
public CustomExceptionMapper() {
16+
System.out.println("Starting custom exception mapper");
17+
}
18+
1419
@Inject
1520
public javax.inject.Provider<HttpServletRequest> request;
1621

aws-serverless-java-container-spring/pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
</parent>
1616

1717
<properties>
18-
<spring.version>4.3.4.RELEASE</spring.version>
18+
<spring.version>4.3.13.RELEASE</spring.version>
19+
<jackson.version>2.9.3</jackson.version>
1920
</properties>
2021

2122
<dependencies>

aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ public void base64_binaryResponse_base64Encoding() {
193193
@Test
194194
public void injectBody_populatedResponse_noException() {
195195
AwsProxyRequest request = new AwsProxyRequestBuilder("/echo/request-body", "POST")
196+
.header(HttpHeaders.CONTENT_TYPE, "text/plain")
196197
.body("This is a populated body")
197198
.build();
198199

pom.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,6 @@
3535
</license>
3636
</licenses>
3737

38-
<properties>
39-
<jackson.version>2.8.4</jackson.version>
40-
</properties>
41-
4238
<dependencies>
4339
<!-- https://mvnrepository.com/artifact/junit/junit -->
4440
<dependency>

samples/spring/pet-store/pom.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<properties>
2727
<maven.compiler.source>1.8</maven.compiler.source>
2828
<maven.compiler.target>1.8</maven.compiler.target>
29-
<spring.version>4.3.4.RELEASE</spring.version>
29+
<spring.version>5.0.2.RELEASE</spring.version>
3030
<jackson.version>2.8.4</jackson.version>
3131
</properties>
3232

@@ -50,6 +50,12 @@
5050
<version>${spring.version}</version>
5151
</dependency>
5252

53+
<dependency>
54+
<groupId>org.springframework</groupId>
55+
<artifactId>spring-context</artifactId>
56+
<version>${spring.version}</version>
57+
</dependency>
58+
5359
<dependency>
5460
<groupId>com.fasterxml.jackson.core</groupId>
5561
<artifactId>jackson-annotations</artifactId>

samples/spring/pet-store/sam.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Resources:
1010
CodeUri: target/serverless-spring-example-1.0-SNAPSHOT.jar
1111
MemorySize: 512
1212
Policies: AWSLambdaBasicExecutionRole
13-
Timeout: 20
13+
Timeout: 30
1414
Events:
1515
GetResource:
1616
Type: Api

0 commit comments

Comments
 (0)