From 4b87a4181ae9ec4ede78919de9e912a4fc0a1532 Mon Sep 17 00:00:00 2001 From: Aaron Coburn Date: Tue, 21 Apr 2015 14:17:37 -0400 Subject: [PATCH] convert gson to jackson2 for JSON handling convert jackson1 to jackson2 clean up related maven configuration --- fcrepo-http-api/pom.xml | 5 ++-- .../fcrepo/http/api/FedoraBaseResource.java | 12 +++++---- fcrepo-http-commons/pom.xml | 26 +++---------------- .../JsonParseExceptionMapper.java | 2 +- fcrepo-jms/pom.xml | 7 ++--- .../jms/headers/DefaultMessageFactory.java | 14 +++++----- fcrepo-metrics/pom.xml | 11 -------- fcrepo-transform/pom.xml | 21 --------------- fcrepo-webapp/pom.xml | 11 -------- pom.xml | 18 ++++++++++--- 10 files changed, 40 insertions(+), 87 deletions(-) diff --git a/fcrepo-http-api/pom.xml b/fcrepo-http-api/pom.xml index 4965223106..56a61f3977 100644 --- a/fcrepo-http-api/pom.xml +++ b/fcrepo-http-api/pom.xml @@ -68,9 +68,8 @@ - com.google.code.gson - gson - 2.3 + com.fasterxml.jackson.core + jackson-databind diff --git a/fcrepo-http-api/src/main/java/org/fcrepo/http/api/FedoraBaseResource.java b/fcrepo-http-api/src/main/java/org/fcrepo/http/api/FedoraBaseResource.java index 30fa8c29c2..95954c78c4 100644 --- a/fcrepo-http-api/src/main/java/org/fcrepo/http/api/FedoraBaseResource.java +++ b/fcrepo-http-api/src/main/java/org/fcrepo/http/api/FedoraBaseResource.java @@ -15,8 +15,9 @@ */ package org.fcrepo.http.api; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.annotations.VisibleForTesting; -import com.google.gson.JsonObject; import com.hp.hpl.jena.rdf.model.Resource; import org.apache.commons.lang.StringUtils; import org.fcrepo.http.commons.AbstractResource; @@ -84,12 +85,13 @@ protected void setUpJMSInfo(final UriInfo uriInfo, final HttpHeaders headers) { } LOGGER.debug("setting baseURL = " + baseURL); final ObservationManager obs = session().getWorkspace().getObservationManager(); - final JsonObject json = new JsonObject(); - json.addProperty("baseURL", baseURL); + final ObjectMapper mapper = new ObjectMapper(); + final ObjectNode json = mapper.createObjectNode(); + json.put("baseURL", baseURL); if (!StringUtils.isBlank(headers.getHeaderString("user-agent"))) { - json.addProperty("userAgent",headers.getHeaderString("user-agent")); + json.put("userAgent", headers.getHeaderString("user-agent")); } - obs.setUserData(json.toString()); + obs.setUserData(mapper.writeValueAsString(json)); } catch ( final Exception ex ) { LOGGER.warn("Error setting baseURL", ex); } diff --git a/fcrepo-http-commons/pom.xml b/fcrepo-http-commons/pom.xml index 9744d0d5ad..7e7fb9dcad 100644 --- a/fcrepo-http-commons/pom.xml +++ b/fcrepo-http-commons/pom.xml @@ -91,10 +91,6 @@ org.modeshape modeshape-jcr-api - - org.codehaus.jackson - jackson-core-asl - org.slf4j slf4j-api @@ -166,33 +162,19 @@ org.glassfish.jersey.media jersey-media-json-jackson ${jersey.version} - - - com.fasterxml.jackson.core - jackson-core - - - com.fasterxml.jackson.core - jackson-databind - - - - com.fasterxml.jackson.core - jackson-annotations - - com.fasterxml.jackson.core jackson-core - 2.3.3 com.fasterxml.jackson.core jackson-databind - 2.3.3 - + + com.fasterxml.jackson.core + jackson-annotations + org.apache.httpcomponents diff --git a/fcrepo-http-commons/src/main/java/org/fcrepo/http/commons/exceptionhandlers/JsonParseExceptionMapper.java b/fcrepo-http-commons/src/main/java/org/fcrepo/http/commons/exceptionhandlers/JsonParseExceptionMapper.java index 284b868b4b..3217838c82 100644 --- a/fcrepo-http-commons/src/main/java/org/fcrepo/http/commons/exceptionhandlers/JsonParseExceptionMapper.java +++ b/fcrepo-http-commons/src/main/java/org/fcrepo/http/commons/exceptionhandlers/JsonParseExceptionMapper.java @@ -21,7 +21,7 @@ import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; -import org.codehaus.jackson.JsonParseException; +import com.fasterxml.jackson.core.JsonParseException; /** * If an injected JSON resource fails to parse, return an HTTP 400 Bad Request. diff --git a/fcrepo-jms/pom.xml b/fcrepo-jms/pom.xml index 9ee4e4bf89..01878df7a9 100644 --- a/fcrepo-jms/pom.xml +++ b/fcrepo-jms/pom.xml @@ -73,11 +73,12 @@ com.google.guava guava + - com.google.code.gson - gson - 2.3 + com.fasterxml.jackson.core + jackson-databind + org.slf4j slf4j-api diff --git a/fcrepo-jms/src/main/java/org/fcrepo/jms/headers/DefaultMessageFactory.java b/fcrepo-jms/src/main/java/org/fcrepo/jms/headers/DefaultMessageFactory.java index 5011bbdc37..f81136477a 100644 --- a/fcrepo-jms/src/main/java/org/fcrepo/jms/headers/DefaultMessageFactory.java +++ b/fcrepo-jms/src/main/java/org/fcrepo/jms/headers/DefaultMessageFactory.java @@ -19,6 +19,7 @@ import static org.modeshape.jcr.api.JcrConstants.JCR_CONTENT; import static org.slf4j.LoggerFactory.getLogger; +import java.io.IOException; import java.util.Set; import javax.jcr.RepositoryException; @@ -31,11 +32,11 @@ import org.fcrepo.kernel.utils.EventType; import org.slf4j.Logger; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.JsonNode; import com.google.common.base.Function; import com.google.common.base.Joiner; import com.google.common.collect.Iterables; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; /** * Generates JMS {@link Message}s composed entirely of headers, based entirely @@ -86,20 +87,21 @@ public Message getMessage(final FedoraEvent jcrEvent, try { final String userdata = jcrEvent.getUserData(); if (!StringUtils.isBlank(userdata)) { - final JsonObject json = new JsonParser().parse(userdata).getAsJsonObject(); - String url = json.get("baseURL").getAsString(); + final ObjectMapper mapper = new ObjectMapper(); + final JsonNode json = mapper.readTree(userdata); + String url = json.get("baseURL").asText(); while (url.endsWith("/")) { url = url.substring(0, url.length() - 1); } this.baseURL = url; - this.userAgent = json.get("userAgent").getAsString(); + this.userAgent = json.get("userAgent").asText(); LOGGER.debug("MessageFactory baseURL: {}, userAgent: {}", baseURL, userAgent); } else { LOGGER.warn("MessageFactory event UserData is empty!"); } - } catch ( final RuntimeException ex ) { + } catch ( final IOException ex ) { LOGGER.warn("Error setting baseURL or userAgent", ex); } diff --git a/fcrepo-metrics/pom.xml b/fcrepo-metrics/pom.xml index 1d6c21131e..a69ee04a8e 100644 --- a/fcrepo-metrics/pom.xml +++ b/fcrepo-metrics/pom.xml @@ -38,17 +38,6 @@ io.dropwizard.metrics metrics-servlets ${metrics.version} - - - - com.fasterxml.jackson.core - jackson-databind - - - com.fasterxml.jackson.core - jackson-core - - org.springframework diff --git a/fcrepo-transform/pom.xml b/fcrepo-transform/pom.xml index de89a68405..5dd2efb7d6 100644 --- a/fcrepo-transform/pom.xml +++ b/fcrepo-transform/pom.xml @@ -147,31 +147,10 @@ org.glassfish.jersey.media jersey-media-json-jackson ${jersey.version} - - - com.fasterxml.jackson.core - jackson-core - - - com.fasterxml.jackson.core - jackson-databind - - - - com.fasterxml.jackson.core - jackson-annotations - - - - - com.fasterxml.jackson.core - jackson-core - 2.3.3 com.fasterxml.jackson.core jackson-databind - 2.3.3 - org.codehaus.jackson - jackson-core-asl - ${jackson.version} + com.fasterxml.jackson.core + jackson-core + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson2.version} org.slf4j