From 24e4b0bc2af9e0f32ecb70d54060c98ba9d7ca2b Mon Sep 17 00:00:00 2001 From: Lucas Burson Date: Thu, 14 Apr 2022 18:58:55 -0500 Subject: [PATCH] Use a shared ObjectMapper instance --- .../maproulette/client/api/TaskAPIIntegrationTest.java | 4 ++-- .../java/org/maproulette/client/api/ChallengeAPI.java | 3 ++- src/main/java/org/maproulette/client/api/ProjectAPI.java | 3 ++- src/main/java/org/maproulette/client/api/TaskAPI.java | 3 ++- src/main/java/org/maproulette/client/api/UserAPI.java | 3 ++- src/main/java/org/maproulette/client/model/Task.java | 3 ++- .../org/maproulette/client/batch/ChallengeBatchTest.java | 4 ++-- .../client/serializer/ProjectSerializationTest.java | 7 +++---- .../client/serializer/TaskSerializerTest.java | 9 ++++----- 9 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/integrationTest/java/org/maproulette/client/api/TaskAPIIntegrationTest.java b/src/integrationTest/java/org/maproulette/client/api/TaskAPIIntegrationTest.java index 1f6fbeb..c8c6c3c 100644 --- a/src/integrationTest/java/org/maproulette/client/api/TaskAPIIntegrationTest.java +++ b/src/integrationTest/java/org/maproulette/client/api/TaskAPIIntegrationTest.java @@ -11,8 +11,8 @@ import org.maproulette.client.model.ChallengePriority; import org.maproulette.client.model.Task; import org.maproulette.client.model.TaskStatus; +import org.maproulette.client.utilities.ObjectMapperSingleton; -import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; /** @@ -119,7 +119,7 @@ public void updateTest() throws MapRouletteException .addGeojson(String.format(TestConstants.FEATURE_STRING, 3.1, 4.2, UPDATED_GEOMETRY)) .build(); - final ObjectMapper mapper = new ObjectMapper(); + final var mapper = ObjectMapperSingleton.getMapper(); final ArrayNode arrayNode = mapper.createArrayNode(); Assertions.assertNotNull(created.get().getGeometries().get(TASK_FEATURES).get(0)); Assertions.assertNotNull(update.getGeometries().get(TASK_FEATURES).get(0)); diff --git a/src/main/java/org/maproulette/client/api/ChallengeAPI.java b/src/main/java/org/maproulette/client/api/ChallengeAPI.java index b8347ce..197bd75 100644 --- a/src/main/java/org/maproulette/client/api/ChallengeAPI.java +++ b/src/main/java/org/maproulette/client/api/ChallengeAPI.java @@ -13,6 +13,7 @@ import org.maproulette.client.exception.MapRouletteException; import org.maproulette.client.model.Challenge; import org.maproulette.client.model.Task; +import org.maproulette.client.utilities.ObjectMapperSingleton; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -27,7 +28,7 @@ @RequiredArgsConstructor public class ChallengeAPI implements IAPI { - private final ObjectMapper mapper = new ObjectMapper(); + private final ObjectMapper mapper = ObjectMapperSingleton.getMapper(); private final IMapRouletteConnection connection; public ChallengeAPI(final MapRouletteConfiguration configuration) diff --git a/src/main/java/org/maproulette/client/api/ProjectAPI.java b/src/main/java/org/maproulette/client/api/ProjectAPI.java index 716cd7c..4a6f745 100644 --- a/src/main/java/org/maproulette/client/api/ProjectAPI.java +++ b/src/main/java/org/maproulette/client/api/ProjectAPI.java @@ -13,6 +13,7 @@ import org.maproulette.client.exception.MapRouletteException; import org.maproulette.client.model.Challenge; import org.maproulette.client.model.Project; +import org.maproulette.client.utilities.ObjectMapperSingleton; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -27,7 +28,7 @@ @RequiredArgsConstructor public class ProjectAPI implements IAPI { - private final ObjectMapper mapper = new ObjectMapper(); + private final ObjectMapper mapper = ObjectMapperSingleton.getMapper(); private final IMapRouletteConnection connection; public ProjectAPI(final MapRouletteConfiguration configuration) diff --git a/src/main/java/org/maproulette/client/api/TaskAPI.java b/src/main/java/org/maproulette/client/api/TaskAPI.java index c25fdc9..b114c61 100644 --- a/src/main/java/org/maproulette/client/api/TaskAPI.java +++ b/src/main/java/org/maproulette/client/api/TaskAPI.java @@ -12,6 +12,7 @@ import org.maproulette.client.connection.Query; import org.maproulette.client.exception.MapRouletteException; import org.maproulette.client.model.Task; +import org.maproulette.client.utilities.ObjectMapperSingleton; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -26,7 +27,7 @@ @RequiredArgsConstructor public class TaskAPI implements IAPI { - private final ObjectMapper mapper = new ObjectMapper(); + private final ObjectMapper mapper = ObjectMapperSingleton.getMapper(); private final IMapRouletteConnection connection; public TaskAPI(final MapRouletteConfiguration configuration) diff --git a/src/main/java/org/maproulette/client/api/UserAPI.java b/src/main/java/org/maproulette/client/api/UserAPI.java index 2805225..19d86ce 100644 --- a/src/main/java/org/maproulette/client/api/UserAPI.java +++ b/src/main/java/org/maproulette/client/api/UserAPI.java @@ -10,6 +10,7 @@ import org.maproulette.client.connection.Query; import org.maproulette.client.exception.MapRouletteException; import org.maproulette.client.model.User; +import org.maproulette.client.utilities.ObjectMapperSingleton; import com.fasterxml.jackson.databind.ObjectMapper; @@ -24,7 +25,7 @@ public class UserAPI { - private final ObjectMapper mapper = new ObjectMapper(); + private final ObjectMapper mapper = ObjectMapperSingleton.getMapper(); private final IMapRouletteConnection connection; public UserAPI(final MapRouletteConfiguration configuration) diff --git a/src/main/java/org/maproulette/client/model/Task.java b/src/main/java/org/maproulette/client/model/Task.java index a9c0c1b..4f7f56b 100644 --- a/src/main/java/org/maproulette/client/model/Task.java +++ b/src/main/java/org/maproulette/client/model/Task.java @@ -9,6 +9,7 @@ import org.apache.commons.lang.StringUtils; import org.maproulette.client.exception.MapRouletteException; import org.maproulette.client.exception.MapRouletteRuntimeException; +import org.maproulette.client.utilities.ObjectMapperSingleton; import org.maproulette.client.utilities.Utilities; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -51,7 +52,7 @@ public static class TaskBuilder private static final String TASK_FEATURE_PROPERTIES = "properties"; private static final String FEATURE = "feature"; private static final String POINT = "point"; - private final ObjectMapper mapper = new ObjectMapper(); + private final ObjectMapper mapper = ObjectMapperSingleton.getMapper(); private final Set points = new HashSet<>(); private ArrayNode geoJson = this.mapper.createArrayNode(); diff --git a/src/test/java/org/maproulette/client/batch/ChallengeBatchTest.java b/src/test/java/org/maproulette/client/batch/ChallengeBatchTest.java index c5ab69b..97319c4 100644 --- a/src/test/java/org/maproulette/client/batch/ChallengeBatchTest.java +++ b/src/test/java/org/maproulette/client/batch/ChallengeBatchTest.java @@ -16,10 +16,10 @@ import org.maproulette.client.connection.MapRouletteConnection; import org.maproulette.client.connection.Query; import org.maproulette.client.model.Task; +import org.maproulette.client.utilities.ObjectMapperSingleton; import org.mockito.ArgumentCaptor; import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; /** * @author mcuthbert @@ -38,7 +38,7 @@ public void addTasksTest() throws Exception challengeBatch.addTasks(multipleTasks); challengeBatch.flush(); - final var mapper = new ObjectMapper(); + final var mapper = ObjectMapperSingleton.getMapper(); final var postData = mapper.createArrayNode(); final var tasks = Arrays.asList(this.task("Task1", 12), this.task("Task2", 12), this.task("Task3", 12), this.task("Task4", 12), this.task("task5", 12)); diff --git a/src/test/java/org/maproulette/client/serializer/ProjectSerializationTest.java b/src/test/java/org/maproulette/client/serializer/ProjectSerializationTest.java index e105839..12cb54d 100644 --- a/src/test/java/org/maproulette/client/serializer/ProjectSerializationTest.java +++ b/src/test/java/org/maproulette/client/serializer/ProjectSerializationTest.java @@ -5,8 +5,7 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.maproulette.client.model.Project; - -import com.fasterxml.jackson.databind.ObjectMapper; +import org.maproulette.client.utilities.ObjectMapperSingleton; /** * Tests serialization and deserialization of the {@link Project} object @@ -18,7 +17,7 @@ public class ProjectSerializationTest @Test public void projectSerializationTest() throws IOException { - final var mapper = new ObjectMapper(); + final var mapper = ObjectMapperSingleton.getMapper(); final var project = Project.builder().name("TestProject").description("TestDescription") .displayName("TestDisplayName").enabled(true).id(6875L).build(); final var projectJson = mapper.writeValueAsString(project); @@ -30,7 +29,7 @@ public void projectSerializationTest() throws IOException @Test public void fromJsonTest() throws Exception { - final var mapper = new ObjectMapper(); + final var mapper = ObjectMapperSingleton.getMapper(); final var project = Project.builder().name("TestProject").description("TestDescription") .displayName("TestDisplayName").enabled(true).id(6875L).build(); final var projectJson = mapper.writeValueAsString(project); diff --git a/src/test/java/org/maproulette/client/serializer/TaskSerializerTest.java b/src/test/java/org/maproulette/client/serializer/TaskSerializerTest.java index dc0efef..ed72d3e 100644 --- a/src/test/java/org/maproulette/client/serializer/TaskSerializerTest.java +++ b/src/test/java/org/maproulette/client/serializer/TaskSerializerTest.java @@ -10,8 +10,7 @@ import org.maproulette.client.model.PointInformation; import org.maproulette.client.model.Task; import org.maproulette.client.model.TaskStatus; - -import com.fasterxml.jackson.databind.ObjectMapper; +import org.maproulette.client.utilities.ObjectMapperSingleton; /** * @author mcuthbert @@ -22,7 +21,7 @@ public class TaskSerializerTest public void serializationTest() throws IOException { final var testFeatureString = "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[%s, %s]},\"properties\": {\"name\":\"%s\"}}"; - final var mapper = new ObjectMapper(); + final var mapper = ObjectMapperSingleton.getMapper(); final var pointList = Arrays.asList(new PointInformation(1.0, 2.0), new PointInformation(5.4, 8.7)); @@ -41,7 +40,7 @@ public void serializationTest() throws IOException public void geometriesSerializationTest() throws IOException { final var testFeatureString = "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[%s, %s]},\"properties\": {\"name\":\"%s\"}}"; - final var mapper = new ObjectMapper(); + final var mapper = ObjectMapperSingleton.getMapper(); final var task = Task.builder(343444454, "TestTask").id(12355655) .instruction("TestInstruction").priority(ChallengePriority.HIGH) .status(TaskStatus.DELETED) @@ -56,7 +55,7 @@ public void geometriesSerializationTest() throws IOException public void fromJsonTest() throws Exception { final var testFeatureString = "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[%s, %s]},\"properties\": {\"name\":\"%s\"}}"; - final var mapper = new ObjectMapper(); + final var mapper = ObjectMapperSingleton.getMapper(); final var pointList = Arrays.asList(new PointInformation(1.0, 2.0), new PointInformation(5.4, 8.7));