diff options
Diffstat (limited to 'orchestrator')
-rw-r--r-- | orchestrator/pom.xml | 28 | ||||
-rw-r--r-- | orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/providers/ObjectMapperContextResolver.java | 26 |
2 files changed, 54 insertions, 0 deletions
diff --git a/orchestrator/pom.xml b/orchestrator/pom.xml index dd87082a90d..717eab0d92e 100644 --- a/orchestrator/pom.xml +++ b/orchestrator/pom.xml @@ -68,6 +68,11 @@ <scope>test</scope> </dependency> <dependency> + <groupId>org.scala-lang</groupId> + <artifactId>scala-library</artifactId> + <scope>compile</scope> + </dependency> + <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> </dependency> @@ -92,6 +97,29 @@ </exclusions> </dependency> <dependency> + <groupId>com.fasterxml.jackson.module</groupId> + <artifactId>jackson-module-scala_${scala.major-version}</artifactId> + <version>${jackson2.version}</version> + <exclusions> + <exclusion> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + </exclusion> + <exclusion> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + </exclusion> + <exclusion> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>findbugs</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson2.version}</version> diff --git a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/providers/ObjectMapperContextResolver.java b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/providers/ObjectMapperContextResolver.java new file mode 100644 index 00000000000..23a84d007d4 --- /dev/null +++ b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/providers/ObjectMapperContextResolver.java @@ -0,0 +1,26 @@ +package com.yahoo.vespa.orchestrator.resources.providers; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.module.scala.DefaultScalaModule$; + +import javax.ws.rs.ext.ContextResolver; +import javax.ws.rs.ext.Provider; + +/** + * Allow Scala case classes to be serialized to JSON + * @author bjorncs + */ +@Provider +public class ObjectMapperContextResolver implements ContextResolver<ObjectMapper> { + private final ObjectMapper objectMapper; + + public ObjectMapperContextResolver() { + objectMapper = new ObjectMapper(); + objectMapper.registerModule(DefaultScalaModule$.MODULE$); + } + + @Override + public ObjectMapper getContext(Class<?> type) { + return objectMapper; + } +} |