From 286155ecd63412560b2ee994b96ee01d9b915d94 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@bioforsk.no>
Date: Wed, 14 Aug 2013 15:28:55 +0200
Subject: [PATCH] =?UTF-8?q?First=20version=20with=20working=20existing=20m?=
 =?UTF-8?q?odel=20(N=C3=A6rstad=20model)!!!?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../vips/core/VIPSCoreApplication.java        |  1 +
 .../vips/core/config/JacksonConfig.java       | 32 +++++++++++++++++++
 .../vips/core/service/ModelResource.java      |  1 +
 3 files changed, 34 insertions(+)
 create mode 100644 src/main/java/no/bioforsk/vips/core/config/JacksonConfig.java

diff --git a/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java b/src/main/java/no/bioforsk/vips/core/VIPSCoreApplication.java
index 4844af8..764f0a2 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 0000000..7e46739
--- /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 e9ef44e..08c5429 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)
-- 
GitLab