From 1ce9e9950d0371e18d65fe88474d34bb48ec5fb0 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@bioforsk.no>
Date: Fri, 21 Nov 2014 16:12:53 +0100
Subject: [PATCH] Upgrading Jackson to v. 2.4.1

---
 pom.xml                                       | 25 ++++++++++--------
 .../java/no/bioforsk/vips/entity/Result.java  |  3 ++-
 .../java/no/bioforsk/vips/util/JSONUtil.java  | 12 ++++-----
 .../bioforsk/vips/util/WeatherUtilTest.java   | 26 +++++++++----------
 4 files changed, 35 insertions(+), 31 deletions(-)

diff --git a/pom.xml b/pom.xml
index 9882d2a..51c51db 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,17 +24,9 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.12</version>
-      <type>jar</type>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.12</version>
-      <type>jar</type>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-annotations</artifactId>
+      <version>2.4.1</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
@@ -43,6 +35,17 @@
       <version>1.2.0</version>
       <type>jar</type>
     </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+      <version>2.4.1</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>2.4.1</version>
+    </dependency>
     <dependency>
       <groupId>javax</groupId>
       <artifactId>javaee-web-api</artifactId>
diff --git a/src/main/java/no/bioforsk/vips/entity/Result.java b/src/main/java/no/bioforsk/vips/entity/Result.java
index eebbe24..0a82aad 100644
--- a/src/main/java/no/bioforsk/vips/entity/Result.java
+++ b/src/main/java/no/bioforsk/vips/entity/Result.java
@@ -22,7 +22,8 @@ package no.bioforsk.vips.entity;
 import java.util.Date;
 import java.util.Map;
 import java.util.Set;
-import org.codehaus.jackson.map.annotate.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
 
 /**
  * Represents a result from a model run
diff --git a/src/main/java/no/bioforsk/vips/util/JSONUtil.java b/src/main/java/no/bioforsk/vips/util/JSONUtil.java
index b826966..75cdcda 100644
--- a/src/main/java/no/bioforsk/vips/util/JSONUtil.java
+++ b/src/main/java/no/bioforsk/vips/util/JSONUtil.java
@@ -19,22 +19,22 @@
 
 package no.bioforsk.vips.util;
 
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import java.io.IOException;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.map.ObjectMapper;
 
 /**
  * Simple utility class for JSON, building on top of Jackson
- * @copyright 2013 <a href="http://www.bioforsk.no/">Bioforsk</a>
+ * @copyright 2013-2014 <a href="http://www.bioforsk.no/">Bioforsk</a>
  * @author Tor-Einar Skog <tor-einar.skog@bioforsk.no>
  */
 public class JSONUtil {
     public static boolean isValidJSON(final String json) {
         boolean valid = false;
         try {
-           final JsonParser parser = new ObjectMapper().getJsonFactory()
-                 .createJsonParser(json);
+           final JsonParser parser = new ObjectMapper().getFactory()
+                 .createParser(json);
            while (parser.nextToken() != null) {
            }
            valid = true;
diff --git a/src/test/java/no/bioforsk/vips/util/WeatherUtilTest.java b/src/test/java/no/bioforsk/vips/util/WeatherUtilTest.java
index 2a37203..e66232e 100644
--- a/src/test/java/no/bioforsk/vips/util/WeatherUtilTest.java
+++ b/src/test/java/no/bioforsk/vips/util/WeatherUtilTest.java
@@ -19,6 +19,12 @@
 
 package no.bioforsk.vips.util;
 
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.MappingJsonFactory;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -33,16 +39,10 @@ import static junit.framework.Assert.fail;
 import junit.framework.TestCase;
 import no.bioforsk.vips.entity.WeatherObservation;
 import no.bioforsk.vips.model.ConfigValidationException;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.map.MappingJsonFactory;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
 
 /**
  *
- * @author treinar
+ * @author Tor-Einar Skog <tor-einar.skog@bioforsk.no>
  */
 public class WeatherUtilTest extends TestCase {
     
@@ -510,9 +510,9 @@ public class WeatherUtilTest extends TestCase {
         {
         BufferedInputStream inputStream = new BufferedInputStream(this.getClass().getResourceAsStream(fileName));
             JsonFactory f = new MappingJsonFactory();
-            JsonParser jp = f.createJsonParser(inputStream);
+            JsonParser jp = f.createParser(inputStream);
             JsonNode all = jp.readValueAsTree();
-            List<WeatherObservation> observations = new ArrayList<WeatherObservation>();
+            List<WeatherObservation> observations = new ArrayList<>();
             ObjectMapper mapper = new ObjectMapper();
 
             Date firstDate = null;
@@ -520,7 +520,7 @@ public class WeatherUtilTest extends TestCase {
             if(all.isArray())
             {
                 for(JsonNode node : all){
-                    Date timeMeasured = (Date)mapper.convertValue(node.get("timeMeasured").getTextValue(), new TypeReference<Date>(){});
+                    Date timeMeasured = (Date)mapper.convertValue(node.get("timeMeasured").asText(), new TypeReference<Date>(){});
                     if(firstDate == null || firstDate.compareTo(timeMeasured) > 0)
                     {
                         firstDate = timeMeasured;
@@ -532,9 +532,9 @@ public class WeatherUtilTest extends TestCase {
                     //System.out.println(node.toString());
                     WeatherObservation observation = new WeatherObservation();
                     observation.setTimeMeasured(timeMeasured);
-                    observation.setLogIntervalId(node.get("logIntervalId").getIntValue());
-                    observation.setElementMeasurementTypeId(node.get("elementMeasurementTypeId").getTextValue());
-                    observation.setValue(node.get("value").getDoubleValue());
+                    observation.setLogIntervalId(node.get("logIntervalId").asInt());
+                    observation.setElementMeasurementTypeId(node.get("elementMeasurementTypeId").asText());
+                    observation.setValue(node.get("value").asDouble());
                     observations.add(observation);
                 }
 
-- 
GitLab