From fbee27d7d3a200572d16c5cbcca0d027abed5671 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@nibio.no>
Date: Mon, 12 Mar 2018 14:16:12 +0100
Subject: [PATCH] Adding custom (de)serialization

---
 pom.xml                                                  | 5 +++++
 .../vips/logic/modules/roughage/RoughageService.java     | 6 ++++--
 .../java/no/nibio/vips/logic/service/JacksonConfig.java  | 9 ++++++++-
 3 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index c746e518..fca6f850 100755
--- a/pom.xml
+++ b/pom.xml
@@ -256,6 +256,11 @@
         <artifactId>enunciate-rt-util</artifactId>
         <version>2.10.1</version>
       </dependency>
+      <dependency>
+    <groupId>com.bedatadriven</groupId>
+    <artifactId>jackson-datatype-jts</artifactId>
+    <version>2.2</version>
+  </dependency>
   </dependencies>
 
   <build>
diff --git a/src/main/java/no/nibio/vips/logic/modules/roughage/RoughageService.java b/src/main/java/no/nibio/vips/logic/modules/roughage/RoughageService.java
index 81c5f253..cfe05d63 100755
--- a/src/main/java/no/nibio/vips/logic/modules/roughage/RoughageService.java
+++ b/src/main/java/no/nibio/vips/logic/modules/roughage/RoughageService.java
@@ -207,7 +207,8 @@ public class RoughageService {
                             TMel, 
                             firstLongTermForecastTime, 
                             dateOfLastWeatherData, 
-                            timeZone
+                            timeZone,
+                            false
                     );
                     Collections.sort(TMLongTime);
                     TMLongTime = wUtil.fillHourlyHolesBruteForce(TMLongTime, WeatherUtil.AGGREGATION_TYPE_AVERAGE, firstLongTermForecastTime, dateOfLastWeatherData);
@@ -232,7 +233,8 @@ public class RoughageService {
                             RRel, 
                             firstLongTermForecastTime, 
                             dateOfLastWeatherData, 
-                            timeZone
+                            timeZone,
+                            false
                     );
 
                     RRLongTime = wUtil.fillHourlyHolesBruteForce(RRLongTime, WeatherUtil.AGGREGATION_TYPE_SUM, firstLongTermForecastTime, dateOfLastWeatherData);
diff --git a/src/main/java/no/nibio/vips/logic/service/JacksonConfig.java b/src/main/java/no/nibio/vips/logic/service/JacksonConfig.java
index 7c60b500..4cf59885 100755
--- a/src/main/java/no/nibio/vips/logic/service/JacksonConfig.java
+++ b/src/main/java/no/nibio/vips/logic/service/JacksonConfig.java
@@ -19,18 +19,24 @@
 
 package no.nibio.vips.logic.service;
 
+import com.bedatadriven.jackson.datatype.jts.JtsModule;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
 import javax.ws.rs.ext.ContextResolver;
 import javax.ws.rs.ext.Provider;
 
 /**
  * Add this to no.nibio.vips.logic.VIPSLogicApplication if you want all
  * dates to be serialized as ISO formatted date strings
- * @copyright 2015 <a href="http://www.nibio.no/">NIBIO</a>
+ * @copyright 2018 <a href="http://www.nibio.no/">NIBIO</a>
  * @author Tor-Einar Skog <tor-einar.skog@nibio.no>
  */
 @Provider
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
 public class JacksonConfig implements ContextResolver<ObjectMapper>
 {
     private final ObjectMapper objectMapper;
@@ -39,6 +45,7 @@ public class JacksonConfig implements ContextResolver<ObjectMapper>
     {
         objectMapper = new ObjectMapper().configure(
                            SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
+        objectMapper.registerModule(new JtsModule());
     }
 
     @Override
-- 
GitLab