You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by hz...@apache.org on 2020/08/21 02:06:15 UTC
[helix] branch master updated: Replace org.codehaus.jackson with
FasterXML.jackson (#1293)
This is an automated email from the ASF dual-hosted git repository.
hzlu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git
The following commit(s) were added to refs/heads/master by this push:
new cd552d9 Replace org.codehaus.jackson with FasterXML.jackson (#1293)
cd552d9 is described below
commit cd552d9f122dbe3fa4b3648d38b2fc615f663b84
Author: xyuanlu <xy...@gmail.com>
AuthorDate: Thu Aug 20 19:06:09 2020 -0700
Replace org.codehaus.jackson with FasterXML.jackson (#1293)
Replace org.codehaus.jackson with FasterXML.jackson
---
.../helix-admin-webapp-1.0.2-SNAPSHOT.ivy | 4 +--
helix-admin-webapp/pom.xml | 14 ++++-----
.../resources/ClusterRepresentationUtil.java | 31 +++++++++-----------
.../helix/webapp/resources/ClusterResource.java | 10 +++----
.../helix/webapp/resources/ClustersResource.java | 10 +++----
.../helix/webapp/resources/ControllerResource.java | 8 ++---
.../resources/ControllerStatusUpdateResource.java | 6 ++--
.../webapp/resources/CurrentStateResource.java | 10 +++----
.../webapp/resources/CurrentStatesResource.java | 6 ++--
.../helix/webapp/resources/ErrorResource.java | 6 ++--
.../helix/webapp/resources/ErrorsResource.java | 6 ++--
.../webapp/resources/ExternalViewResource.java | 4 +--
.../helix/webapp/resources/IdealStateResource.java | 8 ++---
.../helix/webapp/resources/InstanceResource.java | 10 +++----
.../helix/webapp/resources/InstancesResource.java | 8 ++---
.../helix/webapp/resources/JobQueuesResource.java | 8 ++---
.../helix/webapp/resources/JsonParameters.java | 6 ++--
.../webapp/resources/ResourceGroupResource.java | 6 ++--
.../webapp/resources/ResourceGroupsResource.java | 8 ++---
.../helix/webapp/resources/ResourceUtil.java | 16 +++++-----
.../webapp/resources/SchedulerTasksResource.java | 10 +++----
.../helix/webapp/resources/StateModelResource.java | 8 ++---
.../webapp/resources/StateModelsResource.java | 8 ++---
.../webapp/resources/StatusUpdateResource.java | 4 +--
.../webapp/resources/StatusUpdatesResource.java | 6 ++--
.../helix/webapp/resources/WorkflowsResource.java | 8 ++---
.../org/apache/helix/webapp/AdminTestHelper.java | 2 +-
.../helix/webapp/TestClusterManagementWebapp.java | 10 +++----
.../helix/webapp/TestHelixAdminScenariosRest.java | 19 ++++++------
helix-common/helix-common-1.0.2-SNAPSHOT.ivy | 4 +--
.../src/main/java/org/apache/helix/ZNRecord.java | 6 ++--
helix-core/helix-core-1.0.2-SNAPSHOT.ivy | 4 +--
helix-core/pom.xml | 14 ++++-----
.../api/config/StateTransitionThrottleConfig.java | 6 ++--
.../AzureCloudInstanceInformationProcessor.java | 12 ++++----
.../zk/DefaultSchedulerMessageHandlerFactory.java | 7 ++---
.../helix/manager/zk/ZkBucketDataAccessor.java | 2 +-
.../org/apache/helix/model/ControllerHistory.java | 3 +-
.../org/apache/helix/model/ResourceConfig.java | 4 +--
.../apache/helix/store/PropertyJsonSerializer.java | 24 +++++++--------
.../helix/task/AssignableInstanceManager.java | 8 ++---
.../main/java/org/apache/helix/task/JobDag.java | 6 ++--
.../java/org/apache/helix/task/TaskConfig.java | 2 +-
.../org/apache/helix/task/TaskExecutionInfo.java | 8 ++---
.../main/java/org/apache/helix/task/TaskUtil.java | 6 ++--
.../integration-test/script/driver_cmd_dict.py | 34 +++++++++++-----------
.../org/apache/helix/TestShuffledIdealState.java | 2 +-
.../rebalancer/TestZeroReplicaAvoidance.java | 4 +--
.../controller/stages/TestRecoveryLoadBalance.java | 4 +--
.../stages/TestStateTransitionPriority.java | 4 +--
.../controller/TestClusterMaintenanceMode.java | 6 ++--
.../messaging/TestSchedulerMessage.java | 30 +++++++------------
.../messaging/TestSchedulerMessage2.java | 7 ++---
.../messaging/TestSchedulerMsgContraints.java | 12 ++++----
.../messaging/TestSchedulerMsgUsingQueue.java | 9 +++---
.../apache/helix/integration/task/MockTask.java | 2 +-
.../apache/helix/manager/zk/TestZkHelixAdmin.java | 2 +-
.../serializer/TestJacksonPayloadSerializer.java | 12 ++++----
.../helix/mock/controller/MockController.java | 15 +++++-----
.../mock/controller/MockControllerProcess.java | 4 +--
.../org/apache/helix/model/TestResourceConfig.java | 2 +-
.../mbeans/TestTopStateHandoffMetrics.java | 6 ++--
.../org/apache/helix/util/TestInputLoader.java | 4 +--
helix-rest/helix-rest-1.0.2-SNAPSHOT.ivy | 4 +--
helix-rest/pom.xml | 19 +++++-------
.../accessor/ZkRoutingDataWriter.java | 8 ++---
.../rest/server/resources/AbstractResource.java | 7 ++---
.../server/resources/helix/ClusterAccessor.java | 2 +-
.../server/resources/helix/InstancesAccessor.java | 13 ++++-----
.../rest/server/resources/helix/JobAccessor.java | 10 +++----
.../resources/helix/PerInstanceAccessor.java | 19 ++++++------
.../resources/helix/PropertyStoreAccessor.java | 2 +-
.../server/resources/helix/ResourceAccessor.java | 8 ++---
.../rest/server/resources/helix/TaskAccessor.java | 2 +-
.../server/resources/helix/WorkflowAccessor.java | 22 +++++++-------
.../MetadataStoreDirectoryAccessor.java | 6 ++--
.../helix/rest/server/AbstractTestClass.java | 8 ++---
.../helix/rest/server/TestClusterAccessor.java | 10 +++----
.../apache/helix/rest/server/TestJobAccessor.java | 10 +++----
.../rest/server/TestMSDAccessorLeaderElection.java | 2 +-
.../helix/rest/server/TestNamespacedAPIAccess.java | 2 +-
.../helix/rest/server/TestPerInstanceAccessor.java | 19 ++++++------
.../rest/server/TestPropertyStoreAccessor.java | 4 +--
.../helix/rest/server/TestResourceAccessor.java | 10 +++----
.../apache/helix/rest/server/TestTaskAccessor.java | 2 +-
.../helix/rest/server/TestWorkflowAccessor.java | 10 +++----
.../rest/server/service/TestInstanceService.java | 16 ++++++----
.../java/org/apache/helix/taskexecution/Dag.java | 11 +++----
zookeeper-api/pom.xml | 11 +++++--
.../apache/helix/zookeeper/datamodel/ZNRecord.java | 12 ++++----
.../serializer/JacksonPayloadSerializer.java | 21 +++++++------
.../serializer/ZNRecordJacksonSerializer.java | 2 +-
.../datamodel/serializer/ZNRecordSerializer.java | 25 ++++++++--------
.../serializer/ZNRecordStreamingSerializer.java | 8 ++---
.../TestZNRecordSerializeWriteSizeLimit.java | 13 +++++----
zookeeper-api/zookeeper-api-1.0.2-SNAPSHOT.ivy | 4 +--
96 files changed, 419 insertions(+), 438 deletions(-)
diff --git a/helix-admin-webapp/helix-admin-webapp-1.0.2-SNAPSHOT.ivy b/helix-admin-webapp/helix-admin-webapp-1.0.2-SNAPSHOT.ivy
index 4d3232d..d2439f0 100644
--- a/helix-admin-webapp/helix-admin-webapp-1.0.2-SNAPSHOT.ivy
+++ b/helix-admin-webapp/helix-admin-webapp-1.0.2-SNAPSHOT.ivy
@@ -45,8 +45,8 @@ under the License.
</dependency>
<dependency org="org.apache.helix" name="helix-core" rev="1.0.1-SNAPSHOT" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
<dependency org="org.restlet.jse" name="org.restlet" rev="2.2.1" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
- <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="1.8.5" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
- <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="1.8.5" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.11.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.11.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
<dependency org="commons-cli" name="commons-cli" rev="1.2" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
</dependencies>
</ivy-module>
diff --git a/helix-admin-webapp/pom.xml b/helix-admin-webapp/pom.xml
index eca93ba..7bb06da 100644
--- a/helix-admin-webapp/pom.xml
+++ b/helix-admin-webapp/pom.xml
@@ -32,7 +32,7 @@
<properties>
<osgi.import>
org.apache.helix*,
- org.codehaus.jackson*,
+ com.fasterxml.jackson*,
org.apache.commons.cli*,
org.apache.commons.cli;version="[1.2,2)",
org.apache.commons.io*;version="[1.4,2)",
@@ -77,14 +77,14 @@
<version>1.3.1</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>1.8.5</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.11.0</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.8.5</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClusterRepresentationUtil.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClusterRepresentationUtil.java
index 648d15f..4b67a94 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClusterRepresentationUtil.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClusterRepresentationUtil.java
@@ -28,29 +28,30 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixProperty;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
import org.apache.helix.PropertyPathBuilder;
import org.apache.helix.PropertyType;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
import org.apache.helix.manager.zk.ZNRecordSerializer;
import org.apache.helix.manager.zk.ZkBaseDataAccessor;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.model.LiveInstance.LiveInstanceProperty;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
-import org.codehaus.jackson.type.TypeReference;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.Form;
import org.restlet.data.MediaType;
public class ClusterRepresentationUtil {
public static final ZNRecord EMPTY_ZNRECORD = new ZNRecord("EMPTY_ZNRECORD");
+ private static ObjectMapper mapper = new ObjectMapper();
public static String getClusterPropertyAsString(ZkClient zkClient, String clusterName,
PropertyKey propertyKey, MediaType mediaType)
@@ -94,8 +95,8 @@ public class ClusterRepresentationUtil {
}
public static String getInstancePropertiesAsString(ZkClient zkClient, String clusterName,
- PropertyKey propertyKey, MediaType mediaType) throws JsonGenerationException,
- JsonMappingException, IOException {
+ PropertyKey propertyKey, MediaType mediaType)
+ throws JsonGenerationException, JsonMappingException, IOException {
zkClient.setZkSerializer(new ZNRecordSerializer());
ZKHelixDataAccessor accessor =
new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(zkClient));
@@ -118,16 +119,14 @@ public class ClusterRepresentationUtil {
return ObjectToJson(record);
}
- public static String ZNRecordToJson(ZNRecord record) throws JsonGenerationException,
- JsonMappingException, IOException {
+ public static String ZNRecordToJson(ZNRecord record)
+ throws JsonGenerationException, JsonMappingException, IOException {
return ObjectToJson(record);
}
public static String ObjectToJson(Object object) throws JsonGenerationException,
JsonMappingException, IOException {
- ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
mapper.writeValue(sw, object);
@@ -142,7 +141,6 @@ public class ClusterRepresentationUtil {
public static <T extends Object> T JsonToObject(Class<T> clazz, String jsonString)
throws JsonParseException, JsonMappingException, IOException {
StringReader sr = new StringReader(jsonString);
- ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(sr, clazz);
}
@@ -150,7 +148,6 @@ public class ClusterRepresentationUtil {
public static Map<String, String> JsonToMap(String jsonString) throws JsonParseException,
JsonMappingException, IOException {
StringReader sr = new StringReader(jsonString);
- ObjectMapper mapper = new ObjectMapper();
TypeReference<TreeMap<String, String>> typeRef = new TypeReference<TreeMap<String, String>>() {
};
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClusterResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClusterResource.java
index f749355..8c48548 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClusterResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClusterResource.java
@@ -22,15 +22,15 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
import java.util.List;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.model.LiveInstance;
import org.apache.helix.tools.ClusterSetup;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
@@ -77,7 +77,7 @@ public class ClusterResource extends ServerResource {
}
StringRepresentation getClusterRepresentation(String clusterName) throws JsonGenerationException,
- JsonMappingException, IOException {
+ JsonMappingException, IOException {
ZkClient zkClient =
ResourceUtil.getAttributeFromCtx(getContext(), ResourceUtil.ContextKey.ZKCLIENT);
ClusterSetup setupTool = new ClusterSetup(zkClient);
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClustersResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClustersResource.java
index a3d8681..3f463b3 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClustersResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ClustersResource.java
@@ -22,12 +22,12 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
import java.util.List;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.HelixException;
+import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.impl.client.ZkClient;
-import org.apache.helix.tools.ClusterSetup;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
@@ -70,8 +70,8 @@ public class ClustersResource extends ServerResource {
return presentation;
}
- StringRepresentation getClustersRepresentation() throws JsonGenerationException,
- JsonMappingException, IOException {
+ StringRepresentation getClustersRepresentation()
+ throws JsonGenerationException, JsonMappingException, IOException {
ZkClient zkClient =
ResourceUtil.getAttributeFromCtx(getContext(), ResourceUtil.ContextKey.ZKCLIENT);
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ControllerResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ControllerResource.java
index 3f38089..6a5e1b5 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ControllerResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ControllerResource.java
@@ -26,19 +26,19 @@ import java.util.Date;
import java.util.Map;
import java.util.TreeMap;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.HelixException;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
import org.apache.helix.PropertyType;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
import org.apache.helix.manager.zk.ZkBaseDataAccessor;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.model.LiveInstance;
import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.util.StatusUpdateUtil.Level;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ControllerStatusUpdateResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ControllerStatusUpdateResource.java
index aaa63ff..cbbd782 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ControllerStatusUpdateResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ControllerStatusUpdateResource.java
@@ -21,12 +21,12 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/CurrentStateResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/CurrentStateResource.java
index 1af294b..5dae9d6 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/CurrentStateResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/CurrentStateResource.java
@@ -21,12 +21,12 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
@@ -64,8 +64,8 @@ public class CurrentStateResource extends ServerResource {
}
StringRepresentation getInstanceCurrentStateRepresentation(String clusterName,
- String instanceName, String resourceGroup) throws JsonGenerationException,
- JsonMappingException, IOException {
+ String instanceName, String resourceGroup)
+ throws JsonGenerationException, JsonMappingException, IOException {
ZkClient zkClient = (ZkClient) getRequest().getAttributes().get(RestAdminApplication.ZKCLIENT);
String instanceSessionId =
ClusterRepresentationUtil.getInstanceSessionId(zkClient, clusterName, instanceName);
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/CurrentStatesResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/CurrentStatesResource.java
index 81c1347..efb59f5 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/CurrentStatesResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/CurrentStatesResource.java
@@ -21,11 +21,11 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.PropertyType;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ErrorResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ErrorResource.java
index b03f27f..d4a42ad 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ErrorResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ErrorResource.java
@@ -21,12 +21,12 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ErrorsResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ErrorsResource.java
index 5ca2f97..78def0f 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ErrorsResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ErrorsResource.java
@@ -21,11 +21,11 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.PropertyType;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ExternalViewResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ExternalViewResource.java
index 49c8182..61e1c64 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ExternalViewResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ExternalViewResource.java
@@ -21,11 +21,11 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
import org.apache.helix.zookeeper.impl.client.ZkClient;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
import org.restlet.data.MediaType;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/IdealStateResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/IdealStateResource.java
index 5c9ca31..f9c0488 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/IdealStateResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/IdealStateResource.java
@@ -22,16 +22,16 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
import java.util.Map;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.model.IdealState;
import org.apache.helix.tools.ClusterSetup;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/InstanceResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/InstanceResource.java
index b71c3ab..875b866 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/InstanceResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/InstanceResource.java
@@ -22,13 +22,13 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
import java.util.Arrays;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.HelixException;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.tools.ClusterSetup;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
@@ -61,8 +61,8 @@ public class InstanceResource extends ServerResource {
return presentation;
}
- StringRepresentation getInstanceRepresentation() throws JsonGenerationException,
- JsonMappingException, IOException {
+ StringRepresentation getInstanceRepresentation()
+ throws JsonGenerationException, JsonMappingException, IOException {
String clusterName =
ResourceUtil.getAttributeFromRequest(getRequest(), ResourceUtil.RequestKey.CLUSTER_NAME);
String instanceName =
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/InstancesResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/InstancesResource.java
index 6c05a94..bf6a5ce 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/InstancesResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/InstancesResource.java
@@ -25,17 +25,17 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import com.google.common.collect.Lists;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.model.InstanceConfig;
import org.apache.helix.model.LiveInstance;
import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/JobQueuesResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/JobQueuesResource.java
index f443deb..7cadfe3 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/JobQueuesResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/JobQueuesResource.java
@@ -24,19 +24,19 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import com.google.common.collect.Lists;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
import org.apache.helix.HelixProperty;
import org.apache.helix.PropertyKey;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.task.JobQueue;
import org.apache.helix.task.TaskDriver;
import org.apache.helix.task.Workflow;
import org.apache.helix.task.WorkflowConfig;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.Form;
import org.restlet.data.MediaType;
import org.restlet.data.Parameter;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/JsonParameters.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/JsonParameters.java
index e6fbc95..c3b7f48 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/JsonParameters.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/JsonParameters.java
@@ -28,10 +28,10 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.HelixException;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.tools.ClusterSetup;
-import org.codehaus.jackson.map.ObjectMapper;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.restlet.data.Form;
import org.restlet.representation.Representation;
@@ -95,6 +95,7 @@ public class JsonParameters {
// extra parameters map
final Map<String, ZNRecord> _extraParameterMap = new HashMap<String, ZNRecord>();
+ private static ObjectMapper mapper = new ObjectMapper();
public JsonParameters(Representation entity) throws Exception {
this(new Form(entity));
@@ -110,7 +111,6 @@ public class JsonParameters {
}
// get extra parameters in ZNRecord format
- ObjectMapper mapper = new ObjectMapper();
String newIdealStateString = form.getFirstValue(NEW_IDEAL_STATE, true);
if (newIdealStateString != null) {
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceGroupResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceGroupResource.java
index 9cc68f2..e687eae 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceGroupResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceGroupResource.java
@@ -22,13 +22,13 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
import java.util.Arrays;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.HelixException;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.tools.ClusterSetup;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceGroupsResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceGroupsResource.java
index bd9bc72..fc81b64 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceGroupsResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceGroupsResource.java
@@ -23,17 +23,17 @@ import java.io.IOException;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.helix.HelixException;
import org.apache.helix.PropertyKey;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.model.IdealState;
import org.apache.helix.model.IdealState.RebalanceMode;
import org.apache.helix.tools.ClusterSetup;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceUtil.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceUtil.java
index 14bb4bb..9c32cfe 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceUtil.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ResourceUtil.java
@@ -26,16 +26,16 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.BaseDataAccessor;
import org.apache.helix.HelixException;
import org.apache.helix.PropertyKey;
import org.apache.helix.manager.zk.ZkBaseDataAccessor;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.Context;
import org.restlet.Request;
import org.restlet.data.Form;
@@ -47,7 +47,7 @@ public class ResourceUtil {
private static final Logger LOG = LoggerFactory.getLogger(ResourceUtil.class);
private static final String EMPTY_ZNRECORD_STRING =
objectToJson(ClusterRepresentationUtil.EMPTY_ZNRECORD);
-
+ private static ObjectMapper mapper = new ObjectMapper();
/**
* Key enums for getting values from request
*/
@@ -108,9 +108,7 @@ public class ResourceUtil {
}
private static String objectToJson(Object object) {
- ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
try {
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/SchedulerTasksResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/SchedulerTasksResource.java
index 4f4a135..af01e66 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/SchedulerTasksResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/SchedulerTasksResource.java
@@ -26,19 +26,19 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
import org.apache.helix.InstanceType;
import org.apache.helix.PropertyPathBuilder;
import org.apache.helix.manager.zk.DefaultSchedulerMessageHandlerFactory;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.model.LiveInstance;
import org.apache.helix.model.Message;
import org.apache.helix.model.Message.MessageType;
import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.Form;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
@@ -81,8 +81,8 @@ public class SchedulerTasksResource extends ServerResource {
return presentation;
}
- StringRepresentation getSchedulerTasksRepresentation() throws JsonGenerationException,
- JsonMappingException, IOException {
+ StringRepresentation getSchedulerTasksRepresentation()
+ throws JsonGenerationException, JsonMappingException, IOException {
String clusterName = (String) getRequest().getAttributes().get("clusterName");
String instanceName = (String) getRequest().getAttributes().get("instanceName");
ZkClient zkClient = (ZkClient) getContext().getAttributes().get(RestAdminApplication.ZKCLIENT);
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StateModelResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StateModelResource.java
index 79ddc6c..28f1a96 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StateModelResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StateModelResource.java
@@ -21,17 +21,17 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.model.StateModelDefinition;
import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StateModelsResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StateModelsResource.java
index ad2f00d..7eec9c3 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StateModelsResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StateModelsResource.java
@@ -22,15 +22,15 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
import java.util.List;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.model.StateModelDefinition;
import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StatusUpdateResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StatusUpdateResource.java
index 6fdb2d6..b54d4d0 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StatusUpdateResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StatusUpdateResource.java
@@ -25,8 +25,8 @@ import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.restlet.data.MediaType;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StatusUpdatesResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StatusUpdatesResource.java
index 40b2a39..f5d7663 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StatusUpdatesResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/StatusUpdatesResource.java
@@ -21,11 +21,11 @@ package org.apache.helix.webapp.resources;
import java.io.IOException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.helix.PropertyType;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.MediaType;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
diff --git a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/WorkflowsResource.java b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/WorkflowsResource.java
index 4e26dbc..735cfda 100644
--- a/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/WorkflowsResource.java
+++ b/helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/WorkflowsResource.java
@@ -24,6 +24,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
import com.google.common.collect.Lists;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
@@ -32,14 +34,12 @@ import org.apache.helix.HelixManagerFactory;
import org.apache.helix.HelixProperty;
import org.apache.helix.InstanceType;
import org.apache.helix.PropertyKey;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.apache.helix.task.TaskDriver;
import org.apache.helix.task.Workflow;
import org.apache.helix.task.WorkflowConfig;
import org.apache.helix.webapp.RestAdminApplication;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.client.ZkClient;
import org.restlet.data.Form;
import org.restlet.data.MediaType;
import org.restlet.data.Parameter;
diff --git a/helix-admin-webapp/src/test/java/org/apache/helix/webapp/AdminTestHelper.java b/helix-admin-webapp/src/test/java/org/apache/helix/webapp/AdminTestHelper.java
index acc15ef..b514ed5 100644
--- a/helix-admin-webapp/src/test/java/org/apache/helix/webapp/AdminTestHelper.java
+++ b/helix-admin-webapp/src/test/java/org/apache/helix/webapp/AdminTestHelper.java
@@ -24,8 +24,8 @@ import java.io.StringReader;
import java.io.StringWriter;
import java.util.concurrent.CountDownLatch;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.map.ObjectMapper;
import org.restlet.Client;
import org.restlet.Request;
import org.restlet.Response;
diff --git a/helix-admin-webapp/src/test/java/org/apache/helix/webapp/TestClusterManagementWebapp.java b/helix-admin-webapp/src/test/java/org/apache/helix/webapp/TestClusterManagementWebapp.java
index 0e45ac3..a648598 100644
--- a/helix-admin-webapp/src/test/java/org/apache/helix/webapp/TestClusterManagementWebapp.java
+++ b/helix-admin-webapp/src/test/java/org/apache/helix/webapp/TestClusterManagementWebapp.java
@@ -26,17 +26,17 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.PropertyPathBuilder;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.model.InstanceConfig.InstanceConfigProperty;
import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.webapp.resources.ClusterRepresentationUtil;
import org.apache.helix.webapp.resources.InstancesResource.ListInstancesWrapper;
import org.apache.helix.webapp.resources.JsonParameters;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.restlet.Client;
import org.restlet.Request;
import org.restlet.Response;
diff --git a/helix-admin-webapp/src/test/java/org/apache/helix/webapp/TestHelixAdminScenariosRest.java b/helix-admin-webapp/src/test/java/org/apache/helix/webapp/TestHelixAdminScenariosRest.java
index e78e074..c16c6d0 100644
--- a/helix-admin-webapp/src/test/java/org/apache/helix/webapp/TestHelixAdminScenariosRest.java
+++ b/helix-admin-webapp/src/test/java/org/apache/helix/webapp/TestHelixAdminScenariosRest.java
@@ -28,9 +28,13 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.HelixAdmin;
import org.apache.helix.HelixDataAccessor;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.ClusterDistributedController;
import org.apache.helix.integration.manager.MockParticipantManager;
@@ -47,11 +51,7 @@ import org.apache.helix.tools.ClusterStateVerifier.MasterNbInExtViewVerifier;
import org.apache.helix.webapp.resources.ClusterRepresentationUtil;
import org.apache.helix.webapp.resources.InstancesResource.ListInstancesWrapper;
import org.apache.helix.webapp.resources.JsonParameters;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.restlet.Component;
import org.restlet.Request;
import org.restlet.Response;
@@ -74,11 +74,10 @@ public class TestHelixAdminScenariosRest extends AdminTestBase {
String _tag1 = "tag1123";
String _tag2 = "tag212334";
- public static String ObjectToJson(Object object) throws JsonGenerationException,
- JsonMappingException, IOException {
+ public static String ObjectToJson(Object object)
+ throws JsonGenerationException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
mapper.writeValue(sw, object);
diff --git a/helix-common/helix-common-1.0.2-SNAPSHOT.ivy b/helix-common/helix-common-1.0.2-SNAPSHOT.ivy
index a9094e8..ee6af31 100644
--- a/helix-common/helix-common-1.0.2-SNAPSHOT.ivy
+++ b/helix-common/helix-common-1.0.2-SNAPSHOT.ivy
@@ -44,8 +44,8 @@ under the License.
<artifact name="slf4j-log4j12" ext="jar"/>
</dependency>
<dependency org="org.yaml" name="snakeyaml" rev="1.12" conf="compile->compile(default);runtime->runtime(default);default->default"/>
- <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="1.8.5" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
- <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="1.8.5" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.11.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.11.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
<dependency org="commons-cli" name="commons-cli" rev="1.2" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
</dependencies>
</ivy-module>
diff --git a/helix-common/src/main/java/org/apache/helix/ZNRecord.java b/helix-common/src/main/java/org/apache/helix/ZNRecord.java
index d08d786..bfbe15f 100644
--- a/helix-common/src/main/java/org/apache/helix/ZNRecord.java
+++ b/helix-common/src/main/java/org/apache/helix/ZNRecord.java
@@ -19,9 +19,9 @@ package org.apache.helix;
* under the License.
*/
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
/**
diff --git a/helix-core/helix-core-1.0.2-SNAPSHOT.ivy b/helix-core/helix-core-1.0.2-SNAPSHOT.ivy
index ac369a2..a4c7728 100644
--- a/helix-core/helix-core-1.0.2-SNAPSHOT.ivy
+++ b/helix-core/helix-core-1.0.2-SNAPSHOT.ivy
@@ -53,8 +53,8 @@ under the License.
<artifact name="slf4j-log4j12" ext="jar"/>
</dependency>
<dependency org="org.apache.zookeeper" name="zookeeper" rev="3.4.13" conf="compile->compile(default);runtime->runtime(default);default->default"/>
- <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="1.8.5" conf="compile->compile(default);runtime->runtime(default);default->default"/>
- <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="1.8.5" conf="compile->compile(default);runtime->runtime(default);default->default"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.11.0" conf="compile->compile(default);runtime->runtime(default);default->default"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.11.0" conf="compile->compile(default);runtime->runtime(default);default->default"/>
<dependency org="commons-io" name="commons-io" rev="1.4" conf="compile->compile(default);runtime->runtime(default);default->default"/>
<dependency org="commons-cli" name="commons-cli" rev="1.2" conf="compile->compile(default);runtime->runtime(default);default->default"/>
<dependency org="commons-math" name="commons-math" rev="2.1" conf="compile->compile(default);runtime->runtime(default);default->default"/>
diff --git a/helix-core/pom.xml b/helix-core/pom.xml
index d70310c..274cb1e 100644
--- a/helix-core/pom.xml
+++ b/helix-core/pom.xml
@@ -82,15 +82,15 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>1.8.5</version>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.11.0</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.8.5</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
diff --git a/helix-core/src/main/java/org/apache/helix/api/config/StateTransitionThrottleConfig.java b/helix-core/src/main/java/org/apache/helix/api/config/StateTransitionThrottleConfig.java
index 4f93675..2701602 100644
--- a/helix-core/src/main/java/org/apache/helix/api/config/StateTransitionThrottleConfig.java
+++ b/helix-core/src/main/java/org/apache/helix/api/config/StateTransitionThrottleConfig.java
@@ -23,9 +23,9 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.ObjectReader;
-import org.codehaus.jackson.map.ObjectWriter;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectReader;
+import com.fasterxml.jackson.databind.ObjectWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-core/src/main/java/org/apache/helix/cloud/azure/AzureCloudInstanceInformationProcessor.java b/helix-core/src/main/java/org/apache/helix/cloud/azure/AzureCloudInstanceInformationProcessor.java
index c943664..e3c1577 100644
--- a/helix-core/src/main/java/org/apache/helix/cloud/azure/AzureCloudInstanceInformationProcessor.java
+++ b/helix-core/src/main/java/org/apache/helix/cloud/azure/AzureCloudInstanceInformationProcessor.java
@@ -24,8 +24,10 @@ import java.io.InterruptedIOException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
-
import javax.net.ssl.SSLException;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.HelixCloudProperty;
import org.apache.helix.HelixException;
import org.apache.helix.api.cloud.CloudInstanceInformationProcessor;
@@ -37,8 +39,6 @@ import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -139,9 +139,9 @@ public class AzureCloudInstanceInformationProcessor
JsonNode jsonNode = mapper.readTree(response);
JsonNode computeNode = jsonNode.path(COMPUTE);
if (!computeNode.isMissingNode()) {
- String vmName = computeNode.path(INSTANCE_NAME).getTextValue();
- String platformFaultDomain = computeNode.path(DOMAIN).getTextValue();
- String vmssName = computeNode.path(INSTANCE_SET_NAME).getValueAsText();
+ String vmName = computeNode.path(INSTANCE_NAME).textValue();
+ String platformFaultDomain = computeNode.path(DOMAIN).textValue();
+ String vmssName = computeNode.path(INSTANCE_SET_NAME).textValue();
String azureTopology = AzureConstants.AZURE_TOPOLOGY;
String[] parts = azureTopology.trim().split("/");
//The hostname will be filled in by each participant
diff --git a/helix-core/src/main/java/org/apache/helix/manager/zk/DefaultSchedulerMessageHandlerFactory.java b/helix-core/src/main/java/org/apache/helix/manager/zk/DefaultSchedulerMessageHandlerFactory.java
index 14c5cbb..fb539f9 100644
--- a/helix-core/src/main/java/org/apache/helix/manager/zk/DefaultSchedulerMessageHandlerFactory.java
+++ b/helix-core/src/main/java/org/apache/helix/manager/zk/DefaultSchedulerMessageHandlerFactory.java
@@ -28,6 +28,7 @@ import java.util.TreeMap;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableList;
import org.apache.helix.Criteria;
import org.apache.helix.HelixDataAccessor;
@@ -36,7 +37,6 @@ import org.apache.helix.HelixManager;
import org.apache.helix.InstanceType;
import org.apache.helix.NotificationContext;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.messaging.AsyncCallback;
import org.apache.helix.messaging.handling.HelixTaskResult;
import org.apache.helix.messaging.handling.MessageHandler;
@@ -46,7 +46,7 @@ import org.apache.helix.model.Message;
import org.apache.helix.model.Message.MessageType;
import org.apache.helix.model.StatusUpdate;
import org.apache.helix.util.StatusUpdateUtil;
-import org.codehaus.jackson.map.ObjectMapper;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,7 +60,7 @@ public class DefaultSchedulerMessageHandlerFactory implements MultiTypeMessageHa
public static final String SCHEDULER_TASK_QUEUE = "SchedulerTaskQueue";
public static final String CONTROLLER_MSG_ID = "controllerMsgId";
public static final int TASKQUEUE_BUCKET_NUM = 10;
-
+ private static ObjectMapper mapper = new ObjectMapper();
public static class SchedulerAsyncCallback extends AsyncCallback {
StatusUpdateUtil _statusUpdateUtil = new StatusUpdateUtil();
Message _originalMessage;
@@ -281,7 +281,6 @@ public class DefaultSchedulerMessageHandlerFactory implements MultiTypeMessageHa
// Parse the criteria
StringReader sr = new StringReader(_message.getRecord().getSimpleField("Criteria"));
- ObjectMapper mapper = new ObjectMapper();
Criteria recipientCriteria;
try {
recipientCriteria = mapper.readValue(sr, Criteria.class);
diff --git a/helix-core/src/main/java/org/apache/helix/manager/zk/ZkBucketDataAccessor.java b/helix-core/src/main/java/org/apache/helix/manager/zk/ZkBucketDataAccessor.java
index efdde81..d7c5502 100644
--- a/helix-core/src/main/java/org/apache/helix/manager/zk/ZkBucketDataAccessor.java
+++ b/helix-core/src/main/java/org/apache/helix/manager/zk/ZkBucketDataAccessor.java
@@ -31,6 +31,7 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.AccessOption;
import org.apache.helix.BucketDataAccessor;
@@ -48,7 +49,6 @@ import org.apache.helix.zookeeper.zkclient.DataUpdater;
import org.apache.helix.zookeeper.zkclient.exception.ZkMarshallingError;
import org.apache.helix.zookeeper.zkclient.exception.ZkNoNodeException;
import org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer;
-import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-core/src/main/java/org/apache/helix/model/ControllerHistory.java b/helix-core/src/main/java/org/apache/helix/model/ControllerHistory.java
index 03a8a29..cc0da7f 100644
--- a/helix-core/src/main/java/org/apache/helix/model/ControllerHistory.java
+++ b/helix-core/src/main/java/org/apache/helix/model/ControllerHistory.java
@@ -29,9 +29,10 @@ import java.util.List;
import java.util.Map;
import java.util.TimeZone;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.HelixProperty;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.map.ObjectMapper;
+
/**
* The history of instances that have served as the leader controller
diff --git a/helix-core/src/main/java/org/apache/helix/model/ResourceConfig.java b/helix-core/src/main/java/org/apache/helix/model/ResourceConfig.java
index e6cc256..13e96cf 100644
--- a/helix-core/src/main/java/org/apache/helix/model/ResourceConfig.java
+++ b/helix-core/src/main/java/org/apache/helix/model/ResourceConfig.java
@@ -26,13 +26,13 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.HelixProperty;
import org.apache.helix.api.config.HelixConfigProperty;
import org.apache.helix.api.config.RebalanceConfig;
import org.apache.helix.api.config.StateTransitionTimeoutConfig;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-core/src/main/java/org/apache/helix/store/PropertyJsonSerializer.java b/helix-core/src/main/java/org/apache/helix/store/PropertyJsonSerializer.java
index 175ba60..ea04181 100644
--- a/helix-core/src/main/java/org/apache/helix/store/PropertyJsonSerializer.java
+++ b/helix-core/src/main/java/org/apache/helix/store/PropertyJsonSerializer.java
@@ -22,16 +22,18 @@ package org.apache.helix.store;
import java.io.ByteArrayInputStream;
import java.io.StringWriter;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.DeserializationFeature;
import org.apache.helix.HelixException;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.map.DeserializationConfig;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class PropertyJsonSerializer<T> implements PropertySerializer<T> {
static private Logger LOG = LoggerFactory.getLogger(PropertyJsonSerializer.class);
+ private static ObjectMapper mapper = new ObjectMapper();
private final Class<T> _clazz;
public PropertyJsonSerializer(Class<T> clazz) {
@@ -40,12 +42,10 @@ public class PropertyJsonSerializer<T> implements PropertySerializer<T> {
@Override
public byte[] serialize(T data) throws PropertyStoreException {
- ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
- serializationConfig.set(SerializationConfig.Feature.AUTO_DETECT_FIELDS, true);
- serializationConfig.set(SerializationConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
+ mapper.enable(MapperFeature.AUTO_DETECT_FIELDS);
+ mapper.enable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS);
StringWriter sw = new StringWriter();
try {
@@ -66,13 +66,11 @@ public class PropertyJsonSerializer<T> implements PropertySerializer<T> {
@Override
public T deserialize(byte[] bytes) throws PropertyStoreException {
- ObjectMapper mapper = new ObjectMapper();
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
- DeserializationConfig deserializationConfig = mapper.getDeserializationConfig();
- deserializationConfig.set(DeserializationConfig.Feature.AUTO_DETECT_FIELDS, true);
- deserializationConfig.set(DeserializationConfig.Feature.AUTO_DETECT_SETTERS, true);
- deserializationConfig.set(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, true);
+ mapper.enable(MapperFeature.AUTO_DETECT_FIELDS);
+ mapper.enable(MapperFeature.AUTO_DETECT_SETTERS);
+ mapper.enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
try {
T value = mapper.readValue(bais, _clazz);
return value;
diff --git a/helix-core/src/main/java/org/apache/helix/task/AssignableInstanceManager.java b/helix-core/src/main/java/org/apache/helix/task/AssignableInstanceManager.java
index e42659c..d9092ec 100644
--- a/helix-core/src/main/java/org/apache/helix/task/AssignableInstanceManager.java
+++ b/helix-core/src/main/java/org/apache/helix/task/AssignableInstanceManager.java
@@ -26,6 +26,9 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.helix.common.caches.TaskDataCache;
import org.apache.helix.controller.stages.CurrentStateOutput;
import org.apache.helix.model.ClusterConfig;
@@ -36,9 +39,6 @@ import org.apache.helix.model.Partition;
import org.apache.helix.model.Resource;
import org.apache.helix.task.assigner.AssignableInstance;
import org.apache.helix.task.assigner.TaskAssignResult;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.node.ObjectNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,6 +46,7 @@ public class AssignableInstanceManager {
private static final Logger LOG = LoggerFactory.getLogger(AssignableInstanceManager.class);
public static final int QUOTA_TYPE_NOT_EXIST = -1;
+ private static ObjectMapper mapper = new ObjectMapper();
// Instance name -> AssignableInstance
private Map<String, AssignableInstance> _assignableInstanceMap;
// TaskID -> TaskAssignResult TODO: Hunter: Move this if not needed
@@ -569,7 +570,6 @@ public class AssignableInstanceManager {
*/
public void logQuotaProfileJSON(boolean onlyDisplayIfFull) {
// Create a String to use as the log for quota status
- ObjectMapper mapper = new ObjectMapper();
JsonNode instanceNode = mapper.createObjectNode();
// Loop through all instances
diff --git a/helix-core/src/main/java/org/apache/helix/task/JobDag.java b/helix-core/src/main/java/org/apache/helix/task/JobDag.java
index 5bccf70..119533d 100644
--- a/helix-core/src/main/java/org/apache/helix/task/JobDag.java
+++ b/helix-core/src/main/java/org/apache/helix/task/JobDag.java
@@ -28,9 +28,9 @@ import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-core/src/main/java/org/apache/helix/task/TaskConfig.java b/helix-core/src/main/java/org/apache/helix/task/TaskConfig.java
index 423f341..862a251 100644
--- a/helix-core/src/main/java/org/apache/helix/task/TaskConfig.java
+++ b/helix-core/src/main/java/org/apache/helix/task/TaskConfig.java
@@ -23,9 +23,9 @@ import java.io.IOException;
import java.util.Map;
import java.util.UUID;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Maps;
import org.apache.helix.task.beans.TaskBean;
-import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-core/src/main/java/org/apache/helix/task/TaskExecutionInfo.java b/helix-core/src/main/java/org/apache/helix/task/TaskExecutionInfo.java
index 2c6bb2f..86378d5 100644
--- a/helix-core/src/main/java/org/apache/helix/task/TaskExecutionInfo.java
+++ b/helix-core/src/main/java/org/apache/helix/task/TaskExecutionInfo.java
@@ -21,10 +21,10 @@ package org.apache.helix.task;
import java.io.IOException;
-import org.codehaus.jackson.annotate.JsonCreator;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.ObjectMapper;
@JsonIgnoreProperties(ignoreUnknown = true)
public class TaskExecutionInfo {
diff --git a/helix-core/src/main/java/org/apache/helix/task/TaskUtil.java b/helix-core/src/main/java/org/apache/helix/task/TaskUtil.java
index 4f8d745..a5a6086 100644
--- a/helix-core/src/main/java/org/apache/helix/task/TaskUtil.java
+++ b/helix-core/src/main/java/org/apache/helix/task/TaskUtil.java
@@ -28,6 +28,8 @@ import java.util.Map;
import java.util.Set;
import java.util.Stack;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Joiner;
import com.google.common.collect.Sets;
import org.apache.helix.AccessOption;
@@ -36,7 +38,6 @@ import org.apache.helix.HelixException;
import org.apache.helix.HelixManager;
import org.apache.helix.HelixProperty;
import org.apache.helix.PropertyKey;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
import org.apache.helix.controller.rebalancer.util.RebalanceScheduler;
import org.apache.helix.model.HelixConfigScope;
@@ -44,9 +45,8 @@ import org.apache.helix.model.ResourceConfig;
import org.apache.helix.model.builder.HelixConfigScopeBuilder;
import org.apache.helix.store.HelixPropertyStore;
import org.apache.helix.util.RebalanceUtil;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.zkclient.DataUpdater;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-core/src/main/scripts/integration-test/script/driver_cmd_dict.py b/helix-core/src/main/scripts/integration-test/script/driver_cmd_dict.py
index 41e7a0c..02072b2 100644
--- a/helix-core/src/main/scripts/integration-test/script/driver_cmd_dict.py
+++ b/helix-core/src/main/scripts/integration-test/script/driver_cmd_dict.py
@@ -54,9 +54,9 @@ cmd_ret_pattern={ # the pattern when the call is considered return successful
"storage-node_start":re.compile("Espresso service started")
,"router_start":re.compile("Espresso service started")
,"cluster-manager_start":re.compile("No Messages to process")
- ,"mock-storage_start":re.compile("Mock storage started")
- ,"dummy-process_start":re.compile("Dummy process started")
- ,"mock-health-report-process_start":re.compile("MockHealthReportParticipant process started")
+ ,"mock-storage_start":re.compile("Mock storage started")
+ ,"dummy-process_start":re.compile("Dummy process started")
+ ,"mock-health-report-process_start":re.compile("MockHealthReportParticipant process started")
}
# the mapping of option to the java options, if not give, then use directly
@@ -92,7 +92,7 @@ direct_java_call_jvm_args={
,"jvm_max_heap_size":["-Xmx","512m"]
,"jvm_min_heap_size":["-Xms","100m"]
,"jvm_gc_log":["-Xloggc:",""]
- ,"jvm_args":["",""]
+ ,"jvm_args":["",""]
,"log4j_file":["-Dlog4j.configuration=file://",""] # this is only for cluster manager
}
direct_java_call_jvm_args_ordered=[
@@ -111,8 +111,8 @@ ant_call_option_mapping={
,"config":"config.file"
,"jvm_direct_memory_size":"jvm.direct.memory.size"
,"jvm_max_heap_size":"jvm.max.heap.size"
- ,"jvm_gc_log":"jvm.gc.log"
- ,"jvm_args":"jvm.args"
+ ,"jvm_gc_log":"jvm.gc.log"
+ ,"jvm_args":"jvm.args"
,"cmdline_props":"cmdline.props"
,"cmdline_args":"config.cmdline"
,"relay_host":"relay.host"
@@ -123,7 +123,7 @@ ant_call_option_mapping={
,"consumer_event_pattern":"consumer.event.pattern"
,"http_port":"http.port"
,"checkpoint_dir":"checkpoint.dir"
-# ,"db_relay_config":"db.relay.config"
+# ,"db_relay_config":"db.relay.config"
}
# class path
@@ -144,8 +144,8 @@ cmd_direct_call={
,"IVY_DIR/jdom/jdom/1.0/jdom-1.0.jar"
,"IVY_DIR/log4j/log4j/1.2.15/log4j-1.2.15.jar"
,"IVY_DIR/org/apache/zookeeper/zookeeper/3.3.3/zookeeper-3.3.3.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-core-asl/1.8.5/jackson-core-asl-1.8.5.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-mapper-asl/1.8.5/jackson-mapper-asl-1.8.5.jar"
+ ,"IVY_DIR/com/fasterxml/jackson/core/jackson-databind/2.11.0/jackson-databind-2.11.0.jar"
+ ,"IVY_DIR/com/fasterxml/jackson/core/jackson-core/2.11.0/jackson-core-2.11.0.jar"
,"IVY_DIR/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"
,"IVY_DIR/org/restlet/org.restlet/1.1.10/org.restlet-1.1.10.jar"
,"IVY_DIR/com/noelios/restlet/com.noelios.restlet/1.1.10/com.noelios.restlet-1.1.10.jar"
@@ -164,8 +164,8 @@ cmd_direct_call={
,"IVY_DIR/jdom/jdom/1.0/jdom-1.0.jar"
,"IVY_DIR/log4j/log4j/1.2.15/log4j-1.2.15.jar"
,"IVY_DIR/org/apache/zookeeper/zookeeper/3.3.3/zookeeper-3.3.3.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-core-asl/1.8.5/jackson-core-asl-1.8.5.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-mapper-asl/1.8.5/jackson-mapper-asl-1.8.5.jar"
+ ,"IVY_DIR/com/fasterxml/jackson/core/jackson-databind/2.11.0/jackson-databind-2.11.0.jar"
+ ,"IVY_DIR/com/fasterxml/jackson/core/jackson-core/2.11.0/jackson-core-2.11.0.jar"
,"IVY_DIR/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"
,"IVY_DIR/com/github/sgroschupf/zkclient/0.1/zkclient-0.1.jar"
,"IVY_DIR/org/apache/commons/commons-math/2.1/commons-math-2.1.jar"
@@ -185,8 +185,8 @@ cmd_direct_call={
,"IVY_DIR/jdom/jdom/1.0/jdom-1.0.jar"
,"IVY_DIR/log4j/log4j/1.2.15/log4j-1.2.15.jar"
,"IVY_DIR/org/apache/zookeeper/zookeeper/3.3.3/zookeeper-3.3.3.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-core-asl/1.8.5/jackson-core-asl-1.8.5.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-mapper-asl/1.8.5/jackson-mapper-asl-1.8.5.jar"
+ ,"IVY_DIR/com/fasterxml/jackson/core/jackson-databind/2.11.0/jackson-databind-2.11.0.jar"
+ ,"IVY_DIR/com/fasterxml/jackson/core/jackson-core/2.11.0/jackson-core-2.11.0.jar"
,"IVY_DIR/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"
,"IVY_DIR/com/github/sgroschupf/zkclient/0.1/zkclient-0.1.jar"
,"IVY_DIR/org/apache/commons/commons-math/2.1/commons-math-2.1.jar"
@@ -208,8 +208,8 @@ cmd_direct_call={
,"IVY_DIR/jdom/jdom/1.0/jdom-1.0.jar"
,"IVY_DIR/log4j/log4j/1.2.15/log4j-1.2.15.jar"
,"IVY_DIR/org/apache/zookeeper/zookeeper/3.3.3/zookeeper-3.3.3.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-core-asl/1.8.5/jackson-core-asl-1.8.5.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-mapper-asl/1.8.5/jackson-mapper-asl-1.8.5.jar"
+ ,"IVY_DIR/org/com/fasterxml/jackson/core/jackson-databind/2.11.0/jackson-databind-2.11.0.jar"
+ ,"IVY_DIR/com/fasterxml/jackson/core/jackson-core/2.11.0/jackson-core-2.11.0.jar"
,"IVY_DIR/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"
,"IVY_DIR/com/github/sgroschupf/zkclient/0.1/zkclient-0.1.jar"
,"IVY_DIR/org/apache/commons/commons-math/2.1/commons-math-2.1.jar"
@@ -231,8 +231,8 @@ cmd_direct_call={
,"IVY_DIR/jdom/jdom/1.0/jdom-1.0.jar"
,"IVY_DIR/log4j/log4j/1.2.15/log4j-1.2.15.jar"
,"IVY_DIR/org/apache/zookeeper/zookeeper/3.3.3/zookeeper-3.3.3.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-core-asl/1.8.5/jackson-core-asl-1.8.5.jar"
- ,"IVY_DIR/org/codehaus/jackson/jackson-mapper-asl/1.8.5/jackson-mapper-asl-1.8.5.jar"
+ ,"IVY_DIR/com/fasterxml/jackson/core/jackson-databind/2.11.0/jackson-databind-2.11.0.jar"
+ ,"IVY_DIR/com/fasterxml/jackson/core/jackson-core/2.11.0/jackson-core-2.11.0.jar"
,"IVY_DIR/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"
,"IVY_DIR/org/restlet/org.restlet/1.1.10/org.restlet-1.1.10.jar"
,"IVY_DIR/com/noelios/restlet/com.noelios.restlet/1.1.10/com.noelios.restlet-1.1.10.jar"
diff --git a/helix-core/src/test/java/org/apache/helix/TestShuffledIdealState.java b/helix-core/src/test/java/org/apache/helix/TestShuffledIdealState.java
index a021587..8c55644 100644
--- a/helix-core/src/test/java/org/apache/helix/TestShuffledIdealState.java
+++ b/helix-core/src/test/java/org/apache/helix/TestShuffledIdealState.java
@@ -27,10 +27,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.tools.IdealCalculatorByConsistentHashing;
import org.apache.helix.tools.IdealStateCalculatorByRush;
import org.apache.helix.tools.IdealStateCalculatorByShuffling;
-import org.codehaus.jackson.map.ObjectMapper;
import org.testng.Assert;
import org.testng.AssertJUnit;
import org.testng.annotations.Test;
diff --git a/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestZeroReplicaAvoidance.java b/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestZeroReplicaAvoidance.java
index 5b66d78..679a69a 100644
--- a/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestZeroReplicaAvoidance.java
+++ b/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestZeroReplicaAvoidance.java
@@ -32,6 +32,8 @@ import java.util.Random;
import java.util.Set;
import java.util.UUID;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectReader;
import org.apache.helix.controller.rebalancer.constraint.MonitoredAbnormalResolver;
import org.apache.helix.controller.stages.BaseStageTest;
import org.apache.helix.controller.stages.CurrentStateOutput;
@@ -42,8 +44,6 @@ import org.apache.helix.model.Message;
import org.apache.helix.model.Partition;
import org.apache.helix.model.StateModelDefinition;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.ObjectReader;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
diff --git a/helix-core/src/test/java/org/apache/helix/controller/stages/TestRecoveryLoadBalance.java b/helix-core/src/test/java/org/apache/helix/controller/stages/TestRecoveryLoadBalance.java
index 5ef9e33..32d8663 100644
--- a/helix-core/src/test/java/org/apache/helix/controller/stages/TestRecoveryLoadBalance.java
+++ b/helix-core/src/test/java/org/apache/helix/controller/stages/TestRecoveryLoadBalance.java
@@ -31,6 +31,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectReader;
import org.apache.helix.api.config.StateTransitionThrottleConfig;
import org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
import org.apache.helix.controller.rebalancer.DelayedAutoRebalancer;
@@ -38,8 +40,6 @@ import org.apache.helix.controller.rebalancer.strategy.CrushEdRebalanceStrategy;
import org.apache.helix.model.ClusterConfig;
import org.apache.helix.model.IdealState;
import org.apache.helix.model.Partition;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.ObjectReader;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
diff --git a/helix-core/src/test/java/org/apache/helix/controller/stages/TestStateTransitionPriority.java b/helix-core/src/test/java/org/apache/helix/controller/stages/TestStateTransitionPriority.java
index 6ca11ff..be817ef 100644
--- a/helix-core/src/test/java/org/apache/helix/controller/stages/TestStateTransitionPriority.java
+++ b/helix-core/src/test/java/org/apache/helix/controller/stages/TestStateTransitionPriority.java
@@ -30,6 +30,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectReader;
import org.apache.helix.api.config.StateTransitionThrottleConfig;
import org.apache.helix.controller.common.PartitionStateMap;
import org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
@@ -37,8 +39,6 @@ import org.apache.helix.model.ClusterConfig;
import org.apache.helix.model.IdealState;
import org.apache.helix.model.Partition;
import org.apache.helix.model.Resource;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.ObjectReader;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
diff --git a/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterMaintenanceMode.java b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterMaintenanceMode.java
index f15cbfe..ce7b41c 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterMaintenanceMode.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterMaintenanceMode.java
@@ -23,6 +23,8 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.type.TypeFactory;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.PropertyKey;
@@ -34,8 +36,6 @@ import org.apache.helix.model.ControllerHistory;
import org.apache.helix.model.ExternalView;
import org.apache.helix.model.IdealState;
import org.apache.helix.model.MaintenanceSignal;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.type.TypeFactory;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -382,6 +382,6 @@ public class TestClusterMaintenanceMode extends TaskTestBase {
*/
private static Map<String, String> convertStringToMap(String value) throws IOException {
return new ObjectMapper().readValue(value,
- TypeFactory.mapType(HashMap.class, String.class, String.class));
+ TypeFactory.defaultInstance().constructMapType(HashMap.class, String.class, String.class));
}
}
diff --git a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMessage.java b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMessage.java
index 20f378d..a897f1d 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMessage.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMessage.java
@@ -30,6 +30,8 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.CountDownLatch;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import com.google.common.collect.ImmutableList;
import org.apache.helix.Criteria;
import org.apache.helix.HelixDataAccessor;
@@ -39,7 +41,6 @@ import org.apache.helix.NotificationContext;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyKey.Builder;
import org.apache.helix.PropertyPathBuilder;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.integration.common.ZkStandAloneCMTestBase;
import org.apache.helix.manager.zk.DefaultSchedulerMessageHandlerFactory;
import org.apache.helix.messaging.AsyncCallback;
@@ -53,8 +54,7 @@ import org.apache.helix.model.Message.MessageState;
import org.apache.helix.model.Message.MessageType;
import org.apache.helix.model.StatusUpdate;
import org.apache.helix.monitoring.ZKPathDataDumpTask;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -222,8 +222,7 @@ public class TestSchedulerMessage extends ZkStandAloneCMTestBase {
cr.setPartition("%");
ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
mapper.writeValue(sw, cr);
@@ -355,8 +354,7 @@ public class TestSchedulerMessage extends ZkStandAloneCMTestBase {
cr.setPartition("%");
ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
mapper.writeValue(sw, cr);
@@ -428,8 +426,7 @@ public class TestSchedulerMessage extends ZkStandAloneCMTestBase {
cr.setPartition("%");
ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
mapper.writeValue(sw, cr);
@@ -451,8 +448,7 @@ public class TestSchedulerMessage extends ZkStandAloneCMTestBase {
MockAsyncCallback callback;
cr.setInstanceName("localhost_%");
mapper = new ObjectMapper();
- serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
sw = new StringWriter();
mapper.writeValue(sw, cr);
@@ -464,8 +460,7 @@ public class TestSchedulerMessage extends ZkStandAloneCMTestBase {
callback = new MockAsyncCallback();
cr.setInstanceName("localhost_" + (START_PORT + i));
mapper = new ObjectMapper();
- serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
sw = new StringWriter();
mapper.writeValue(sw, cr);
@@ -542,8 +537,7 @@ public class TestSchedulerMessage extends ZkStandAloneCMTestBase {
cr.setPartition("%");
ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
mapper.writeValue(sw, cr);
@@ -573,8 +567,7 @@ public class TestSchedulerMessage extends ZkStandAloneCMTestBase {
MockAsyncCallback callback = new MockAsyncCallback();
cr.setInstanceName("localhost_%");
mapper = new ObjectMapper();
- serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
sw = new StringWriter();
mapper.writeValue(sw, cr);
@@ -592,8 +585,7 @@ public class TestSchedulerMessage extends ZkStandAloneCMTestBase {
callback = new MockAsyncCallback();
cr.setInstanceName("localhost_" + (START_PORT + i));
mapper = new ObjectMapper();
- serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
sw = new StringWriter();
mapper.writeValue(sw, cr);
diff --git a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMessage2.java b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMessage2.java
index 00ca9a5..c3b1345 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMessage2.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMessage2.java
@@ -23,6 +23,8 @@ import java.io.StringWriter;
import java.util.Set;
import java.util.UUID;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.Criteria;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixManager;
@@ -34,8 +36,6 @@ import org.apache.helix.manager.zk.DefaultSchedulerMessageHandlerFactory;
import org.apache.helix.model.Message;
import org.apache.helix.model.Message.MessageState;
import org.apache.helix.model.Message.MessageType;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -76,8 +76,7 @@ public class TestSchedulerMessage2 extends ZkStandAloneCMTestBase {
cr.setPartition("%");
ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
mapper.writeValue(sw, cr);
diff --git a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMsgContraints.java b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMsgContraints.java
index f7050d3..8e12d29 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMsgContraints.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMsgContraints.java
@@ -25,12 +25,13 @@ import java.util.Set;
import java.util.TreeMap;
import java.util.UUID;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.Criteria;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixManager;
import org.apache.helix.InstanceType;
import org.apache.helix.PropertyKey;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.integration.common.ZkStandAloneCMTestBase;
import org.apache.helix.manager.zk.DefaultSchedulerMessageHandlerFactory;
import org.apache.helix.model.ClusterConstraints.ConstraintType;
@@ -38,8 +39,7 @@ import org.apache.helix.model.ConstraintItem;
import org.apache.helix.model.Message;
import org.apache.helix.model.Message.MessageState;
import org.apache.helix.model.Message.MessageType;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -81,8 +81,7 @@ public class TestSchedulerMsgContraints extends ZkStandAloneCMTestBase {
cr.setPartition("%");
ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
mapper.writeValue(sw, cr);
@@ -103,8 +102,7 @@ public class TestSchedulerMsgContraints extends ZkStandAloneCMTestBase {
TestSchedulerMessage.MockAsyncCallback callback = new TestSchedulerMessage.MockAsyncCallback();
mapper = new ObjectMapper();
- serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
sw = new StringWriter();
mapper.writeValue(sw, cr);
diff --git a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMsgUsingQueue.java b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMsgUsingQueue.java
index 54dd99b..2f4025e 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMsgUsingQueue.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestSchedulerMsgUsingQueue.java
@@ -23,19 +23,19 @@ import java.io.StringWriter;
import java.util.Set;
import java.util.UUID;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.Criteria;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixManager;
import org.apache.helix.InstanceType;
import org.apache.helix.PropertyKey;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.integration.common.ZkStandAloneCMTestBase;
import org.apache.helix.manager.zk.DefaultSchedulerMessageHandlerFactory;
import org.apache.helix.model.Message;
import org.apache.helix.model.Message.MessageState;
import org.apache.helix.model.Message.MessageType;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -79,8 +79,7 @@ public class TestSchedulerMsgUsingQueue extends ZkStandAloneCMTestBase {
cr.setPartition("%");
ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
mapper.writeValue(sw, cr);
diff --git a/helix-core/src/test/java/org/apache/helix/integration/task/MockTask.java b/helix-core/src/test/java/org/apache/helix/integration/task/MockTask.java
index dc2dad0..8c1c4af 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/task/MockTask.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/task/MockTask.java
@@ -23,13 +23,13 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.HelixException;
import org.apache.helix.task.Task;
import org.apache.helix.task.TaskCallbackContext;
import org.apache.helix.task.TaskConfig;
import org.apache.helix.task.TaskResult;
import org.apache.helix.task.UserContentStore;
-import org.codehaus.jackson.map.ObjectMapper;
public class MockTask extends UserContentStore implements Task {
diff --git a/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkHelixAdmin.java b/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkHelixAdmin.java
index 54aaa71..ee73df2 100644
--- a/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkHelixAdmin.java
+++ b/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkHelixAdmin.java
@@ -28,6 +28,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.BaseDataAccessor;
import org.apache.helix.ConfigAccessor;
@@ -71,7 +72,6 @@ import org.apache.helix.zookeeper.exception.ZkClientException;
import org.apache.helix.zookeeper.zkclient.exception.ZkException;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.data.Stat;
-import org.codehaus.jackson.map.ObjectMapper;
import org.mockito.Mockito;
import org.testng.Assert;
import org.testng.AssertJUnit;
diff --git a/helix-core/src/test/java/org/apache/helix/manager/zk/serializer/TestJacksonPayloadSerializer.java b/helix-core/src/test/java/org/apache/helix/manager/zk/serializer/TestJacksonPayloadSerializer.java
index 1545dd3..45bd8db 100644
--- a/helix-core/src/test/java/org/apache/helix/manager/zk/serializer/TestJacksonPayloadSerializer.java
+++ b/helix-core/src/test/java/org/apache/helix/manager/zk/serializer/TestJacksonPayloadSerializer.java
@@ -23,14 +23,14 @@ import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.manager.zk.ZNRecordSerializer;
import org.apache.helix.manager.zk.ZNRecordStreamingSerializer;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonProcessingException;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.ObjectMapper;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/helix-core/src/test/java/org/apache/helix/mock/controller/MockController.java b/helix-core/src/test/java/org/apache/helix/mock/controller/MockController.java
index 9d20253..43b0382 100644
--- a/helix-core/src/test/java/org/apache/helix/mock/controller/MockController.java
+++ b/helix-core/src/test/java/org/apache/helix/mock/controller/MockController.java
@@ -28,23 +28,24 @@ import java.util.Map;
import java.util.Random;
import java.util.TreeMap;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.PropertyKey.Builder;
import org.apache.helix.PropertyPathBuilder;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
import org.apache.helix.manager.zk.ZNRecordSerializer;
import org.apache.helix.manager.zk.ZkBaseDataAccessor;
-import org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory;
-import org.apache.helix.zookeeper.api.client.HelixZkClient;
import org.apache.helix.model.ExternalView;
import org.apache.helix.model.IdealState.IdealStateProperty;
import org.apache.helix.model.LiveInstance.LiveInstanceProperty;
import org.apache.helix.model.Message;
import org.apache.helix.model.Message.MessageState;
import org.apache.helix.model.Message.MessageType;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
+import org.apache.helix.zookeeper.api.client.HelixZkClient;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory;
+
public class MockController {
private final HelixZkClient client;
@@ -75,7 +76,7 @@ public class MockController {
String path = PropertyPathBuilder.instanceMessage(clusterName, instanceName, message.getId());
ObjectMapper mapper = new ObjectMapper();
StringWriter sw = new StringWriter();
- mapper.writeValueUsingView(sw, message, Message.class);
+ mapper.writeValue(sw, message);
System.out.println(sw.toString());
client.delete(path);
diff --git a/helix-core/src/test/java/org/apache/helix/mock/controller/MockControllerProcess.java b/helix-core/src/test/java/org/apache/helix/mock/controller/MockControllerProcess.java
index fa0dfd8..f1d977b 100644
--- a/helix-core/src/test/java/org/apache/helix/mock/controller/MockControllerProcess.java
+++ b/helix-core/src/test/java/org/apache/helix/mock/controller/MockControllerProcess.java
@@ -22,8 +22,8 @@ package org.apache.helix.mock.controller;
import java.io.IOException;
import java.util.ArrayList;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
public class MockControllerProcess {
diff --git a/helix-core/src/test/java/org/apache/helix/model/TestResourceConfig.java b/helix-core/src/test/java/org/apache/helix/model/TestResourceConfig.java
index 7deb6a7..7cc030c 100644
--- a/helix-core/src/test/java/org/apache/helix/model/TestResourceConfig.java
+++ b/helix-core/src/test/java/org/apache/helix/model/TestResourceConfig.java
@@ -24,9 +24,9 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.map.ObjectMapper;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestTopStateHandoffMetrics.java b/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestTopStateHandoffMetrics.java
index 7a833c0..7833b15 100644
--- a/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestTopStateHandoffMetrics.java
+++ b/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestTopStateHandoffMetrics.java
@@ -26,6 +26,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Range;
import org.apache.helix.HelixConstants;
import org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
@@ -39,9 +42,6 @@ import org.apache.helix.model.CurrentState;
import org.apache.helix.model.LiveInstance;
import org.apache.helix.model.Message;
import org.apache.helix.model.Resource;
-import org.codehaus.jackson.annotate.JsonCreator;
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.ObjectMapper;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
diff --git a/helix-core/src/test/java/org/apache/helix/util/TestInputLoader.java b/helix-core/src/test/java/org/apache/helix/util/TestInputLoader.java
index 8fc5eb7..caca4d0 100644
--- a/helix-core/src/test/java/org/apache/helix/util/TestInputLoader.java
+++ b/helix-core/src/test/java/org/apache/helix/util/TestInputLoader.java
@@ -25,8 +25,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.ObjectReader;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectReader;
public class TestInputLoader {
diff --git a/helix-rest/helix-rest-1.0.2-SNAPSHOT.ivy b/helix-rest/helix-rest-1.0.2-SNAPSHOT.ivy
index 7d673e7..d561e0d 100644
--- a/helix-rest/helix-rest-1.0.2-SNAPSHOT.ivy
+++ b/helix-rest/helix-rest-1.0.2-SNAPSHOT.ivy
@@ -47,8 +47,8 @@ under the License.
<artifact name="snakeyaml" m:classifier="sources" ext="jar"/>
</dependency>
<dependency org="org.apache.helix" name="helix-core" rev="1.0.2-SNAPSHOT" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
- <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="1.8.5" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
- <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="1.8.5" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.11.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.11.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
<dependency org="commons-cli" name="commons-cli" rev="1.2" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
</dependencies>
</ivy-module>
diff --git a/helix-rest/pom.xml b/helix-rest/pom.xml
index d941e17..9fa6a76 100644
--- a/helix-rest/pom.xml
+++ b/helix-rest/pom.xml
@@ -119,24 +119,19 @@
<version>1.3.1</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>1.8.5</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.8.5</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-annotations</artifactId>
- <version>2.9.5</version>
+ <artifactId>jackson-core</artifactId>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.9.10.1</version>
+ <artifactId>jackson-annotations</artifactId>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/metadatastore/accessor/ZkRoutingDataWriter.java b/helix-rest/src/main/java/org/apache/helix/rest/metadatastore/accessor/ZkRoutingDataWriter.java
index 791d9bb..280aa99 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/metadatastore/accessor/ZkRoutingDataWriter.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/metadatastore/accessor/ZkRoutingDataWriter.java
@@ -25,9 +25,11 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.msdcommon.constant.MetadataStoreRoutingConstants;
import org.apache.helix.rest.common.HttpConstants;
import org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory;
@@ -36,7 +38,6 @@ import org.apache.helix.zookeeper.api.client.HelixZkClient;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer;
import org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory;
-import org.apache.helix.zookeeper.zkclient.exception.ZkNodeExistsException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.config.RequestConfig;
@@ -48,9 +49,6 @@ import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/AbstractResource.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/AbstractResource.java
index 6f03b92..60a79bb 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/AbstractResource.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/AbstractResource.java
@@ -31,10 +31,10 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.HelixException;
import org.apache.helix.rest.server.auditlog.AuditLog;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -158,8 +158,7 @@ public class AbstractResource {
protected static String toJson(Object object)
throws IOException {
- SerializationConfig serializationConfig = OBJECT_MAPPER.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
+ OBJECT_MAPPER.enable(SerializationFeature.INDENT_OUTPUT);
StringWriter sw = new StringWriter();
OBJECT_MAPPER.writeValue(sw, object);
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ClusterAccessor.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ClusterAccessor.java
index 3e18358..d19f17e 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ClusterAccessor.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ClusterAccessor.java
@@ -34,6 +34,7 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
import org.apache.commons.lang3.StringUtils;
@@ -62,7 +63,6 @@ import org.apache.helix.rest.server.service.ClusterServiceImpl;
import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.zookeeper.api.client.RealmAwareZkClient;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.type.TypeReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/InstancesAccessor.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/InstancesAccessor.java
index 8ac33b1..c60c753 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/InstancesAccessor.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/InstancesAccessor.java
@@ -35,6 +35,10 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.commons.lang3.NotImplementedException;
import org.apache.helix.HelixAdmin;
import org.apache.helix.HelixDataAccessor;
@@ -50,10 +54,6 @@ import org.apache.helix.rest.server.service.ClusterService;
import org.apache.helix.rest.server.service.ClusterServiceImpl;
import org.apache.helix.rest.server.service.InstanceService;
import org.apache.helix.rest.server.service.InstanceServiceImpl;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.node.ArrayNode;
-import org.codehaus.jackson.node.JsonNodeFactory;
-import org.codehaus.jackson.node.ObjectNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -193,8 +193,7 @@ public class InstancesAccessor extends AbstractHelixResource {
// TODO: Process input data from the content
InstancesAccessor.InstanceHealthSelectionBase selectionBase =
InstancesAccessor.InstanceHealthSelectionBase.valueOf(
- node.get(InstancesAccessor.InstancesProperties.selection_base.name())
- .getValueAsText());
+ node.get(InstancesAccessor.InstancesProperties.selection_base.name()).textValue());
List<String> instances = OBJECT_MAPPER
.readValue(node.get(InstancesAccessor.InstancesProperties.instances.name()).toString(),
OBJECT_MAPPER.getTypeFactory().constructCollectionType(List.class, String.class));
@@ -202,7 +201,7 @@ public class InstancesAccessor extends AbstractHelixResource {
List<String> orderOfZone = null;
String customizedInput = null;
if (node.get(InstancesAccessor.InstancesProperties.customized_values.name()) != null) {
- customizedInput = node.get(InstancesAccessor.InstancesProperties.customized_values.name()).getTextValue();
+ customizedInput = node.get(InstancesAccessor.InstancesProperties.customized_values.name()).textValue();
}
if (node.get(InstancesAccessor.InstancesProperties.zone_order.name()) != null) {
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/JobAccessor.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/JobAccessor.java
index a3ddf4e..b817813 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/JobAccessor.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/JobAccessor.java
@@ -34,18 +34,18 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.helix.HelixException;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.task.JobConfig;
import org.apache.helix.task.JobContext;
import org.apache.helix.task.TaskConfig;
import org.apache.helix.task.TaskDriver;
import org.apache.helix.task.WorkflowConfig;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.zkclient.exception.ZkNoNodeException;
-import org.codehaus.jackson.node.ArrayNode;
-import org.codehaus.jackson.node.JsonNodeFactory;
-import org.codehaus.jackson.node.ObjectNode;
-import org.codehaus.jackson.type.TypeReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PerInstanceAccessor.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PerInstanceAccessor.java
index 604669b..0cfefe1 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PerInstanceAccessor.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PerInstanceAccessor.java
@@ -36,13 +36,15 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.helix.ConfigAccessor;
import org.apache.helix.HelixAdmin;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
-import org.apache.helix.model.ClusterConfig;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
import org.apache.helix.model.CurrentState;
import org.apache.helix.model.Error;
@@ -57,10 +59,7 @@ import org.apache.helix.rest.server.json.instance.InstanceInfo;
import org.apache.helix.rest.server.json.instance.StoppableCheck;
import org.apache.helix.rest.server.service.InstanceService;
import org.apache.helix.rest.server.service.InstanceServiceImpl;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.node.ArrayNode;
-import org.codehaus.jackson.node.JsonNodeFactory;
-import org.codehaus.jackson.node.ObjectNode;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.eclipse.jetty.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -206,7 +205,7 @@ public class PerInstanceAccessor extends AbstractHelixResource {
return badRequest("Instance names are not match!");
}
admin.resetPartition(clusterId, instanceName,
- node.get(PerInstanceProperties.resource.name()).getTextValue(), (List<String>) OBJECT_MAPPER
+ node.get(PerInstanceProperties.resource.name()).textValue(), (List<String>) OBJECT_MAPPER
.readValue(node.get(PerInstanceProperties.partitions.name()).toString(),
OBJECT_MAPPER.getTypeFactory()
.constructCollectionType(List.class, String.class)));
@@ -233,7 +232,7 @@ public class PerInstanceAccessor extends AbstractHelixResource {
break;
case enablePartitions:
admin.enablePartition(true, clusterId, instanceName,
- node.get(PerInstanceProperties.resource.name()).getTextValue(),
+ node.get(PerInstanceProperties.resource.name()).textValue(),
(List<String>) OBJECT_MAPPER
.readValue(node.get(PerInstanceProperties.partitions.name()).toString(),
OBJECT_MAPPER.getTypeFactory()
@@ -241,7 +240,7 @@ public class PerInstanceAccessor extends AbstractHelixResource {
break;
case disablePartitions:
admin.enablePartition(false, clusterId, instanceName,
- node.get(PerInstanceProperties.resource.name()).getTextValue(),
+ node.get(PerInstanceProperties.resource.name()).textValue(),
(List<String>) OBJECT_MAPPER
.readValue(node.get(PerInstanceProperties.partitions.name()).toString(),
OBJECT_MAPPER.getTypeFactory().constructCollectionType(List.class, String.class)));
@@ -557,7 +556,7 @@ public class PerInstanceAccessor extends AbstractHelixResource {
}
private boolean validInstance(JsonNode node, String instanceName) {
- return instanceName.equals(node.get(Properties.id.name()).getValueAsText());
+ return instanceName.equals(node.get(Properties.id.name()).textValue());
}
private boolean validateDeltaTopologySettingInInstanceConfig(String clusterName,
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PropertyStoreAccessor.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PropertyStoreAccessor.java
index e92a689..1c9629f 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PropertyStoreAccessor.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PropertyStoreAccessor.java
@@ -30,13 +30,13 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.helix.AccessOption;
import org.apache.helix.BaseDataAccessor;
import org.apache.helix.PropertyPathBuilder;
import org.apache.helix.msdcommon.util.ZkValidationUtil;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer;
-import org.codehaus.jackson.node.ObjectNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ResourceAccessor.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ResourceAccessor.java
index a375736..2b69e45 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ResourceAccessor.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ResourceAccessor.java
@@ -37,6 +37,10 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.helix.ConfigAccessor;
import org.apache.helix.HelixAdmin;
import org.apache.helix.HelixException;
@@ -49,10 +53,6 @@ import org.apache.helix.model.StateModelDefinition;
import org.apache.helix.model.builder.HelixConfigScopeBuilder;
import org.apache.helix.zookeeper.api.client.RealmAwareZkClient;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.node.ArrayNode;
-import org.codehaus.jackson.node.JsonNodeFactory;
-import org.codehaus.jackson.node.ObjectNode;
-import org.codehaus.jackson.type.TypeReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/TaskAccessor.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/TaskAccessor.java
index 07711a8..9f9e33b 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/TaskAccessor.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/TaskAccessor.java
@@ -29,9 +29,9 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
import org.apache.helix.task.TaskDriver;
import org.apache.helix.zookeeper.zkclient.exception.ZkNoNodeException;
-import org.codehaus.jackson.type.TypeReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/WorkflowAccessor.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/WorkflowAccessor.java
index 80c53ad..10c2cde 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/WorkflowAccessor.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/WorkflowAccessor.java
@@ -36,8 +36,14 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.fasterxml.jackson.databind.node.TextNode;
+import com.fasterxml.jackson.databind.type.TypeFactory;
import org.apache.helix.HelixException;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.task.JobConfig;
import org.apache.helix.task.JobDag;
import org.apache.helix.task.JobQueue;
@@ -45,14 +51,8 @@ import org.apache.helix.task.TaskDriver;
import org.apache.helix.task.Workflow;
import org.apache.helix.task.WorkflowConfig;
import org.apache.helix.task.WorkflowContext;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.zkclient.exception.ZkNoNodeException;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.type.TypeFactory;
-import org.codehaus.jackson.node.ArrayNode;
-import org.codehaus.jackson.node.JsonNodeFactory;
-import org.codehaus.jackson.node.ObjectNode;
-import org.codehaus.jackson.node.TextNode;
-import org.codehaus.jackson.type.TypeReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -371,7 +371,7 @@ public class WorkflowAccessor extends AbstractHelixResource {
private Map<String, JobConfig.Builder> getJobConfigs(ArrayNode root)
throws HelixException, IOException {
Map<String, JobConfig.Builder> jobConfigsMap = new HashMap<>();
- for (Iterator<JsonNode> it = root.getElements(); it.hasNext(); ) {
+ for (Iterator<JsonNode> it = root.elements(); it.hasNext(); ) {
JsonNode job = it.next();
ZNRecord record = null;
@@ -386,10 +386,10 @@ public class WorkflowAccessor extends AbstractHelixResource {
TypeFactory.defaultInstance()
.constructMapType(HashMap.class, String.class, String.class));
jobConfigsMap
- .put(job.get(Properties.id.name()).getTextValue(), JobAccessor.getJobConfig(cfgMap));
+ .put(job.get(Properties.id.name()).textValue(), JobAccessor.getJobConfig(cfgMap));
} else {
jobConfigsMap
- .put(job.get(Properties.id.name()).getTextValue(), JobAccessor.getJobConfig(record));
+ .put(job.get(Properties.id.name()).textValue(), JobAccessor.getJobConfig(record));
}
}
diff --git a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/metadatastore/MetadataStoreDirectoryAccessor.java b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/metadatastore/MetadataStoreDirectoryAccessor.java
index fcaf327..a72795d 100644
--- a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/metadatastore/MetadataStoreDirectoryAccessor.java
+++ b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/metadatastore/MetadataStoreDirectoryAccessor.java
@@ -37,6 +37,9 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonMappingException;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.msdcommon.constant.MetadataStoreRoutingConstants;
import org.apache.helix.msdcommon.exception.InvalidRoutingDataException;
@@ -48,9 +51,6 @@ import org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory;
import org.apache.helix.rest.metadatastore.datamodel.MetadataStoreShardingKey;
import org.apache.helix.rest.metadatastore.datamodel.MetadataStoreShardingKeysByRealm;
import org.apache.helix.rest.server.resources.AbstractResource;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.type.TypeReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/AbstractTestClass.java b/helix-rest/src/test/java/org/apache/helix/rest/server/AbstractTestClass.java
index 0cd73e5..6d16e01 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/AbstractTestClass.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/AbstractTestClass.java
@@ -36,6 +36,7 @@ import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Joiner;
import org.apache.helix.AccessOption;
import org.apache.helix.BaseDataAccessor;
@@ -43,15 +44,12 @@ import org.apache.helix.ConfigAccessor;
import org.apache.helix.PropertyPathBuilder;
import org.apache.helix.PropertyType;
import org.apache.helix.TestHelper;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.MockParticipantManager;
import org.apache.helix.integration.task.MockTask;
import org.apache.helix.integration.task.TaskTestUtil;
import org.apache.helix.manager.zk.ZNRecordSerializer;
import org.apache.helix.manager.zk.ZkBaseDataAccessor;
-import org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory;
-import org.apache.helix.zookeeper.api.client.HelixZkClient;
import org.apache.helix.model.ClusterConfig;
import org.apache.helix.model.IdealState;
import org.apache.helix.model.InstanceConfig;
@@ -77,8 +75,10 @@ import org.apache.helix.task.Workflow;
import org.apache.helix.task.WorkflowContext;
import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.util.ZKClientPool;
+import org.apache.helix.zookeeper.api.client.HelixZkClient;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory;
import org.apache.helix.zookeeper.zkclient.ZkServer;
-import org.codehaus.jackson.map.ObjectMapper;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.DeploymentContext;
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/TestClusterAccessor.java b/helix-rest/src/test/java/org/apache/helix/rest/server/TestClusterAccessor.java
index d344e11..73a5268 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/TestClusterAccessor.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/TestClusterAccessor.java
@@ -31,6 +31,9 @@ import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
import com.sun.research.ws.wadl.HTTPMethods;
import org.apache.helix.ConfigAccessor;
@@ -62,9 +65,6 @@ import org.apache.helix.rest.server.resources.helix.ClusterAccessor;
import org.apache.helix.rest.server.util.JerseyUriRequestBuilder;
import org.apache.helix.tools.ClusterVerifiers.BestPossibleExternalViewVerifier;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -303,7 +303,7 @@ public class TestClusterAccessor extends AbstractTestClass {
get("clusters/" + cluster + "/maintenance", null, Response.Status.OK.getStatusCode(), true);
JsonNode node = OBJECT_MAPPER.readTree(body);
boolean maintenance =
- node.get(ClusterAccessor.ClusterProperties.maintenance.name()).getBooleanValue();
+ node.get(ClusterAccessor.ClusterProperties.maintenance.name()).booleanValue();
Assert.assertTrue(maintenance);
// Check that we could retrieve maintenance signal correctly
@@ -325,7 +325,7 @@ public class TestClusterAccessor extends AbstractTestClass {
body = get("clusters/" + cluster + "/maintenance", null, Response.Status.OK.getStatusCode(), true);
node = OBJECT_MAPPER.readTree(body);
Assert.assertFalse(
- node.get(ClusterAccessor.ClusterProperties.maintenance.name()).getBooleanValue());
+ node.get(ClusterAccessor.ClusterProperties.maintenance.name()).booleanValue());
get("clusters/" + cluster + "/controller/maintenanceSignal", null,
Response.Status.NOT_FOUND.getStatusCode(), false);
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/TestJobAccessor.java b/helix-rest/src/test/java/org/apache/helix/rest/server/TestJobAccessor.java
index ddc8994..ce8b711 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/TestJobAccessor.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/TestJobAccessor.java
@@ -28,6 +28,8 @@ import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.TestHelper;
import org.apache.helix.rest.server.resources.helix.JobAccessor;
@@ -38,8 +40,6 @@ import org.apache.helix.task.TaskDriver;
import org.apache.helix.task.TaskPartitionState;
import org.apache.helix.task.TaskUtil;
import org.apache.helix.task.WorkflowConfig;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.type.TypeReference;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -82,7 +82,7 @@ public class TestJobAccessor extends AbstractTestClass {
Assert.assertNotNull(node.get(JobAccessor.JobProperties.JobContext.name()));
String workflowId =
node.get(JobAccessor.JobProperties.JobConfig.name()).get("simpleFields").get("WorkflowID")
- .getTextValue();
+ .textValue();
Assert.assertEquals(workflowId, WORKFLOW_NAME);
System.out.println("End test :" + TestHelper.getTestMethodName());
}
@@ -95,7 +95,7 @@ public class TestJobAccessor extends AbstractTestClass {
get("clusters/" + CLUSTER_NAME + "/workflows/" + WORKFLOW_NAME + "/jobs/" + JOB_NAME
+ "/configs", null, Response.Status.OK.getStatusCode(), true);
JsonNode node = OBJECT_MAPPER.readTree(body);
- String workflowId = node.get("simpleFields").get("WorkflowID").getTextValue();
+ String workflowId = node.get("simpleFields").get("WorkflowID").textValue();
Assert.assertEquals(workflowId, WORKFLOW_NAME);
System.out.println("End test :" + TestHelper.getTestMethodName());
}
@@ -108,7 +108,7 @@ public class TestJobAccessor extends AbstractTestClass {
get("clusters/" + CLUSTER_NAME + "/workflows/" + WORKFLOW_NAME + "/jobs/" + JOB_NAME
+ "/context", null, Response.Status.OK.getStatusCode(), true);
JsonNode node = OBJECT_MAPPER.readTree(body);
- Assert.assertEquals(node.get("mapFields").get("0").get("STATE").getTextValue(),
+ Assert.assertEquals(node.get("mapFields").get("0").get("STATE").textValue(),
TaskPartitionState.COMPLETED.name());
System.out.println("End test :" + TestHelper.getTestMethodName());
}
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/TestMSDAccessorLeaderElection.java b/helix-rest/src/test/java/org/apache/helix/rest/server/TestMSDAccessorLeaderElection.java
index b42a101..92dbb5b 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/TestMSDAccessorLeaderElection.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/TestMSDAccessorLeaderElection.java
@@ -30,6 +30,7 @@ import java.util.Map;
import java.util.Set;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.msdcommon.constant.MetadataStoreRoutingConstants;
import org.apache.helix.msdcommon.exception.InvalidRoutingDataException;
import org.apache.helix.rest.common.ContextPropertyKeys;
@@ -52,7 +53,6 @@ import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
-import org.codehaus.jackson.map.ObjectMapper;
import org.glassfish.jersey.server.ResourceConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/TestNamespacedAPIAccess.java b/helix-rest/src/test/java/org/apache/helix/rest/server/TestNamespacedAPIAccess.java
index 382a042..3cbeaa5 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/TestNamespacedAPIAccess.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/TestNamespacedAPIAccess.java
@@ -28,10 +28,10 @@ import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.PropertyKey;
import org.apache.helix.rest.common.HelixRestNamespace;
-import org.codehaus.jackson.map.ObjectMapper;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/TestPerInstanceAccessor.java b/helix-rest/src/test/java/org/apache/helix/rest/server/TestPerInstanceAccessor.java
index 7c40e7b..8809e1c 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/TestPerInstanceAccessor.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/TestPerInstanceAccessor.java
@@ -19,8 +19,6 @@ package org.apache.helix.rest.server;
* under the License.
*/
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -32,6 +30,10 @@ import java.util.Set;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import org.apache.helix.HelixDataAccessor;
import org.apache.helix.HelixException;
import org.apache.helix.TestHelper;
@@ -44,7 +46,6 @@ import org.apache.helix.rest.server.resources.helix.InstancesAccessor;
import org.apache.helix.rest.server.resources.helix.PerInstanceAccessor;
import org.apache.helix.rest.server.util.JerseyUriRequestBuilder;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
-import org.codehaus.jackson.JsonNode;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -87,7 +88,7 @@ public class TestPerInstanceAccessor extends AbstractTestClass {
.isBodyReturnExpected(true).format(CLUSTER_NAME, testInstance).get(this);
JsonNode node = OBJECT_MAPPER.readTree(body);
int newMessageCount =
- node.get(PerInstanceAccessor.PerInstanceProperties.total_message_count.name()).getIntValue();
+ node.get(PerInstanceAccessor.PerInstanceProperties.total_message_count.name()).intValue();
Assert.assertEquals(newMessageCount, 1);
System.out.println("End test :" + TestHelper.getTestMethodName());
@@ -116,7 +117,7 @@ public class TestPerInstanceAccessor extends AbstractTestClass {
.isBodyReturnExpected(true).format(CLUSTER_NAME, testInstance).get(this);
JsonNode node = OBJECT_MAPPER.readTree(body);
int newMessageCount =
- node.get(PerInstanceAccessor.PerInstanceProperties.total_message_count.name()).getIntValue();
+ node.get(PerInstanceAccessor.PerInstanceProperties.total_message_count.name()).intValue();
Assert.assertEquals(newMessageCount, 1);
@@ -125,7 +126,7 @@ public class TestPerInstanceAccessor extends AbstractTestClass {
.isBodyReturnExpected(true).format(CLUSTER_NAME, testInstance).get(this);
node = OBJECT_MAPPER.readTree(body);
newMessageCount =
- node.get(PerInstanceAccessor.PerInstanceProperties.total_message_count.name()).getIntValue();
+ node.get(PerInstanceAccessor.PerInstanceProperties.total_message_count.name()).intValue();
Assert.assertEquals(newMessageCount, 0);
System.out.println("End test :" + TestHelper.getTestMethodName());
@@ -156,7 +157,7 @@ public class TestPerInstanceAccessor extends AbstractTestClass {
JsonNode node = OBJECT_MAPPER.readTree(body);
String instancesCfg = node.get(PerInstanceAccessor.PerInstanceProperties.config.name()).toString();
Assert.assertNotNull(instancesCfg);
- boolean isHealth = node.get("health").getBooleanValue();
+ boolean isHealth = node.get("health").booleanValue();
Assert.assertFalse(isHealth);
InstanceConfig instanceConfig = new InstanceConfig(toZNRecord(instancesCfg));
@@ -436,7 +437,7 @@ public class TestPerInstanceAccessor extends AbstractTestClass {
JsonNode node = OBJECT_MAPPER.readTree(body);
// Must have the result saying (true) because there's no capacity keys set
// in ClusterConfig
- node.iterator().forEachRemaining(child -> Assert.assertTrue(child.getBooleanValue()));
+ node.iterator().forEachRemaining(child -> Assert.assertTrue(child.booleanValue()));
// Define keys in ClusterConfig
clusterConfig = _configAccessor.getClusterConfig(CLUSTER_NAME);
@@ -462,7 +463,7 @@ public class TestPerInstanceAccessor extends AbstractTestClass {
node = OBJECT_MAPPER.readTree(body);
// Must have the results saying they are all valid (true) because capacity keys are set
// in ClusterConfig
- node.iterator().forEachRemaining(child -> Assert.assertTrue(child.getBooleanValue()));
+ node.iterator().forEachRemaining(child -> Assert.assertTrue(child.booleanValue()));
System.out.println("End test :" + TestHelper.getTestMethodName());
}
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/TestPropertyStoreAccessor.java b/helix-rest/src/test/java/org/apache/helix/rest/server/TestPropertyStoreAccessor.java
index f530169..51ea153 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/TestPropertyStoreAccessor.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/TestPropertyStoreAccessor.java
@@ -24,6 +24,7 @@ import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.AccessOption;
import org.apache.helix.PropertyPathBuilder;
@@ -35,7 +36,6 @@ import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.zkclient.exception.ZkMarshallingError;
import org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer;
import org.apache.http.HttpStatus;
-import org.codehaus.jackson.JsonNode;
import org.junit.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -95,7 +95,7 @@ public class TestPropertyStoreAccessor extends AbstractTestClass {
new JerseyUriRequestBuilder("clusters/{}/propertyStore/NonZnRecord").format(TEST_CLUSTER)
.isBodyReturnExpected(true).get(this);
JsonNode jsonNode = OBJECT_MAPPER.readTree(actual);
- String payLoad = jsonNode.get(CONTENT_KEY).getValueAsText();
+ String payLoad = jsonNode.get(CONTENT_KEY).textValue();
Assert.assertEquals(TEST_CONTENT, payLoad);
}
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/TestResourceAccessor.java b/helix-rest/src/test/java/org/apache/helix/rest/server/TestResourceAccessor.java
index 1d604ab..e2e81a2 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/TestResourceAccessor.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/TestResourceAccessor.java
@@ -32,6 +32,8 @@ import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.AccessOption;
import org.apache.helix.HelixDataAccessor;
@@ -40,7 +42,6 @@ import org.apache.helix.HelixManagerFactory;
import org.apache.helix.InstanceType;
import org.apache.helix.PropertyPathBuilder;
import org.apache.helix.TestHelper;
-import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.controller.rebalancer.waged.WagedRebalancer;
import org.apache.helix.model.ClusterConfig;
import org.apache.helix.model.ExternalView;
@@ -49,8 +50,7 @@ import org.apache.helix.model.InstanceConfig;
import org.apache.helix.model.ResourceConfig;
import org.apache.helix.model.builder.FullAutoModeISBuilder;
import org.apache.helix.rest.server.resources.helix.ResourceAccessor;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.type.TypeReference;
+import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -203,7 +203,7 @@ public class TestResourceAccessor extends AbstractTestClass {
JsonNode node = OBJECT_MAPPER.readTree(body);
Map<String, String> healthStatus =
- OBJECT_MAPPER.readValue(node, new TypeReference<Map<String, String>>() {
+ OBJECT_MAPPER.convertValue(node, new TypeReference<Map<String, String>>() {
});
Assert.assertEquals(healthStatus.get("p0"), "HEALTHY");
@@ -292,7 +292,7 @@ public class TestResourceAccessor extends AbstractTestClass {
JsonNode node = OBJECT_MAPPER.readTree(body);
Map<String, String> healthStatus =
- OBJECT_MAPPER.readValue(node, new TypeReference<Map<String, String>>() {
+ OBJECT_MAPPER.convertValue(node, new TypeReference<Map<String, String>>() {
});
Assert.assertEquals(healthStatus.get(resourceNameHealthy), "HEALTHY");
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/TestTaskAccessor.java b/helix-rest/src/test/java/org/apache/helix/rest/server/TestTaskAccessor.java
index a8d6bb4..b815d1c 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/TestTaskAccessor.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/TestTaskAccessor.java
@@ -26,9 +26,9 @@ import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.TestHelper;
-import org.codehaus.jackson.type.TypeReference;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/TestWorkflowAccessor.java b/helix-rest/src/test/java/org/apache/helix/rest/server/TestWorkflowAccessor.java
index e4fe273..e08218c 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/TestWorkflowAccessor.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/TestWorkflowAccessor.java
@@ -28,6 +28,8 @@ import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.TestHelper;
import org.apache.helix.rest.server.resources.helix.WorkflowAccessor;
@@ -37,8 +39,6 @@ import org.apache.helix.task.TaskDriver;
import org.apache.helix.task.TaskExecutionInfo;
import org.apache.helix.task.TaskState;
import org.apache.helix.task.WorkflowConfig;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.type.TypeReference;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -87,7 +87,7 @@ public class TestWorkflowAccessor extends AbstractTestClass {
.equals(new TaskExecutionInfo(null, null, null, TaskExecutionInfo.TIMESTAMP_NOT_SET)));
String workflowId =
node.get(WorkflowAccessor.WorkflowProperties.WorkflowConfig.name()).get("WorkflowID")
- .getTextValue();
+ .textValue();
Assert.assertEquals(workflowId, WORKFLOW_NAME);
System.out.println("End test :" + TestHelper.getTestMethodName());
}
@@ -99,7 +99,7 @@ public class TestWorkflowAccessor extends AbstractTestClass {
String body = get("clusters/" + CLUSTER_NAME + "/workflows/" + WORKFLOW_NAME + "/configs", null,
Response.Status.OK.getStatusCode(), true);
JsonNode node = OBJECT_MAPPER.readTree(body);
- String workflowId = node.get("WorkflowID").getTextValue();
+ String workflowId = node.get("WorkflowID").textValue();
Assert.assertEquals(workflowId, WORKFLOW_NAME);
System.out.println("End test :" + TestHelper.getTestMethodName());
}
@@ -111,7 +111,7 @@ public class TestWorkflowAccessor extends AbstractTestClass {
String body = get("clusters/" + CLUSTER_NAME + "/workflows/" + WORKFLOW_NAME + "/context", null,
Response.Status.OK.getStatusCode(), true);
JsonNode node = OBJECT_MAPPER.readTree(body);
- Assert.assertEquals(node.get("STATE").getTextValue(),
+ Assert.assertEquals(node.get("STATE").textValue(),
TaskState.IN_PROGRESS.name());
System.out.println("End test :" + TestHelper.getTestMethodName());
}
diff --git a/helix-rest/src/test/java/org/apache/helix/rest/server/service/TestInstanceService.java b/helix-rest/src/test/java/org/apache/helix/rest/server/service/TestInstanceService.java
index fa15989..94b2129 100644
--- a/helix-rest/src/test/java/org/apache/helix/rest/server/service/TestInstanceService.java
+++ b/helix-rest/src/test/java/org/apache/helix/rest/server/service/TestInstanceService.java
@@ -26,14 +26,12 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
import org.apache.helix.AccessOption;
import org.apache.helix.BaseDataAccessor;
import org.apache.helix.ConfigAccessor;
-import org.apache.helix.HelixDataAccessor;
-import org.apache.helix.HelixProperty;
import org.apache.helix.InstanceType;
-import org.apache.helix.PropertyKey;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
import org.apache.helix.manager.zk.ZkBaseDataAccessor;
import org.apache.helix.model.ExternalView;
@@ -45,15 +43,21 @@ import org.apache.helix.rest.common.HelixDataAccessorWrapper;
import org.apache.helix.rest.server.json.instance.StoppableCheck;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.zookeeper.data.Stat;
-import org.codehaus.jackson.map.ObjectMapper;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-import static org.mockito.Matchers.*;
-import static org.mockito.Mockito.*;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyList;
+import static org.mockito.Matchers.anyMap;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
public class TestInstanceService {
diff --git a/recipes/task-execution/src/main/java/org/apache/helix/taskexecution/Dag.java b/recipes/task-execution/src/main/java/org/apache/helix/taskexecution/Dag.java
index cab47e7..0d2c312 100644
--- a/recipes/task-execution/src/main/java/org/apache/helix/taskexecution/Dag.java
+++ b/recipes/task-execution/src/main/java/org/apache/helix/taskexecution/Dag.java
@@ -25,10 +25,11 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
public class Dag {
private Map<String, Node> nodes = new HashMap<String, Dag.Node>();
+ private static ObjectMapper mapper = new ObjectMapper();
public static class Node {
private String id;
@@ -71,13 +72,11 @@ public class Dag {
}
public static Node fromJson(String json) throws Exception {
- ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(json, Node.class);
}
public String toJson() throws Exception {
- ObjectMapper mapper = new ObjectMapper();
- return mapper.defaultPrettyPrintingWriter().writeValueAsString(this);
+ return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(this);
}
public void setId(String id) {
@@ -106,13 +105,11 @@ public class Dag {
}
public static Dag fromJson(String json) throws Exception {
- ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(json, Dag.class);
}
public String toJson() throws Exception {
- ObjectMapper mapper = new ObjectMapper();
- return mapper.defaultPrettyPrintingWriter().writeValueAsString(this);
+ return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(this);
}
public Map<String, Node> getNodes() {
diff --git a/zookeeper-api/pom.xml b/zookeeper-api/pom.xml
index a6aa008..3ed35bc 100644
--- a/zookeeper-api/pom.xml
+++ b/zookeeper-api/pom.xml
@@ -69,9 +69,14 @@
<version>4.5.8</version>
</dependency>
<dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.13</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.11.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
diff --git a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/ZNRecord.java b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/ZNRecord.java
index 0d17eec..bbfca86 100644
--- a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/ZNRecord.java
+++ b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/ZNRecord.java
@@ -24,15 +24,15 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
import org.apache.helix.zookeeper.constant.ZkSystemPropertyKeys;
import org.apache.helix.zookeeper.datamodel.serializer.JacksonPayloadSerializer;
import org.apache.helix.zookeeper.datamodel.serializer.PayloadSerializer;
-import org.codehaus.jackson.annotate.JsonCreator;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/JacksonPayloadSerializer.java b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/JacksonPayloadSerializer.java
index f824d7e..54f7dcb 100644
--- a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/JacksonPayloadSerializer.java
+++ b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/JacksonPayloadSerializer.java
@@ -22,10 +22,13 @@ package org.apache.helix.zookeeper.datamodel.serializer;
import java.io.ByteArrayInputStream;
import java.io.StringWriter;
+import com.fasterxml.jackson.databind.DeserializationConfig;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationConfig;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.zookeeper.exception.ZkClientException;
-import org.codehaus.jackson.map.DeserializationConfig;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,9 +48,9 @@ public class JacksonPayloadSerializer implements PayloadSerializer {
ObjectMapper mapper = new ObjectMapper();
SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
- serializationConfig.set(SerializationConfig.Feature.AUTO_DETECT_FIELDS, true);
- serializationConfig.set(SerializationConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
+ mapper.enable(MapperFeature.AUTO_DETECT_FIELDS);
+ mapper.enable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS);
StringWriter sw = new StringWriter();
try {
mapper.writeValue(sw, data);
@@ -68,9 +71,9 @@ public class JacksonPayloadSerializer implements PayloadSerializer {
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
DeserializationConfig deserializationConfig = mapper.getDeserializationConfig();
- deserializationConfig.set(DeserializationConfig.Feature.AUTO_DETECT_FIELDS, true);
- deserializationConfig.set(DeserializationConfig.Feature.AUTO_DETECT_SETTERS, true);
- deserializationConfig.set(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, true);
+ mapper.enable(MapperFeature.AUTO_DETECT_FIELDS);
+ mapper.enable(MapperFeature.AUTO_DETECT_SETTERS);
+ mapper.enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
try {
T payload = mapper.readValue(bais, clazz);
return payload;
diff --git a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordJacksonSerializer.java b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordJacksonSerializer.java
index 85af0f0..ea122b2 100644
--- a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordJacksonSerializer.java
+++ b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordJacksonSerializer.java
@@ -21,10 +21,10 @@ package org.apache.helix.zookeeper.datamodel.serializer;
import java.io.IOException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.zkclient.exception.ZkMarshallingError;
import org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer;
-import org.codehaus.jackson.map.ObjectMapper;
/**
diff --git a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordSerializer.java b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordSerializer.java
index 0f8944d..5cae87a 100644
--- a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordSerializer.java
+++ b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordSerializer.java
@@ -24,20 +24,22 @@ import java.io.ByteArrayOutputStream;
import java.util.List;
import java.util.Map;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.util.GZipCompressionUtil;
import org.apache.helix.zookeeper.util.ZNRecordUtil;
import org.apache.helix.zookeeper.zkclient.exception.ZkMarshallingError;
import org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer;
-import org.codehaus.jackson.map.DeserializationConfig;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ZNRecordSerializer implements ZkSerializer {
private static Logger LOG = LoggerFactory.getLogger(ZNRecordSerializer.class);
+ private static ObjectMapper mapper = new ObjectMapper();
private static int getListFieldBound(ZNRecord record) {
int max = Integer.MAX_VALUE;
@@ -76,11 +78,10 @@ public class ZNRecordSerializer implements ZkSerializer {
}
// do serialization
- ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
- serializationConfig.set(SerializationConfig.Feature.AUTO_DETECT_FIELDS, true);
- serializationConfig.set(SerializationConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
+ mapper.enable(MapperFeature.AUTO_DETECT_FIELDS);
+ mapper.enable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS);
+
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] serializedBytes;
boolean isCompressed = false;
@@ -122,11 +123,9 @@ public class ZNRecordSerializer implements ZkSerializer {
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
- ObjectMapper mapper = new ObjectMapper();
- DeserializationConfig deserializationConfig = mapper.getDeserializationConfig();
- deserializationConfig.set(DeserializationConfig.Feature.AUTO_DETECT_FIELDS, true);
- deserializationConfig.set(DeserializationConfig.Feature.AUTO_DETECT_SETTERS, true);
- deserializationConfig.set(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, true);
+ mapper.enable(MapperFeature.AUTO_DETECT_FIELDS);
+ mapper.enable(MapperFeature.AUTO_DETECT_SETTERS);
+ mapper.enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
try {
//decompress the data if its already compressed
if (GZipCompressionUtil.isCompressed(bytes)) {
diff --git a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordStreamingSerializer.java b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordStreamingSerializer.java
index 94ffe74..ea1eb5f 100644
--- a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordStreamingSerializer.java
+++ b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordStreamingSerializer.java
@@ -33,10 +33,10 @@ import org.apache.helix.zookeeper.util.GZipCompressionUtil;
import org.apache.helix.zookeeper.util.ZNRecordUtil;
import org.apache.helix.zookeeper.zkclient.exception.ZkMarshallingError;
import org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.JsonToken;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/zookeeper-api/src/test/java/org/apache/helix/zookeeper/datamodel/serializer/TestZNRecordSerializeWriteSizeLimit.java b/zookeeper-api/src/test/java/org/apache/helix/zookeeper/datamodel/serializer/TestZNRecordSerializeWriteSizeLimit.java
index a880774..011b1b6 100644
--- a/zookeeper-api/src/test/java/org/apache/helix/zookeeper/datamodel/serializer/TestZNRecordSerializeWriteSizeLimit.java
+++ b/zookeeper-api/src/test/java/org/apache/helix/zookeeper/datamodel/serializer/TestZNRecordSerializeWriteSizeLimit.java
@@ -22,13 +22,14 @@ package org.apache.helix.zookeeper.datamodel.serializer;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.helix.zookeeper.constant.ZkSystemPropertyKeys;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
import org.apache.helix.zookeeper.util.GZipCompressionUtil;
import org.apache.helix.zookeeper.zkclient.exception.ZkMarshallingError;
import org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -186,10 +187,10 @@ public class TestZNRecordSerializeWriteSizeLimit {
// Returns raw serialized bytes before being compressed.
private byte[] serialize(Object data) {
ObjectMapper mapper = new ObjectMapper();
- SerializationConfig serializationConfig = mapper.getSerializationConfig();
- serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true);
- serializationConfig.set(SerializationConfig.Feature.AUTO_DETECT_FIELDS, true);
- serializationConfig.set(SerializationConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS, true);
+ mapper.enable(SerializationFeature.INDENT_OUTPUT);
+ mapper.enable(MapperFeature.AUTO_DETECT_FIELDS);
+ mapper.enable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS);
+
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] serializedBytes = new byte[0];
diff --git a/zookeeper-api/zookeeper-api-1.0.2-SNAPSHOT.ivy b/zookeeper-api/zookeeper-api-1.0.2-SNAPSHOT.ivy
index 33deaa1..97616ac 100644
--- a/zookeeper-api/zookeeper-api-1.0.2-SNAPSHOT.ivy
+++ b/zookeeper-api/zookeeper-api-1.0.2-SNAPSHOT.ivy
@@ -43,8 +43,8 @@ under the License.
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.14" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)">
<artifact name="slf4j-log4j12" ext="jar"/>
</dependency>
- <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="1.8.5" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
- <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="1.8.5" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.11.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.11.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
<dependency org="commons-cli" name="commons-cli" rev="1.2" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
<dependency org="org.apache.httpcomponents" name="httpclient" rev="4.5.8" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
</dependencies>