Skip to content

Commit befd5d8

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents a7198a5 + 142dace commit befd5d8

File tree

13 files changed

+45
-46
lines changed

13 files changed

+45
-46
lines changed

examples/osgi/apache-karaf-feature/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.graphql-java-kickstart</groupId>
88
<artifactId>graphql-java-servlet-osgi-examples</artifactId>
9-
<version>6.2.1-SNAPSHOT</version>
9+
<version>7.3.4-SNAPSHOT</version>
1010
</parent>
1111

1212
<artifactId>graphql-java-servlet-osgi-examples-karaf-feature</artifactId>

examples/osgi/apache-karaf-package/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.graphql-java-kickstart</groupId>
88
<artifactId>graphql-java-servlet-osgi-examples</artifactId>
9-
<version>6.2.1-SNAPSHOT</version>
9+
<version>7.3.4-SNAPSHOT</version>
1010
</parent>
1111

1212
<artifactId>graphql-java-servlet-osgi-examples-apache-karaf-package</artifactId>
@@ -112,4 +112,4 @@
112112
</plugin>
113113
</plugins>
114114
</build>
115-
</project>
115+
</project>

examples/osgi/buildAndRun.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env bash
22
mvn clean install
33
pushd apache-karaf-package/target
4-
tar zxvf graphql-java-servlet-osgi-examples-apache-karaf-package-3.0.1.tar.gz
5-
cd graphql-java-servlet-osgi-examples-apache-karaf-package-3.0.1/bin
4+
tar zxvf graphql-java-servlet-osgi-examples-apache-karaf-package-7.3.4-SNAPSHOT.tar.gz
5+
cd graphql-java-servlet-osgi-examples-apache-karaf-package-7.3.4-SNAPSHOT/bin
66
./karaf debug
7-
popd
7+
popd

examples/osgi/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
<groupId>com.graphql-java-kickstart</groupId>
88
<artifactId>graphql-java-servlet-osgi-examples</artifactId>
9-
<version>6.2.1-SNAPSHOT</version>
9+
<version>7.3.4-SNAPSHOT</version>
1010
<packaging>pom</packaging>
1111

1212
<properties>
13-
<karaf.version>4.1.6</karaf.version>
14-
<graphql.java.servlet.version>6.2.1-SNAPSHOT</graphql.java.servlet.version>
15-
<graphql.java.version>10.0</graphql.java.version>
13+
<karaf.version>4.2.4</karaf.version>
14+
<graphql.java.servlet.version>7.3.4-SNAPSHOT</graphql.java.servlet.version>
15+
<graphql.java.version>11.0</graphql.java.version>
1616
</properties>
1717

1818
<modules>

examples/osgi/providers/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.graphql-java-kickstart</groupId>
88
<artifactId>graphql-java-servlet-osgi-examples</artifactId>
9-
<version>6.2.1-SNAPSHOT</version>
9+
<version>7.3.4-SNAPSHOT</version>
1010
</parent>
1111

1212
<artifactId>graphql-java-servlet-osgi-examples-providers</artifactId>
@@ -54,4 +54,4 @@
5454
</plugins>
5555
</build>
5656

57-
</project>
57+
</project>

examples/osgi/providers/src/main/java/graphql/servlet/examples/osgi/ExampleGraphQLProvider.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public Collection<GraphQLFieldDefinition> getQueries() {
2525
fieldDefinitions.add(newFieldDefinition()
2626
.type(GraphQLString)
2727
.name("hello")
28+
.description("Basic example of a GraphQL Java Servlet provider using the Apache Karaf OSGi Runtime")
2829
.staticValue("world")
2930
.build());
3031
return fieldDefinitions;

src/main/java/graphql/servlet/AbstractGraphQLHttpServlet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public AbstractGraphQLHttpServlet(List<GraphQLServletListener> listeners) {
106106
}
107107

108108
@Override
109-
public void init(ServletConfig servletConfig) {
109+
public void init() {
110110
this.configuration = getConfiguration();
111111

112112
this.getHandler = (request, response) -> {
Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,34 @@
11
package graphql.servlet;
22

3-
import com.fasterxml.jackson.databind.InjectableValues;
43
import com.fasterxml.jackson.databind.ObjectMapper;
5-
import com.fasterxml.jackson.databind.SerializationFeature;
6-
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
74

85
public class ConfiguringObjectMapperProvider implements ObjectMapperProvider {
96

7+
private final ObjectMapper objectMapperTemplate;
8+
109
private final ObjectMapperConfigurer objectMapperConfigurer;
1110

11+
public ConfiguringObjectMapperProvider(ObjectMapper objectMapperTemplate, ObjectMapperConfigurer objectMapperConfigurer) {
12+
this.objectMapperTemplate = objectMapperTemplate == null ? new ObjectMapper() : objectMapperTemplate;
13+
this.objectMapperConfigurer = objectMapperConfigurer == null ? new DefaultObjectMapperConfigurer() : objectMapperConfigurer;
14+
}
15+
16+
public ConfiguringObjectMapperProvider(ObjectMapper objectMapperTemplate) {
17+
this(objectMapperTemplate, null);
18+
}
19+
1220
public ConfiguringObjectMapperProvider(ObjectMapperConfigurer objectMapperConfigurer) {
13-
this.objectMapperConfigurer = objectMapperConfigurer;
21+
this(null, objectMapperConfigurer);
1422
}
1523

1624
public ConfiguringObjectMapperProvider() {
17-
this.objectMapperConfigurer = new DefaultObjectMapperConfigurer();
25+
this(null, null);
1826
}
1927

2028
@Override
2129
public ObjectMapper provide() {
22-
ObjectMapper mapper = new ObjectMapper().disable(
23-
SerializationFeature.FAIL_ON_EMPTY_BEANS).registerModule(new Jdk8Module());
24-
objectMapperConfigurer.configure(mapper);
25-
26-
InjectableValues.Std injectableValues = new InjectableValues.Std();
27-
injectableValues.addValue(ObjectMapper.class, mapper);
28-
mapper.setInjectableValues(injectableValues);
29-
30+
ObjectMapper mapper = this.objectMapperTemplate.copy();
31+
this.objectMapperConfigurer.configure(mapper);
3032
return mapper;
3133
}
3234
}

src/main/java/graphql/servlet/DefaultGraphQLServlet.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,7 @@
11
package graphql.servlet;
22

3-
import javax.servlet.ServletConfig;
4-
53
public class DefaultGraphQLServlet extends AbstractGraphQLHttpServlet {
64

7-
@Override
8-
public void init(ServletConfig servletConfig) {
9-
10-
super.init(servletConfig);
11-
}
12-
135
@Override
146
protected GraphQLInvocationInputFactory getInvocationInputFactory() {
157
return null;
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
package graphql.servlet;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
34
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import com.fasterxml.jackson.databind.SerializationFeature;
6+
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
47

58
/**
69
* @author Andrew Potter
710
*/
811
public class DefaultObjectMapperConfigurer implements ObjectMapperConfigurer {
12+
913
@Override
1014
public void configure(ObjectMapper mapper) {
11-
15+
// default configuration for GraphQL Java Servlet
16+
mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
17+
mapper.registerModule(new Jdk8Module());
18+
mapper.setDefaultPropertyInclusion(JsonInclude.Include.ALWAYS);
1219
}
1320
}

src/main/java/graphql/servlet/GraphQLObjectMapper.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package graphql.servlet;
22

3-
import com.fasterxml.jackson.annotation.JsonInclude;
43
import com.fasterxml.jackson.core.JsonProcessingException;
54
import com.fasterxml.jackson.core.type.TypeReference;
65
import com.fasterxml.jackson.databind.MappingIterator;
@@ -45,8 +44,7 @@ public ObjectMapper getJacksonMapper() {
4544
synchronized(this) {
4645
result = mapper;
4746
if (result == null) { // Second check (with locking)
48-
mapper = result = objectMapperProvider.provide().copy();
49-
mapper.setDefaultPropertyInclusion(JsonInclude.Include.ALWAYS);
47+
mapper = result = objectMapperProvider.provide();
5048
}
5149
}
5250
}

src/main/java/graphql/servlet/GraphQLSchemaProvider.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package graphql.servlet;
22

3+
import graphql.schema.GraphQLObjectType;
34
import graphql.schema.GraphQLSchema;
45

56
import javax.servlet.http.HttpServletRequest;
@@ -8,10 +9,8 @@
89
public interface GraphQLSchemaProvider {
910

1011
static GraphQLSchema copyReadOnly(GraphQLSchema schema) {
11-
return GraphQLSchema.newSchema()
12-
.query(schema.getQueryType())
13-
.subscription(schema.getSubscriptionType())
14-
.additionalTypes(schema.getAdditionalTypes())
12+
return GraphQLSchema.newSchema(schema)
13+
.mutation((GraphQLObjectType) null)
1514
.build();
1615
}
1716

src/main/java/graphql/servlet/internal/VariablesDeserializer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package graphql.servlet.internal;
22

33
import com.fasterxml.jackson.core.JsonParser;
4+
import com.fasterxml.jackson.core.ObjectCodec;
45
import com.fasterxml.jackson.core.type.TypeReference;
56
import com.fasterxml.jackson.databind.DeserializationContext;
67
import com.fasterxml.jackson.databind.JsonDeserializer;
7-
import com.fasterxml.jackson.databind.ObjectMapper;
88

99
import java.io.IOException;
1010
import java.util.Map;
@@ -15,17 +15,17 @@
1515
public class VariablesDeserializer extends JsonDeserializer<Map<String, Object>> {
1616
@Override
1717
public Map<String, Object> deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
18-
return deserializeVariablesObject(p.readValueAs(Object.class), (ObjectMapper) ctxt.findInjectableValue(ObjectMapper.class.getName(), null, null));
18+
return deserializeVariablesObject(p.readValueAs(Object.class), p.getCodec());
1919
}
2020

21-
public static Map<String, Object> deserializeVariablesObject(Object variables, ObjectMapper mapper) {
21+
public static Map<String, Object> deserializeVariablesObject(Object variables, ObjectCodec codec) {
2222
if (variables instanceof Map) {
2323
@SuppressWarnings("unchecked")
2424
Map<String, Object> genericVariables = (Map<String, Object>) variables;
2525
return genericVariables;
2626
} else if (variables instanceof String) {
2727
try {
28-
return mapper.readValue((String) variables, new TypeReference<Map<String, Object>>() {});
28+
return codec.readValue(codec.getFactory().createParser((String) variables), new TypeReference<Map<String, Object>>() {});
2929
} catch (IOException e) {
3030
throw new RuntimeException(e);
3131
}

0 commit comments

Comments
 (0)