diff --git a/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java b/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java index 4844af80079222b5536a13e25a3eb2dc68a11d39..764f0a240bedcbc427765d77e3c1662962e0a9dd 100644 --- a/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java +++ b/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java @@ -25,6 +25,7 @@ public class VIPSCoreApplication extends Application * given list with all resources defined in the project. */ private void addRestResourceClasses(Set<Class<?>> resources) { + resources.add(no.bioforsk.vips.core.config.JacksonConfig.class); resources.add(no.bioforsk.vips.core.service.ModelResource.class); diff --git a/src/main/java/no/bioforsk/vips/core/config/JacksonConfig.java b/src/main/java/no/bioforsk/vips/core/config/JacksonConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..7e467390630fb6394d9ef9fd276a6c0ce848e4b3 --- /dev/null +++ b/src/main/java/no/bioforsk/vips/core/config/JacksonConfig.java @@ -0,0 +1,32 @@ +package no.bioforsk.vips.core.config; + +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.ext.ContextResolver; +import javax.ws.rs.ext.Provider; +import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.map.SerializationConfig; + +/** + * This config ensures that Jackson serializes dates as [ISO-8601 ]-compliant notation, + * and not a timestamp + * @copyright 2013 <a href="http://www.bioforsk.no/">Bioforsk</a> + * @author Tor-Einar Skog <tor-einar.skog@bioforsk.no> + */ +@Provider +@Produces(MediaType.APPLICATION_JSON) +public class JacksonConfig implements ContextResolver<ObjectMapper>{ + private final ObjectMapper objectMapper; + + public JacksonConfig() + { + objectMapper = new ObjectMapper(); + objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false); + } + + @Override + public ObjectMapper getContext(Class<?> objectType) + { + return objectMapper; + } +} diff --git a/src/main/java/no/bioforsk/vips/core/service/ModelResource.java b/src/main/java/no/bioforsk/vips/core/service/ModelResource.java index e9ef44eb286e79e78dffbb53c9e6e5d010b0e18b..08c5429e9a29bcdc5d4a23fb558adaebc4df5084 100644 --- a/src/main/java/no/bioforsk/vips/core/service/ModelResource.java +++ b/src/main/java/no/bioforsk/vips/core/service/ModelResource.java @@ -127,6 +127,7 @@ public class ModelResource { try { Model calledModel = ModelFactory.getInstance().getModelInstance(config.getModelId()); + calledModel.setConfiguration(config); return Response.ok().entity(calledModel.getResult()).build(); } catch(InstantiationException | IllegalAccessException iae)