diff --git a/jackson-2/.gitignore b/jackson-2/.gitignore
deleted file mode 100644
index 4b1cfaf098..0000000000
--- a/jackson-2/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-*.class
-
-#folders#
-/target
-/neoDb*
-/data
-/src/main/webapp/WEB-INF/classes
-*/META-INF/*
-
-# Packaged files #
-*.jar
-*.war
-*.ear
-
-# Files
-/src/main/resources/orderOutput.yaml
\ No newline at end of file
diff --git a/jackson-2/README.md b/jackson-2/README.md
deleted file mode 100644
index b583b588ef..0000000000
--- a/jackson-2/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## Jackson Cookbooks and Examples
-
-This module contains articles about Jackson.
-
-### The Course
-The "REST With Spring" Classes: http://bit.ly/restwithspring
-
-### Relevant Articles:
-- [Working with Tree Model Nodes in Jackson](https://www.baeldung.com/jackson-json-node-tree-model)
-- [Compare Two JSON Objects with Jackson](https://www.baeldung.com/jackson-compare-two-json-objects)
-- [Calling Default Serializer from Custom Serializer in Jackson](https://www.baeldung.com/jackson-call-default-serializer-from-custom-serializer)
-- More articles: [[<-- prev]](/../jackson)
diff --git a/jackson-2/src/main/resources/logback.xml b/jackson-2/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/jackson-2/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/jackson-annotations/README.md b/jackson-annotations/README.md
index d979ec0e0e..783a06605b 100644
--- a/jackson-annotations/README.md
+++ b/jackson-annotations/README.md
@@ -5,7 +5,5 @@ This module contains articles about Jackson annotations.
### Relevant Articles:
- [Guide to @JsonFormat in Jackson](https://www.baeldung.com/jackson-jsonformat)
- [More Jackson Annotations](https://www.baeldung.com/jackson-advanced-annotations)
-- [Jackson Annotation Examples](https://www.baeldung.com/jackson-annotations)
- [Jackson – Bidirectional Relationships](https://www.baeldung.com/jackson-bidirectional-relationships-and-infinite-recursion)
-- [Jackson – Change Name of Field](https://www.baeldung.com/jackson-name-of-property)
-- [Jackson Ignore Properties on Marshalling](https://www.baeldung.com/jackson-ignore-properties-on-serialization)
+- [Jackson JSON Views](https://www.baeldung.com/jackson-json-view-annotation)
diff --git a/jackson/src/test/java/com/baeldung/jackson/jsonview/Item.java b/jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/Item.java
similarity index 100%
rename from jackson/src/test/java/com/baeldung/jackson/jsonview/Item.java
rename to jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/Item.java
diff --git a/jackson/src/test/java/com/baeldung/jackson/jsonview/MyBeanSerializerModifier.java b/jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/MyBeanSerializerModifier.java
similarity index 100%
rename from jackson/src/test/java/com/baeldung/jackson/jsonview/MyBeanSerializerModifier.java
rename to jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/MyBeanSerializerModifier.java
diff --git a/jackson/src/test/java/com/baeldung/jackson/jsonview/UpperCasingWriter.java b/jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/UpperCasingWriter.java
similarity index 100%
rename from jackson/src/test/java/com/baeldung/jackson/jsonview/UpperCasingWriter.java
rename to jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/UpperCasingWriter.java
diff --git a/jackson/src/test/java/com/baeldung/jackson/jsonview/User.java b/jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/User.java
similarity index 100%
rename from jackson/src/test/java/com/baeldung/jackson/jsonview/User.java
rename to jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/User.java
diff --git a/jackson/src/test/java/com/baeldung/jackson/jsonview/Views.java b/jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/Views.java
similarity index 100%
rename from jackson/src/test/java/com/baeldung/jackson/jsonview/Views.java
rename to jackson-annotations/src/main/java/com/baeldung/jackson/jsonview/Views.java
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDto.java b/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDto.java
deleted file mode 100644
index 3357c041c0..0000000000
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDto.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.baeldung.jackson.ignore.dtos;
-
-public class MyDto {
-
- private String stringValue;
- private int intValue;
- private boolean booleanValue;
-
- public MyDto() {
- super();
- }
-
- public MyDto(final String stringValue, final int intValue, final boolean booleanValue) {
- super();
-
- this.stringValue = stringValue;
- this.intValue = intValue;
- this.booleanValue = booleanValue;
- }
-
- // API
-
- public String getStringValue() {
- return stringValue;
- }
-
- public void setStringValue(final String stringValue) {
- this.stringValue = stringValue;
- }
-
- public int getIntValue() {
- return intValue;
- }
-
- public void setIntValue(final int intValue) {
- this.intValue = intValue;
- }
-
- public boolean isBooleanValue() {
- return booleanValue;
- }
-
- public void setBooleanValue(final boolean booleanValue) {
- this.booleanValue = booleanValue;
- }
-
- //
-
- @Override
- public String toString() {
- return "MyDto [stringValue=" + stringValue + ", intValue=" + intValue + ", booleanValue=" + booleanValue + "]";
- }
-
-}
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIncludeNonDefault.java b/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIncludeNonDefault.java
deleted file mode 100644
index cf5d1682db..0000000000
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIncludeNonDefault.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.baeldung.jackson.ignore.dtos;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
-
-@JsonInclude(Include.NON_DEFAULT)
-public class MyDtoIncludeNonDefault {
-
- private String stringValue;
- private int intValue;
- private boolean booleanValue;
-
- public MyDtoIncludeNonDefault() {
- super();
- }
-
- // API
-
- public String getStringValue() {
- return stringValue;
- }
-
- public void setStringValue(final String stringValue) {
- this.stringValue = stringValue;
- }
-
- public int getIntValue() {
- return intValue;
- }
-
- public void setIntValue(final int intValue) {
- this.intValue = intValue;
- }
-
- public boolean isBooleanValue() {
- return booleanValue;
- }
-
- public void setBooleanValue(final boolean booleanValue) {
- this.booleanValue = booleanValue;
- }
-
-}
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoWithSpecialField.java b/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoWithSpecialField.java
deleted file mode 100644
index edb0dab13b..0000000000
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoWithSpecialField.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.baeldung.jackson.ignore.dtos;
-
-public class MyDtoWithSpecialField {
-
- private String[] stringValue;
- private int intValue;
- private boolean booleanValue;
-
- public MyDtoWithSpecialField() {
- super();
- }
-
- public MyDtoWithSpecialField(final String[] stringValue, final int intValue, final boolean booleanValue) {
- super();
-
- this.stringValue = stringValue;
- this.intValue = intValue;
- this.booleanValue = booleanValue;
- }
-
- // API
-
- public String[] getStringValue() {
- return stringValue;
- }
-
- public void setStringValue(final String[] stringValue) {
- this.stringValue = stringValue;
- }
-
- public int getIntValue() {
- return intValue;
- }
-
- public void setIntValue(final int intValue) {
- this.intValue = intValue;
- }
-
- public boolean isBooleanValue() {
- return booleanValue;
- }
-
- public void setBooleanValue(final boolean booleanValue) {
- this.booleanValue = booleanValue;
- }
-
- //
-
- @Override
- public String toString() {
- return "MyDto [stringValue=" + stringValue + ", intValue=" + intValue + ", booleanValue=" + booleanValue + "]";
- }
-
-}
diff --git a/jackson/src/test/java/com/baeldung/jackson/test/JacksonJsonViewUnitTest.java b/jackson-annotations/src/test/java/com/baeldung/jackson/jsonview/JacksonJsonViewUnitTest.java
similarity index 98%
rename from jackson/src/test/java/com/baeldung/jackson/test/JacksonJsonViewUnitTest.java
rename to jackson-annotations/src/test/java/com/baeldung/jackson/jsonview/JacksonJsonViewUnitTest.java
index 7930195ab0..4074da1a55 100644
--- a/jackson/src/test/java/com/baeldung/jackson/test/JacksonJsonViewUnitTest.java
+++ b/jackson-annotations/src/test/java/com/baeldung/jackson/jsonview/JacksonJsonViewUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.test;
+package com.baeldung.jackson.jsonview;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.not;
diff --git a/jackson-conversions-2/README.md b/jackson-conversions-2/README.md
index 210f5cd5bb..71c5578525 100644
--- a/jackson-conversions-2/README.md
+++ b/jackson-conversions-2/README.md
@@ -4,8 +4,6 @@ This module contains articles about Jackson conversions.
### Relevant Articles:
- [Mapping a Dynamic JSON Object with Jackson](https://www.baeldung.com/jackson-mapping-dynamic-object)
-- [Jackson Unmarshalling JSON with Unknown Properties](https://www.baeldung.com/jackson-deserialize-json-unknown-properties)
-- [Ignore Null Fields with Jackson](https://www.baeldung.com/jackson-ignore-null-fields)
- [Mapping Multiple JSON Fields to a Single Java Field](https://www.baeldung.com/json-multiple-fields-single-java-field)
- [Convert XML to JSON Using Jackson](https://www.baeldung.com/jackson-convert-xml-json)
- [Converting JSON to CSV in Java](https://www.baeldung.com/java-converting-json-to-csv)
diff --git a/jackson-custom-conversions/README.md b/jackson-custom-conversions/README.md
new file mode 100644
index 0000000000..68e9a6d50d
--- /dev/null
+++ b/jackson-custom-conversions/README.md
@@ -0,0 +1,9 @@
+## Jackson Custom Conversions
+
+This module contains articles about Jackson custom conversions.
+
+### Relevant Articles:
+- [Jackson – Custom Serializer](https://www.baeldung.com/jackson-custom-serialization)
+- [Getting Started with Custom Deserialization in Jackson](https://www.baeldung.com/jackson-deserialization)
+- [Serialize Only Fields that meet a Custom Criteria with Jackson](https://www.baeldung.com/jackson-serialize-field-custom-criteria)
+- [Calling Default Serializer from Custom Serializer in Jackson](https://www.baeldung.com/jackson-call-default-serializer-from-custom-serializer)
diff --git a/jackson-2/pom.xml b/jackson-custom-conversions/pom.xml
similarity index 63%
rename from jackson-2/pom.xml
rename to jackson-custom-conversions/pom.xml
index 87a050417c..501bc28d6d 100644
--- a/jackson-2/pom.xml
+++ b/jackson-custom-conversions/pom.xml
@@ -1,9 +1,9 @@
4.0.0
- jackson-2
- 0.1-SNAPSHOT
- jackson-2
+ jackson-custom-conversions
+ 0.0.1-SNAPSHOT
+ jackson-custom-conversions
com.baeldung
@@ -13,27 +13,25 @@
-
-
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
${jackson.version}
-
-
-
-
- org.assertj
- assertj-core
- ${assertj.version}
- test
+ com.fasterxml.jackson.datatype
+ jackson-datatype-joda
+ ${jackson.version}
- jackson-2
+ jackson-custom-conversions
src/main/resources
@@ -42,10 +40,4 @@
-
-
-
- 3.11.0
-
-
diff --git a/jackson-2/src/main/java/com/baeldung/jackson/entities/File.java b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/File.java
similarity index 84%
rename from jackson-2/src/main/java/com/baeldung/jackson/entities/File.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/File.java
index 0e8829e927..791ad3a466 100644
--- a/jackson-2/src/main/java/com/baeldung/jackson/entities/File.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/File.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.entities;
+package com.baeldung.defaultserializercustomserializer;
public class File {
diff --git a/jackson-2/src/main/java/com/baeldung/jackson/entities/Folder.java b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/Folder.java
similarity index 96%
rename from jackson-2/src/main/java/com/baeldung/jackson/entities/Folder.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/Folder.java
index c49e46b204..6f423059a2 100644
--- a/jackson-2/src/main/java/com/baeldung/jackson/entities/Folder.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/Folder.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.entities;
+package com.baeldung.defaultserializercustomserializer;
import java.util.ArrayList;
import java.util.Date;
diff --git a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderBeanSerializerModifier.java b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderBeanSerializerModifier.java
similarity index 86%
rename from jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderBeanSerializerModifier.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderBeanSerializerModifier.java
index a3add58dc4..819971939c 100644
--- a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderBeanSerializerModifier.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderBeanSerializerModifier.java
@@ -1,6 +1,5 @@
-package com.baeldung.jackson.serialization.custom.serializer;
+package com.baeldung.defaultserializercustomserializer;
-import com.baeldung.jackson.entities.Folder;
import com.fasterxml.jackson.databind.BeanDescription;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializationConfig;
diff --git a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializer.java b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializer.java
similarity index 85%
rename from jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializer.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializer.java
index f385e63e09..3869ab15d8 100644
--- a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializer.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializer.java
@@ -1,9 +1,7 @@
-package com.baeldung.jackson.serialization.custom.serializer;
+package com.baeldung.defaultserializercustomserializer;
import java.io.IOException;
-import com.baeldung.jackson.entities.File;
-import com.baeldung.jackson.entities.Folder;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
diff --git a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithCallingOwnSerializer.java b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithCallingOwnSerializer.java
similarity index 87%
rename from jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithCallingOwnSerializer.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithCallingOwnSerializer.java
index ed5d9fffb8..544a4c6d1a 100644
--- a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithCallingOwnSerializer.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithCallingOwnSerializer.java
@@ -1,8 +1,7 @@
-package com.baeldung.jackson.serialization.custom.serializer;
+package com.baeldung.defaultserializercustomserializer;
import java.io.IOException;
-import com.baeldung.jackson.entities.Folder;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
diff --git a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithDefaultSerializerStored.java b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithDefaultSerializerStored.java
similarity index 90%
rename from jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithDefaultSerializerStored.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithDefaultSerializerStored.java
index d4a95cd939..558b303301 100644
--- a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithDefaultSerializerStored.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithDefaultSerializerStored.java
@@ -1,8 +1,7 @@
-package com.baeldung.jackson.serialization.custom.serializer;
+package com.baeldung.defaultserializercustomserializer;
import java.io.IOException;
-import com.baeldung.jackson.entities.Folder;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
diff --git a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithInternalObjectMapper.java b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithInternalObjectMapper.java
similarity index 90%
rename from jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithInternalObjectMapper.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithInternalObjectMapper.java
index b23dc32205..1ad51c63c0 100644
--- a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithInternalObjectMapper.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithInternalObjectMapper.java
@@ -1,8 +1,7 @@
-package com.baeldung.jackson.serialization.custom.serializer;
+package com.baeldung.defaultserializercustomserializer;
import java.io.IOException;
-import com.baeldung.jackson.entities.Folder;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializerProvider;
diff --git a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithSerializerProvider.java b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithSerializerProvider.java
similarity index 87%
rename from jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithSerializerProvider.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithSerializerProvider.java
index 81990a084d..8aeb28b3d0 100644
--- a/jackson-2/src/main/java/com/baeldung/jackson/serialization/custom/serializer/FolderSerializerWithSerializerProvider.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/defaultserializercustomserializer/FolderSerializerWithSerializerProvider.java
@@ -1,8 +1,7 @@
-package com.baeldung.jackson.serialization.custom.serializer;
+package com.baeldung.defaultserializercustomserializer;
import java.io.IOException;
-import com.baeldung.jackson.entities.Folder;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
diff --git a/jackson/src/main/java/com/baeldung/jackson/entities/ActorJackson.java b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ActorJackson.java
similarity index 97%
rename from jackson/src/main/java/com/baeldung/jackson/entities/ActorJackson.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ActorJackson.java
index 76f87d80b3..4bf3bc57f6 100644
--- a/jackson/src/main/java/com/baeldung/jackson/entities/ActorJackson.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ActorJackson.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.entities;
+package com.baeldung.deserialization;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/Item.java b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/Item.java
similarity index 92%
rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/Item.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/deserialization/Item.java
index 6fce2bc88e..e6234bb6e9 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/Item.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/Item.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dtos;
+package com.baeldung.deserialization;
public class Item {
public int id;
diff --git a/jackson/src/test/java/com/baeldung/jackson/deserialization/ItemDeserializer.java b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ItemDeserializer.java
similarity index 90%
rename from jackson/src/test/java/com/baeldung/jackson/deserialization/ItemDeserializer.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ItemDeserializer.java
index bbc3f31a6c..7ae2faa04d 100644
--- a/jackson/src/test/java/com/baeldung/jackson/deserialization/ItemDeserializer.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ItemDeserializer.java
@@ -1,9 +1,7 @@
-package com.baeldung.jackson.deserialization;
+package com.baeldung.deserialization;
import java.io.IOException;
-import com.baeldung.jackson.dtos.Item;
-import com.baeldung.jackson.dtos.User;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/deserialization/ItemDeserializerOnClass.java b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ItemDeserializerOnClass.java
similarity index 73%
rename from jackson-simple/src/test/java/com/baeldung/jackson/deserialization/ItemDeserializerOnClass.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ItemDeserializerOnClass.java
index eaba9a7173..b9db114c4a 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/deserialization/ItemDeserializerOnClass.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ItemDeserializerOnClass.java
@@ -1,9 +1,7 @@
-package com.baeldung.jackson.deserialization;
+package com.baeldung.deserialization;
import java.io.IOException;
-import com.baeldung.jackson.dtos.ItemWithSerializer;
-import com.baeldung.jackson.dtos.User;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
@@ -11,7 +9,7 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import com.fasterxml.jackson.databind.node.IntNode;
-public class ItemDeserializerOnClass extends StdDeserializer {
+public class ItemDeserializerOnClass extends StdDeserializer {
private static final long serialVersionUID = 5579141241817332594L;
@@ -27,7 +25,7 @@ public class ItemDeserializerOnClass extends StdDeserializer
* {"id":1,"itemNr":"theItem","owner":2}
*/
@Override
- public ItemWithSerializer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException {
+ public ItemWithDeserializer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException {
final JsonNode node = jp.getCodec()
.readTree(jp);
final int id = (Integer) ((IntNode) node.get("id")).numberValue();
@@ -35,7 +33,7 @@ public class ItemDeserializerOnClass extends StdDeserializer
.asText();
final int userId = (Integer) ((IntNode) node.get("owner")).numberValue();
- return new ItemWithSerializer(id, itemName, new User(userId, null));
+ return new ItemWithDeserializer(id, itemName, new User(userId, null));
}
}
\ No newline at end of file
diff --git a/jackson/src/test/java/com/baeldung/jackson/dtos/ItemWithSerializer.java b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ItemWithDeserializer.java
similarity index 54%
rename from jackson/src/test/java/com/baeldung/jackson/dtos/ItemWithSerializer.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ItemWithDeserializer.java
index aea9aa770d..1ab36e4acd 100644
--- a/jackson/src/test/java/com/baeldung/jackson/dtos/ItemWithSerializer.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/ItemWithDeserializer.java
@@ -1,19 +1,14 @@
-package com.baeldung.jackson.dtos;
-
-import com.baeldung.jackson.deserialization.ItemDeserializerOnClass;
-import com.baeldung.jackson.serialization.ItemSerializerOnClass;
+package com.baeldung.deserialization;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-@JsonSerialize(using = ItemSerializerOnClass.class)
@JsonDeserialize(using = ItemDeserializerOnClass.class)
-public class ItemWithSerializer {
+public class ItemWithDeserializer {
public final int id;
public final String itemName;
public final User owner;
- public ItemWithSerializer(final int id, final String itemName, final User owner) {
+ public ItemWithDeserializer(final int id, final String itemName, final User owner) {
this.id = id;
this.itemName = itemName;
this.owner = owner;
diff --git a/jackson/src/main/java/com/baeldung/jackson/entities/Movie.java b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/Movie.java
similarity index 96%
rename from jackson/src/main/java/com/baeldung/jackson/entities/Movie.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/deserialization/Movie.java
index bdbb6c004f..fdb107dca2 100644
--- a/jackson/src/main/java/com/baeldung/jackson/entities/Movie.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/Movie.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.entities;
+package com.baeldung.deserialization;
import java.util.List;
diff --git a/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/User.java b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/User.java
new file mode 100644
index 0000000000..d22a85aafd
--- /dev/null
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/deserialization/User.java
@@ -0,0 +1,26 @@
+package com.baeldung.deserialization;
+
+public class User {
+ public int id;
+ public String name;
+
+ public User() {
+ super();
+ }
+
+ public User(final int id, final String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ // API
+
+ public int getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+}
\ No newline at end of file
diff --git a/jackson/src/test/java/com/baeldung/jackson/dtos/Item.java b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/Item.java
similarity index 93%
rename from jackson/src/test/java/com/baeldung/jackson/dtos/Item.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/serialization/Item.java
index 6fce2bc88e..52a73b048c 100644
--- a/jackson/src/test/java/com/baeldung/jackson/dtos/Item.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/Item.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dtos;
+package com.baeldung.serialization;
public class Item {
public int id;
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/serialization/ItemSerializer.java b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/ItemSerializer.java
similarity index 91%
rename from jackson-simple/src/test/java/com/baeldung/jackson/serialization/ItemSerializer.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/serialization/ItemSerializer.java
index b5624c566a..dc0b5e1c88 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/serialization/ItemSerializer.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/ItemSerializer.java
@@ -1,8 +1,7 @@
-package com.baeldung.jackson.serialization;
+package com.baeldung.serialization;
import java.io.IOException;
-import com.baeldung.jackson.dtos.Item;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.SerializerProvider;
diff --git a/jackson/src/test/java/com/baeldung/jackson/serialization/ItemSerializerOnClass.java b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/ItemSerializerOnClass.java
similarity index 91%
rename from jackson/src/test/java/com/baeldung/jackson/serialization/ItemSerializerOnClass.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/serialization/ItemSerializerOnClass.java
index 1fdf44e17c..8f56c349f2 100644
--- a/jackson/src/test/java/com/baeldung/jackson/serialization/ItemSerializerOnClass.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/ItemSerializerOnClass.java
@@ -1,8 +1,7 @@
-package com.baeldung.jackson.serialization;
+package com.baeldung.serialization;
import java.io.IOException;
-import com.baeldung.jackson.dtos.ItemWithSerializer;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.SerializerProvider;
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/ItemWithSerializer.java b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/ItemWithSerializer.java
similarity index 74%
rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/ItemWithSerializer.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/serialization/ItemWithSerializer.java
index aea9aa770d..5b38ad1af6 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/ItemWithSerializer.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/ItemWithSerializer.java
@@ -1,13 +1,9 @@
-package com.baeldung.jackson.dtos;
-
-import com.baeldung.jackson.deserialization.ItemDeserializerOnClass;
-import com.baeldung.jackson.serialization.ItemSerializerOnClass;
+package com.baeldung.serialization;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@JsonSerialize(using = ItemSerializerOnClass.class)
-@JsonDeserialize(using = ItemDeserializerOnClass.class)
public class ItemWithSerializer {
public final int id;
public final String itemName;
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/User.java b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/User.java
similarity index 90%
rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/User.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/serialization/User.java
index 2418e8070d..b01ccc9ffb 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/User.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/serialization/User.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dtos;
+package com.baeldung.serialization;
public class User {
public int id;
diff --git a/jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/Address.java b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/Address.java
similarity index 94%
rename from jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/Address.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/skipfields/Address.java
index daca85f66a..a394bbc180 100644
--- a/jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/Address.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/Address.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dynamicIgnore;
+package com.baeldung.skipfields;
public class Address implements Hidable {
private String city;
diff --git a/jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/Hidable.java b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/Hidable.java
similarity index 77%
rename from jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/Hidable.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/skipfields/Hidable.java
index a32e6844a6..fff7f81d1e 100644
--- a/jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/Hidable.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/Hidable.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dynamicIgnore;
+package com.baeldung.skipfields;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git a/jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/HidableSerializer.java b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/HidableSerializer.java
similarity index 95%
rename from jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/HidableSerializer.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/skipfields/HidableSerializer.java
index 46396dae2a..8b300444c0 100644
--- a/jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/HidableSerializer.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/HidableSerializer.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dynamicIgnore;
+package com.baeldung.skipfields;
import java.io.IOException;
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDtoWithFilter.java b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/MyDtoWithFilter.java
similarity index 96%
rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDtoWithFilter.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/skipfields/MyDtoWithFilter.java
index 91f5e148b2..50492c337a 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDtoWithFilter.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/MyDtoWithFilter.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dtos;
+package com.baeldung.skipfields;
import com.fasterxml.jackson.annotation.JsonFilter;
diff --git a/jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/Person.java b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/Person.java
similarity index 94%
rename from jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/Person.java
rename to jackson-custom-conversions/src/main/java/com/baeldung/skipfields/Person.java
index daa62b4be6..e1501947d3 100644
--- a/jackson/src/test/java/com/baeldung/jackson/dynamicIgnore/Person.java
+++ b/jackson-custom-conversions/src/main/java/com/baeldung/skipfields/Person.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dynamicIgnore;
+package com.baeldung.skipfields;
public class Person implements Hidable {
private String name;
diff --git a/jackson-2/src/test/java/com/baeldung/jackson/serialization/custom/serializer/CallingDefaultSerializerUnitTest.java b/jackson-custom-conversions/src/test/java/com/baeldung/defaultserializercustomserializer/CallingDefaultSerializerUnitTest.java
similarity index 97%
rename from jackson-2/src/test/java/com/baeldung/jackson/serialization/custom/serializer/CallingDefaultSerializerUnitTest.java
rename to jackson-custom-conversions/src/test/java/com/baeldung/defaultserializercustomserializer/CallingDefaultSerializerUnitTest.java
index b067e7b501..c8b4ec7e1a 100644
--- a/jackson-2/src/test/java/com/baeldung/jackson/serialization/custom/serializer/CallingDefaultSerializerUnitTest.java
+++ b/jackson-custom-conversions/src/test/java/com/baeldung/defaultserializercustomserializer/CallingDefaultSerializerUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.serialization.custom.serializer;
+package com.baeldung.defaultserializercustomserializer;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -14,8 +14,6 @@ import java.util.Map;
import org.junit.Before;
import org.junit.Test;
-import com.baeldung.jackson.entities.File;
-import com.baeldung.jackson.entities.Folder;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
diff --git a/jackson/src/test/java/com/baeldung/jackson/test/JacksonDeserializationUnitTest.java b/jackson-custom-conversions/src/test/java/com/baeldung/deserialization/CustomDeserializationUnitTest.java
similarity index 68%
rename from jackson/src/test/java/com/baeldung/jackson/test/JacksonDeserializationUnitTest.java
rename to jackson-custom-conversions/src/test/java/com/baeldung/deserialization/CustomDeserializationUnitTest.java
index 7bb40cbef9..f2a2502c3e 100644
--- a/jackson/src/test/java/com/baeldung/jackson/test/JacksonDeserializationUnitTest.java
+++ b/jackson-custom-conversions/src/test/java/com/baeldung/deserialization/CustomDeserializationUnitTest.java
@@ -1,4 +1,16 @@
-package com.baeldung.jackson.test;
+package com.baeldung.deserialization;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
@@ -7,53 +19,7 @@ import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
-import java.io.IOException;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-
-import org.junit.Test;
-
-import com.baeldung.jackson.deserialization.ItemDeserializer;
-import com.baeldung.jackson.dtos.Item;
-import com.baeldung.jackson.dtos.ItemWithSerializer;
-import com.baeldung.jackson.dtos.MyDto;
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException;
-import com.fasterxml.jackson.databind.module.SimpleModule;
-
-public class JacksonDeserializationUnitTest {
-
- @Test
- public final void whenDeserializingAJsonToAClass_thenCorrect() throws JsonParseException, JsonMappingException, IOException {
- final String jsonAsString = "{\"stringValue\":\"a\",\"intValue\":1,\"booleanValue\":true}";
- final ObjectMapper mapper = new ObjectMapper();
-
- final MyDto readValue = mapper.readValue(jsonAsString, MyDto.class);
-
- assertNotNull(readValue);
- assertThat(readValue.getStringValue(), equalTo("a"));
- }
-
- @Test
- public final void givenNotAllFieldsHaveValuesInJson_whenDeserializingAJsonToAClass_thenCorrect() throws JsonParseException, JsonMappingException, IOException {
- final String jsonAsString = "{\"stringValue\":\"a\",\"booleanValue\":true}";
- final ObjectMapper mapper = new ObjectMapper();
-
- final MyDto readValue = mapper.readValue(jsonAsString, MyDto.class);
-
- assertNotNull(readValue);
- assertThat(readValue.getStringValue(), equalTo("a"));
- assertThat(readValue.isBooleanValue(), equalTo(true));
- }
-
- // custom deserialization
+public class CustomDeserializationUnitTest {
@Test
public final void whenDeserializingTheStandardRepresentation_thenCorrect() throws JsonParseException, JsonMappingException, IOException {
@@ -80,7 +46,7 @@ public class JacksonDeserializationUnitTest {
public final void givenDeserializerIsOnClass_whenDeserializingCustomRepresentation_thenCorrect() throws JsonParseException, JsonMappingException, IOException {
final String json = "{\"id\":1,\"itemName\":\"theItem\",\"owner\":2}";
- final ItemWithSerializer readValue = new ObjectMapper().readValue(json, ItemWithSerializer.class);
+ final ItemWithDeserializer readValue = new ObjectMapper().readValue(json, ItemWithDeserializer.class);
assertThat(readValue, notNullValue());
}
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/test/JacksonSerializationUnitTest.java b/jackson-custom-conversions/src/test/java/com/baeldung/serialization/CustomSerializationUnitTest.java
similarity index 72%
rename from jackson-simple/src/test/java/com/baeldung/jackson/test/JacksonSerializationUnitTest.java
rename to jackson-custom-conversions/src/test/java/com/baeldung/serialization/CustomSerializationUnitTest.java
index 93dd708b18..6cb4019fa2 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/test/JacksonSerializationUnitTest.java
+++ b/jackson-custom-conversions/src/test/java/com/baeldung/serialization/CustomSerializationUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.test;
+package com.baeldung.serialization;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.not;
@@ -7,12 +7,6 @@ import static org.junit.Assert.assertThat;
import java.io.IOException;
import java.util.List;
-
-import com.baeldung.jackson.dtos.User;
-import com.baeldung.jackson.dtos.Item;
-import com.baeldung.jackson.dtos.ItemWithSerializer;
-import com.baeldung.jackson.dtos.MyDto;
-import com.baeldung.jackson.serialization.ItemSerializer;
import org.junit.Test;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
@@ -24,21 +18,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.google.common.collect.Lists;
-public class JacksonSerializationUnitTest {
-
- // tests - multiple entities to json
-
- @Test
- public final void whenDtoIsSerialized_thenCorrect() throws JsonParseException, IOException {
- final List listOfDtos = Lists.newArrayList(new MyDto("a", 1, true), new MyDto("bc", 3, false));
-
- final ObjectMapper mapper = new ObjectMapper();
- final String dtosAsString = mapper.writeValueAsString(listOfDtos);
-
- System.out.println(dtosAsString);
- }
-
- // tests - custom serializer
+public class CustomSerializationUnitTest {
@Test
public final void whenSerializing_thenNoExceptions() throws JsonGenerationException, JsonMappingException, IOException {
diff --git a/jackson-custom-conversions/src/test/java/com/baeldung/skipfields/IgnoreFieldsWithFilterUnitTest.java b/jackson-custom-conversions/src/test/java/com/baeldung/skipfields/IgnoreFieldsWithFilterUnitTest.java
new file mode 100644
index 0000000000..e71f31bc6a
--- /dev/null
+++ b/jackson-custom-conversions/src/test/java/com/baeldung/skipfields/IgnoreFieldsWithFilterUnitTest.java
@@ -0,0 +1,89 @@
+package com.baeldung.skipfields;
+
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.ser.BeanPropertyWriter;
+import com.fasterxml.jackson.databind.ser.FilterProvider;
+import com.fasterxml.jackson.databind.ser.PropertyFilter;
+import com.fasterxml.jackson.databind.ser.PropertyWriter;
+import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
+import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
+import org.junit.Test;
+
+import java.io.IOException;
+
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.not;
+import static org.junit.Assert.assertThat;
+
+public class IgnoreFieldsWithFilterUnitTest {
+
+ @Test
+ public final void givenTypeHasFilterThatIgnoresFieldByName_whenDtoIsSerialized_thenCorrect() throws JsonParseException, IOException {
+ final ObjectMapper mapper = new ObjectMapper();
+ final SimpleBeanPropertyFilter theFilter = SimpleBeanPropertyFilter.serializeAllExcept("intValue");
+ final FilterProvider filters = new SimpleFilterProvider().addFilter("myFilter", theFilter);
+
+ final MyDtoWithFilter dtoObject = new MyDtoWithFilter();
+ dtoObject.setIntValue(12);
+
+ final String dtoAsString = mapper.writer(filters)
+ .writeValueAsString(dtoObject);
+
+ assertThat(dtoAsString, not(containsString("intValue")));
+ assertThat(dtoAsString, containsString("booleanValue"));
+ assertThat(dtoAsString, containsString("stringValue"));
+ System.out.println(dtoAsString);
+ }
+
+ @Test
+ public final void givenTypeHasFilterThatIgnoresNegativeInt_whenDtoIsSerialized_thenCorrect() throws JsonParseException, IOException {
+ final PropertyFilter theFilter = new SimpleBeanPropertyFilter() {
+ @Override
+ public final void serializeAsField(final Object pojo, final JsonGenerator jgen, final SerializerProvider provider, final PropertyWriter writer) throws Exception {
+ if (include(writer)) {
+ if (!writer.getName()
+ .equals("intValue")) {
+ writer.serializeAsField(pojo, jgen, provider);
+ return;
+ }
+
+ final int intValue = ((MyDtoWithFilter) pojo).getIntValue();
+ if (intValue >= 0) {
+ writer.serializeAsField(pojo, jgen, provider);
+ }
+ } else if (!jgen.canOmitFields()) { // since 2.3
+ writer.serializeAsOmittedField(pojo, jgen, provider);
+ }
+ }
+
+ @Override
+ protected final boolean include(final BeanPropertyWriter writer) {
+ return true;
+ }
+
+ @Override
+ protected final boolean include(final PropertyWriter writer) {
+ return true;
+ }
+ };
+ final FilterProvider filters = new SimpleFilterProvider().addFilter("myFilter", theFilter);
+
+ final MyDtoWithFilter dtoObject = new MyDtoWithFilter();
+ dtoObject.setIntValue(-1);
+
+ final ObjectMapper mapper = new ObjectMapper();
+ final String dtoAsString = mapper.writer(filters)
+ .writeValueAsString(dtoObject);
+
+ assertThat(dtoAsString, not(containsString("intValue")));
+ assertThat(dtoAsString, containsString("booleanValue"));
+ assertThat(dtoAsString, containsString("stringValue"));
+ System.out.println(dtoAsString);
+ }
+
+}
diff --git a/jackson/src/test/java/com/baeldung/jackson/test/JacksonDynamicIgnoreUnitTest.java b/jackson-custom-conversions/src/test/java/com/baeldung/skipfields/JacksonDynamicIgnoreUnitTest.java
similarity index 93%
rename from jackson/src/test/java/com/baeldung/jackson/test/JacksonDynamicIgnoreUnitTest.java
rename to jackson-custom-conversions/src/test/java/com/baeldung/skipfields/JacksonDynamicIgnoreUnitTest.java
index 2f0f45828b..6ba14f7476 100644
--- a/jackson/src/test/java/com/baeldung/jackson/test/JacksonDynamicIgnoreUnitTest.java
+++ b/jackson-custom-conversions/src/test/java/com/baeldung/skipfields/JacksonDynamicIgnoreUnitTest.java
@@ -1,14 +1,10 @@
-package com.baeldung.jackson.test;
+package com.baeldung.skipfields;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
-import com.baeldung.jackson.dynamicIgnore.Address;
-import com.baeldung.jackson.dynamicIgnore.HidableSerializer;
-import com.baeldung.jackson.dynamicIgnore.Person;
-import com.baeldung.jackson.dynamicIgnore.Hidable;
import org.junit.Before;
import org.junit.Test;
diff --git a/jackson-simple/README.md b/jackson-simple/README.md
index 558b506c8a..ffc76ead22 100644
--- a/jackson-simple/README.md
+++ b/jackson-simple/README.md
@@ -6,4 +6,14 @@ This module contains articles about Jackson that are also part of the Jackson Eb
The "REST With Spring" Classes: http://bit.ly/restwithspring
-### Relevant Articles:
+### Relevant Articles:
+- [Jackson Annotation Examples](https://www.baeldung.com/jackson-annotations)
+- [Intro to the Jackson ObjectMapper](https://www.baeldung.com/jackson-object-mapper-tutorial)
+- [Jackson Ignore Properties on Marshalling](https://www.baeldung.com/jackson-ignore-properties-on-serialization)
+- [Ignore Null Fields with Jackson](https://www.baeldung.com/jackson-ignore-null-fields)
+- [Jackson – Change Name of Field](https://www.baeldung.com/jackson-name-of-property)
+- [Jackson Unmarshalling JSON with Unknown Properties](https://www.baeldung.com/jackson-deserialize-json-unknown-properties)
+
+### NOTE:
+
+Since this is a module tied to an e-book, it should **not** be used to store the code for any further article.
diff --git a/jackson-simple/pom.xml b/jackson-simple/pom.xml
index 718c50ec80..23574a70a8 100644
--- a/jackson-simple/pom.xml
+++ b/jackson-simple/pom.xml
@@ -21,7 +21,6 @@
-
org.assertj
assertj-core
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/AliasBean.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/AliasBean.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/AliasBean.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/AliasBean.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithCreator.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithCreator.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithCreator.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithCreator.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithCustomAnnotation.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithCustomAnnotation.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithCustomAnnotation.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithCustomAnnotation.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithFilter.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithFilter.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithFilter.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithFilter.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithGetter.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithGetter.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithGetter.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithGetter.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithIgnore.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithIgnore.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithIgnore.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithIgnore.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithInject.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithInject.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/BeanWithInject.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/BeanWithInject.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/ExtendableBean.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/ExtendableBean.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/ExtendableBean.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/ExtendableBean.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/MyBean.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/MyBean.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/MyBean.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/MyBean.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/PrivateBean.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/PrivateBean.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/PrivateBean.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/PrivateBean.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/RawBean.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/RawBean.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/RawBean.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/RawBean.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/UnwrappedUser.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/UnwrappedUser.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/UnwrappedUser.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/UnwrappedUser.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/UserWithIgnoreType.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/UserWithIgnoreType.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/UserWithIgnoreType.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/UserWithIgnoreType.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/Zoo.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/Zoo.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/Zoo.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/Zoo.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithIdentity.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithIdentity.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithIdentity.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithIdentity.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithIgnore.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithIgnore.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithIgnore.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithIgnore.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithRef.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithRef.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithRef.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/ItemWithRef.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithIdentity.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithIdentity.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithIdentity.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithIdentity.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithIgnore.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithIgnore.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithIgnore.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithIgnore.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithRef.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithRef.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithRef.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/bidirection/UserWithRef.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/date/CustomDateDeserializer.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/CustomDateDeserializer.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/date/CustomDateDeserializer.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/CustomDateDeserializer.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/date/CustomDateSerializer.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/CustomDateSerializer.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/date/CustomDateSerializer.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/CustomDateSerializer.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/date/EventWithFormat.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/EventWithFormat.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/date/EventWithFormat.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/EventWithFormat.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/date/EventWithSerializer.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/EventWithSerializer.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/date/EventWithSerializer.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/EventWithSerializer.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/deserialization/ItemDeserializerOnClass.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/deserialization/ItemDeserializerOnClass.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/deserialization/ItemDeserializerOnClass.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/deserialization/ItemDeserializerOnClass.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/dtos/Item.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/dtos/Item.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/dtos/Item.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/dtos/Item.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/dtos/ItemWithSerializer.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/dtos/ItemWithSerializer.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/dtos/ItemWithSerializer.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/dtos/ItemWithSerializer.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/dtos/User.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/dtos/User.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/dtos/User.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/dtos/User.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/dtos/withEnum/DistanceEnumWithValue.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/dtos/withEnum/DistanceEnumWithValue.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/dtos/withEnum/DistanceEnumWithValue.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/dtos/withEnum/DistanceEnumWithValue.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/exception/UserWithRoot.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/exception/UserWithRoot.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/exception/UserWithRoot.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/exception/UserWithRoot.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/exception/UserWithRootNamespace.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/exception/UserWithRootNamespace.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/exception/UserWithRootNamespace.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/exception/UserWithRootNamespace.java
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyMixInForIgnoreType.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/ignore/MyMixInForIgnoreType.java
similarity index 71%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyMixInForIgnoreType.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/ignore/MyMixInForIgnoreType.java
index ce97d35c83..c016e44530 100644
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyMixInForIgnoreType.java
+++ b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/ignore/MyMixInForIgnoreType.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.ignore.dtos;
+package com.baeldung.jackson.annotation.ignore;
import com.fasterxml.jackson.annotation.JsonIgnoreType;
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/jsonview/Item.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/jsonview/Item.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/jsonview/Item.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/jsonview/Item.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/jsonview/Views.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/jsonview/Views.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/jsonview/Views.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/jsonview/Views.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializer.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializer.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializer.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializer.java
diff --git a/jackson-annotations/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializerOnClass.java b/jackson-simple/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializerOnClass.java
similarity index 100%
rename from jackson-annotations/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializerOnClass.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializerOnClass.java
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDto.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDto.java
similarity index 96%
rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDto.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDto.java
index 49cf07baea..b8fedc9c98 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDto.java
+++ b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDto.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dtos;
+package com.baeldung.jackson.ignore;
public class MyDto {
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreField.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIgnoreField.java
similarity index 94%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreField.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIgnoreField.java
index 8cbcb773cc..6880cf68fc 100644
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreField.java
+++ b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIgnoreField.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.ignore.dtos;
+package com.baeldung.jackson.ignore;
import com.fasterxml.jackson.annotation.JsonIgnore;
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreFieldByName.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIgnoreFieldByName.java
similarity index 95%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreFieldByName.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIgnoreFieldByName.java
index 1aee31a1b3..f446096258 100644
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreFieldByName.java
+++ b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIgnoreFieldByName.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.ignore.dtos;
+package com.baeldung.jackson.ignore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreNull.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIgnoreNull.java
similarity index 96%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreNull.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIgnoreNull.java
index 75532f18c2..2fd388109c 100644
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreNull.java
+++ b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIgnoreNull.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.ignore.dtos;
+package com.baeldung.jackson.ignore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDtoIncludeNonDefault.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIncludeNonDefault.java
similarity index 95%
rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDtoIncludeNonDefault.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIncludeNonDefault.java
index ca03a8be62..53b9316413 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDtoIncludeNonDefault.java
+++ b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoIncludeNonDefault.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dtos;
+package com.baeldung.jackson.ignore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoWithFilter.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoWithFilter.java
similarity index 96%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoWithFilter.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoWithFilter.java
index 256b7d206d..f8e4043357 100644
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoWithFilter.java
+++ b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoWithFilter.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.ignore.dtos;
+package com.baeldung.jackson.ignore;
import com.fasterxml.jackson.annotation.JsonFilter;
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDtoWithSpecialField.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoWithSpecialField.java
similarity index 96%
rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDtoWithSpecialField.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoWithSpecialField.java
index 58293c0562..f85823fb30 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyDtoWithSpecialField.java
+++ b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyDtoWithSpecialField.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dtos;
+package com.baeldung.jackson.ignore;
public class MyDtoWithSpecialField {
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyMixInForIgnoreType.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyMixInForIgnoreType.java
similarity index 76%
rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyMixInForIgnoreType.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyMixInForIgnoreType.java
index ca29c98b9a..3c5dfdfad3 100644
--- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/MyMixInForIgnoreType.java
+++ b/jackson-simple/src/main/java/com/baeldung/jackson/ignore/MyMixInForIgnoreType.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.dtos;
+package com.baeldung.jackson.ignore;
import com.fasterxml.jackson.annotation.JsonIgnoreType;
diff --git a/jackson-conversions-2/src/test/java/com/baeldung/jackson/ignorenullfields/MyDto.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignorenullfields/MyDto.java
similarity index 100%
rename from jackson-conversions-2/src/test/java/com/baeldung/jackson/ignorenullfields/MyDto.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignorenullfields/MyDto.java
diff --git a/jackson-conversions-2/src/test/java/com/baeldung/jackson/ignorenullfields/MyDtoIgnoreNull.java b/jackson-simple/src/main/java/com/baeldung/jackson/ignorenullfields/MyDtoIgnoreNull.java
similarity index 100%
rename from jackson-conversions-2/src/test/java/com/baeldung/jackson/ignorenullfields/MyDtoIgnoreNull.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/ignorenullfields/MyDtoIgnoreNull.java
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/jsonproperty/MyDto.java b/jackson-simple/src/main/java/com/baeldung/jackson/jsonproperty/MyDto.java
similarity index 100%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/jsonproperty/MyDto.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/jsonproperty/MyDto.java
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/jsonproperty/MyDtoFieldNameChanged.java b/jackson-simple/src/main/java/com/baeldung/jackson/jsonproperty/MyDtoFieldNameChanged.java
similarity index 100%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/jsonproperty/MyDtoFieldNameChanged.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/jsonproperty/MyDtoFieldNameChanged.java
diff --git a/jackson/src/main/java/com/baeldung/jackson/objectmapper/CustomCarDeserializer.java b/jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/CustomCarDeserializer.java
similarity index 100%
rename from jackson/src/main/java/com/baeldung/jackson/objectmapper/CustomCarDeserializer.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/CustomCarDeserializer.java
diff --git a/jackson/src/main/java/com/baeldung/jackson/objectmapper/CustomCarSerializer.java b/jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/CustomCarSerializer.java
similarity index 100%
rename from jackson/src/main/java/com/baeldung/jackson/objectmapper/CustomCarSerializer.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/CustomCarSerializer.java
diff --git a/jackson/src/main/java/com/baeldung/jackson/objectmapper/dto/Car.java b/jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/dto/Car.java
similarity index 100%
rename from jackson/src/main/java/com/baeldung/jackson/objectmapper/dto/Car.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/dto/Car.java
diff --git a/jackson/src/main/java/com/baeldung/jackson/objectmapper/dto/Request.java b/jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/dto/Request.java
similarity index 100%
rename from jackson/src/main/java/com/baeldung/jackson/objectmapper/dto/Request.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/dto/Request.java
diff --git a/jackson-conversions-2/src/main/java/com/baeldung/jackson/unknownproperties/MyDto.java b/jackson-simple/src/main/java/com/baeldung/jackson/unknownproperties/MyDto.java
similarity index 100%
rename from jackson-conversions-2/src/main/java/com/baeldung/jackson/unknownproperties/MyDto.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/unknownproperties/MyDto.java
diff --git a/jackson-conversions-2/src/main/java/com/baeldung/jackson/unknownproperties/MyDtoIgnoreType.java b/jackson-simple/src/main/java/com/baeldung/jackson/unknownproperties/MyDtoIgnoreType.java
similarity index 100%
rename from jackson-conversions-2/src/main/java/com/baeldung/jackson/unknownproperties/MyDtoIgnoreType.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/unknownproperties/MyDtoIgnoreType.java
diff --git a/jackson-conversions-2/src/main/java/com/baeldung/jackson/unknownproperties/MyDtoIgnoreUnknown.java b/jackson-simple/src/main/java/com/baeldung/jackson/unknownproperties/MyDtoIgnoreUnknown.java
similarity index 100%
rename from jackson-conversions-2/src/main/java/com/baeldung/jackson/unknownproperties/MyDtoIgnoreUnknown.java
rename to jackson-simple/src/main/java/com/baeldung/jackson/unknownproperties/MyDtoIgnoreUnknown.java
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/annotation/JacksonAnnotationUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/annotation/JacksonAnnotationUnitTest.java
similarity index 99%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/annotation/JacksonAnnotationUnitTest.java
rename to jackson-simple/src/test/java/com/baeldung/jackson/annotation/JacksonAnnotationUnitTest.java
index 462b65787a..bbbb79b0a8 100644
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/annotation/JacksonAnnotationUnitTest.java
+++ b/jackson-simple/src/test/java/com/baeldung/jackson/annotation/JacksonAnnotationUnitTest.java
@@ -20,7 +20,7 @@ import com.baeldung.jackson.annotation.bidirection.UserWithIdentity;
import com.baeldung.jackson.annotation.bidirection.UserWithRef;
import com.baeldung.jackson.annotation.date.EventWithFormat;
import com.baeldung.jackson.annotation.date.EventWithSerializer;
-import com.baeldung.jackson.ignore.dtos.MyMixInForIgnoreType;
+import com.baeldung.jackson.annotation.ignore.MyMixInForIgnoreType;
import com.baeldung.jackson.annotation.dtos.withEnum.DistanceEnumWithValue;
import com.baeldung.jackson.annotation.exception.UserWithRoot;
import com.baeldung.jackson.annotation.exception.UserWithRootNamespace;
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/withEnum/DistanceEnumWithValue.java b/jackson-simple/src/test/java/com/baeldung/jackson/dtos/withEnum/DistanceEnumWithValue.java
deleted file mode 100644
index 574908523a..0000000000
--- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/withEnum/DistanceEnumWithValue.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.baeldung.jackson.annotation.dtos.withEnum;
-
-import com.fasterxml.jackson.annotation.JsonValue;
-
-public enum DistanceEnumWithValue {
- KILOMETER("km", 1000), MILE("miles", 1609.34), METER("meters", 1), INCH("inches", 0.0254), CENTIMETER("cm", 0.01), MILLIMETER("mm", 0.001);
-
- private String unit;
- private final double meters;
-
- private DistanceEnumWithValue(String unit, double meters) {
- this.unit = unit;
- this.meters = meters;
- }
-
- @JsonValue
- public double getMeters() {
- return meters;
- }
-
- public String getUnit() {
- return unit;
- }
-
- public void setUnit(String unit) {
- this.unit = unit;
- }
-
-}
\ No newline at end of file
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/ignore/IgnoreFieldsWithFilterUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/IgnoreFieldsWithFilterUnitTest.java
new file mode 100644
index 0000000000..9f1da451f8
--- /dev/null
+++ b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/IgnoreFieldsWithFilterUnitTest.java
@@ -0,0 +1,87 @@
+package com.baeldung.jackson.ignore;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.ser.BeanPropertyWriter;
+import com.fasterxml.jackson.databind.ser.FilterProvider;
+import com.fasterxml.jackson.databind.ser.PropertyFilter;
+import com.fasterxml.jackson.databind.ser.PropertyWriter;
+import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
+import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
+import org.junit.Test;
+
+import java.io.IOException;
+
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.not;
+import static org.junit.Assert.assertThat;
+
+public class IgnoreFieldsWithFilterUnitTest {
+
+ @Test
+ public final void givenTypeHasFilterThatIgnoresFieldByName_whenDtoIsSerialized_thenCorrect() throws JsonParseException, IOException {
+ final ObjectMapper mapper = new ObjectMapper();
+ final SimpleBeanPropertyFilter theFilter = SimpleBeanPropertyFilter.serializeAllExcept("intValue");
+ final FilterProvider filters = new SimpleFilterProvider().addFilter("myFilter", theFilter);
+
+ final MyDtoWithFilter dtoObject = new MyDtoWithFilter();
+ dtoObject.setIntValue(12);
+
+ final String dtoAsString = mapper.writer(filters)
+ .writeValueAsString(dtoObject);
+
+ assertThat(dtoAsString, not(containsString("intValue")));
+ assertThat(dtoAsString, containsString("booleanValue"));
+ assertThat(dtoAsString, containsString("stringValue"));
+ System.out.println(dtoAsString);
+ }
+
+ @Test
+ public final void givenTypeHasFilterThatIgnoresNegativeInt_whenDtoIsSerialized_thenCorrect() throws JsonParseException, IOException {
+ final PropertyFilter theFilter = new SimpleBeanPropertyFilter() {
+ @Override
+ public final void serializeAsField(final Object pojo, final JsonGenerator jgen, final SerializerProvider provider, final PropertyWriter writer) throws Exception {
+ if (include(writer)) {
+ if (!writer.getName()
+ .equals("intValue")) {
+ writer.serializeAsField(pojo, jgen, provider);
+ return;
+ }
+
+ final int intValue = ((MyDtoWithFilter) pojo).getIntValue();
+ if (intValue >= 0) {
+ writer.serializeAsField(pojo, jgen, provider);
+ }
+ } else if (!jgen.canOmitFields()) { // since 2.3
+ writer.serializeAsOmittedField(pojo, jgen, provider);
+ }
+ }
+
+ @Override
+ protected final boolean include(final BeanPropertyWriter writer) {
+ return true;
+ }
+
+ @Override
+ protected final boolean include(final PropertyWriter writer) {
+ return true;
+ }
+ };
+ final FilterProvider filters = new SimpleFilterProvider().addFilter("myFilter", theFilter);
+
+ final MyDtoWithFilter dtoObject = new MyDtoWithFilter();
+ dtoObject.setIntValue(-1);
+
+ final ObjectMapper mapper = new ObjectMapper();
+ final String dtoAsString = mapper.writer(filters)
+ .writeValueAsString(dtoObject);
+
+ assertThat(dtoAsString, not(containsString("intValue")));
+ assertThat(dtoAsString, containsString("booleanValue"));
+ assertThat(dtoAsString, containsString("stringValue"));
+ System.out.println(dtoAsString);
+ }
+
+}
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java
similarity index 60%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java
rename to jackson-simple/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java
index c96eef4b05..da7c45859e 100644
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java
+++ b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java
@@ -5,19 +5,9 @@ import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertThat;
import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
import org.junit.Test;
-import com.baeldung.jackson.ignore.dtos.MyDto;
-import com.baeldung.jackson.ignore.dtos.MyDtoIncludeNonDefault;
-import com.baeldung.jackson.ignore.dtos.MyDtoWithFilter;
-import com.baeldung.jackson.ignore.dtos.MyDtoWithSpecialField;
-import com.baeldung.jackson.ignore.dtos.MyMixInForIgnoreType;
-import com.baeldung.jackson.ignore.dtos.MyDtoIgnoreField;
-import com.baeldung.jackson.ignore.dtos.MyDtoIgnoreFieldByName;
-import com.baeldung.jackson.ignore.dtos.MyDtoIgnoreNull;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParseException;
@@ -99,70 +89,6 @@ public class JacksonSerializationIgnoreUnitTest {
System.out.println(dtoAsString);
}
- @Test
- public final void givenTypeHasFilterThatIgnoresFieldByName_whenDtoIsSerialized_thenCorrect() throws JsonParseException, IOException {
- final ObjectMapper mapper = new ObjectMapper();
- final SimpleBeanPropertyFilter theFilter = SimpleBeanPropertyFilter.serializeAllExcept("intValue");
- final FilterProvider filters = new SimpleFilterProvider().addFilter("myFilter", theFilter);
-
- final MyDtoWithFilter dtoObject = new MyDtoWithFilter();
- dtoObject.setIntValue(12);
-
- final String dtoAsString = mapper.writer(filters)
- .writeValueAsString(dtoObject);
-
- assertThat(dtoAsString, not(containsString("intValue")));
- assertThat(dtoAsString, containsString("booleanValue"));
- assertThat(dtoAsString, containsString("stringValue"));
- System.out.println(dtoAsString);
- }
-
- @Test
- public final void givenTypeHasFilterThatIgnoresNegativeInt_whenDtoIsSerialized_thenCorrect() throws JsonParseException, IOException {
- final PropertyFilter theFilter = new SimpleBeanPropertyFilter() {
- @Override
- public final void serializeAsField(final Object pojo, final JsonGenerator jgen, final SerializerProvider provider, final PropertyWriter writer) throws Exception {
- if (include(writer)) {
- if (!writer.getName()
- .equals("intValue")) {
- writer.serializeAsField(pojo, jgen, provider);
- return;
- }
-
- final int intValue = ((MyDtoWithFilter) pojo).getIntValue();
- if (intValue >= 0) {
- writer.serializeAsField(pojo, jgen, provider);
- }
- } else if (!jgen.canOmitFields()) { // since 2.3
- writer.serializeAsOmittedField(pojo, jgen, provider);
- }
- }
-
- @Override
- protected final boolean include(final BeanPropertyWriter writer) {
- return true;
- }
-
- @Override
- protected final boolean include(final PropertyWriter writer) {
- return true;
- }
- };
- final FilterProvider filters = new SimpleFilterProvider().addFilter("myFilter", theFilter);
-
- final MyDtoWithFilter dtoObject = new MyDtoWithFilter();
- dtoObject.setIntValue(-1);
-
- final ObjectMapper mapper = new ObjectMapper();
- final String dtoAsString = mapper.writer(filters)
- .writeValueAsString(dtoObject);
-
- assertThat(dtoAsString, not(containsString("intValue")));
- assertThat(dtoAsString, containsString("booleanValue"));
- assertThat(dtoAsString, containsString("stringValue"));
- System.out.println(dtoAsString);
- }
-
@Test
public final void givenNullsIgnoredOnClass_whenWritingObjectWithNullField_thenIgnored() throws JsonProcessingException {
final ObjectMapper mapper = new ObjectMapper();
diff --git a/jackson-conversions-2/src/test/java/com/baeldung/jackson/ignorenullfields/IgnoreNullFieldsUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/ignorenullfields/IgnoreNullFieldsUnitTest.java
similarity index 98%
rename from jackson-conversions-2/src/test/java/com/baeldung/jackson/ignorenullfields/IgnoreNullFieldsUnitTest.java
rename to jackson-simple/src/test/java/com/baeldung/jackson/ignorenullfields/IgnoreNullFieldsUnitTest.java
index 192fe61889..ab1d9523e7 100644
--- a/jackson-conversions-2/src/test/java/com/baeldung/jackson/ignorenullfields/IgnoreNullFieldsUnitTest.java
+++ b/jackson-simple/src/test/java/com/baeldung/jackson/ignorenullfields/IgnoreNullFieldsUnitTest.java
@@ -14,8 +14,6 @@ import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
import org.junit.Test;
-import java.io.IOException;
-
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertThat;
diff --git a/jackson-annotations/src/test/java/com/baeldung/jackson/jsonproperty/JsonPropertyUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/jsonproperty/JsonPropertyUnitTest.java
similarity index 98%
rename from jackson-annotations/src/test/java/com/baeldung/jackson/jsonproperty/JsonPropertyUnitTest.java
rename to jackson-simple/src/test/java/com/baeldung/jackson/jsonproperty/JsonPropertyUnitTest.java
index 59622ff8b8..e0571465fb 100644
--- a/jackson-annotations/src/test/java/com/baeldung/jackson/jsonproperty/JsonPropertyUnitTest.java
+++ b/jackson-simple/src/test/java/com/baeldung/jackson/jsonproperty/JsonPropertyUnitTest.java
@@ -5,7 +5,7 @@ import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertThat;
import java.io.IOException;
-import java.util.List;
+
import org.junit.Test;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JavaReadWriteJsonExampleUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/objectmapper/JavaReadWriteJsonExampleUnitTest.java
similarity index 100%
rename from jackson/src/test/java/com/baeldung/jackson/objectmapper/JavaReadWriteJsonExampleUnitTest.java
rename to jackson-simple/src/test/java/com/baeldung/jackson/objectmapper/JavaReadWriteJsonExampleUnitTest.java
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/SerializationDeserializationFeatureUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/objectmapper/SerializationDeserializationFeatureUnitTest.java
similarity index 100%
rename from jackson/src/test/java/com/baeldung/jackson/objectmapper/SerializationDeserializationFeatureUnitTest.java
rename to jackson-simple/src/test/java/com/baeldung/jackson/objectmapper/SerializationDeserializationFeatureUnitTest.java
diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/serialization/ItemSerializerOnClass.java b/jackson-simple/src/test/java/com/baeldung/jackson/serialization/ItemSerializerOnClass.java
deleted file mode 100644
index 1fdf44e17c..0000000000
--- a/jackson-simple/src/test/java/com/baeldung/jackson/serialization/ItemSerializerOnClass.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.baeldung.jackson.serialization;
-
-import java.io.IOException;
-
-import com.baeldung.jackson.dtos.ItemWithSerializer;
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.fasterxml.jackson.databind.ser.std.StdSerializer;
-
-public class ItemSerializerOnClass extends StdSerializer {
-
- private static final long serialVersionUID = -1760959597313610409L;
-
- public ItemSerializerOnClass() {
- this(null);
- }
-
- public ItemSerializerOnClass(final Class t) {
- super(t);
- }
-
- @Override
- public final void serialize(final ItemWithSerializer value, final JsonGenerator jgen, final SerializerProvider provider) throws IOException, JsonProcessingException {
- jgen.writeStartObject();
- jgen.writeNumberField("id", value.id);
- jgen.writeStringField("itemName", value.itemName);
- jgen.writeNumberField("owner", value.owner.id);
- jgen.writeEndObject();
- }
-
-}
\ No newline at end of file
diff --git a/jackson-conversions-2/src/test/java/com/baeldung/jackson/unknownproperties/UnknownPropertiesUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/unknownproperties/UnknownPropertiesUnitTest.java
similarity index 100%
rename from jackson-conversions-2/src/test/java/com/baeldung/jackson/unknownproperties/UnknownPropertiesUnitTest.java
rename to jackson-simple/src/test/java/com/baeldung/jackson/unknownproperties/UnknownPropertiesUnitTest.java
diff --git a/jackson/src/test/resources/json_car.json b/jackson-simple/src/test/resources/json_car.json
similarity index 100%
rename from jackson/src/test/resources/json_car.json
rename to jackson-simple/src/test/resources/json_car.json
diff --git a/jackson/.gitignore b/jackson/.gitignore
deleted file mode 100644
index 83c05e60c8..0000000000
--- a/jackson/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-*.class
-
-#folders#
-/target
-/neoDb*
-/data
-/src/main/webapp/WEB-INF/classes
-*/META-INF/*
-
-# Packaged files #
-*.jar
-*.war
-*.ear
\ No newline at end of file
diff --git a/jackson/README.md b/jackson/README.md
index 72e82c26db..bcf8c3036f 100644
--- a/jackson/README.md
+++ b/jackson/README.md
@@ -7,13 +7,9 @@ This module contains articles about Jackson.
The "REST With Spring" Classes: http://bit.ly/restwithspring
### Relevant Articles:
-
-- [Jackson – Custom Serializer](https://www.baeldung.com/jackson-custom-serialization)
-- [Getting Started with Custom Deserialization in Jackson](https://www.baeldung.com/jackson-deserialization)
-- [Jackson JSON Tutorial](https://www.baeldung.com/jackson)
-- [Jackson vs Gson](https://www.baeldung.com/jackson-vs-gson)
- [Using Optional with Jackson](https://www.baeldung.com/jackson-optional)
-- [Serialize Only Fields that meet a Custom Criteria with Jackson](https://www.baeldung.com/jackson-serialize-field-custom-criteria)
-- [Intro to the Jackson ObjectMapper](https://www.baeldung.com/jackson-object-mapper-tutorial)
+- [Compare Two JSON Objects with Jackson](https://www.baeldung.com/jackson-compare-two-json-objects)
+- [Jackson vs Gson](https://www.baeldung.com/jackson-vs-gson)
+- [Jackson JSON Tutorial](https://www.baeldung.com/jackson)
- [Inheritance with Jackson](https://www.baeldung.com/jackson-inheritance)
-- More articles: [[next -->]](/../jackson-2)
+- [Working with Tree Model Nodes in Jackson](https://www.baeldung.com/jackson-json-node-tree-model)
diff --git a/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/ActorJackson.java b/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/ActorJackson.java
new file mode 100644
index 0000000000..b4b6d99447
--- /dev/null
+++ b/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/ActorJackson.java
@@ -0,0 +1,61 @@
+package com.baeldung.jackson.jacksonvsgson;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.TimeZone;
+
+public class ActorJackson {
+
+ private String imdbId;
+ private Date dateOfBirth;
+ private List filmography;
+
+ public ActorJackson() {
+ super();
+ }
+
+ public ActorJackson(String imdbId, Date dateOfBirth, List filmography) {
+ super();
+ this.imdbId = imdbId;
+ this.dateOfBirth = dateOfBirth;
+ this.filmography = filmography;
+ }
+
+ @Override
+ public String toString() {
+ return "ActorJackson [imdbId=" + imdbId + ", dateOfBirth=" + formatDateOfBirth() + ", filmography=" + filmography + "]";
+ }
+
+ public String getImdbId() {
+ return imdbId;
+ }
+
+ public void setImdbId(String imdbId) {
+ this.imdbId = imdbId;
+ }
+
+ public Date getDateOfBirth() {
+ return dateOfBirth;
+ }
+
+ public void setDateOfBirth(Date dateOfBirth) {
+ this.dateOfBirth = dateOfBirth;
+ }
+
+ public List getFilmography() {
+ return filmography;
+ }
+
+ public void setFilmography(List filmography) {
+ this.filmography = filmography;
+ }
+
+ private String formatDateOfBirth() {
+ final DateFormat formatter = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy", Locale.US);
+ formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
+ return formatter.format(dateOfBirth);
+ }
+}
diff --git a/jackson/src/main/java/com/baeldung/jackson/serialization/ActorJacksonSerializer.java b/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/ActorJacksonSerializer.java
similarity index 92%
rename from jackson/src/main/java/com/baeldung/jackson/serialization/ActorJacksonSerializer.java
rename to jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/ActorJacksonSerializer.java
index 2340de5957..837c837cf5 100644
--- a/jackson/src/main/java/com/baeldung/jackson/serialization/ActorJacksonSerializer.java
+++ b/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/ActorJacksonSerializer.java
@@ -1,11 +1,9 @@
-package com.baeldung.jackson.serialization;
+package com.baeldung.jackson.jacksonvsgson;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.stream.Collectors;
-import com.baeldung.jackson.entities.ActorJackson;
-
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
diff --git a/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/Movie.java b/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/Movie.java
new file mode 100644
index 0000000000..070d1bc2d4
--- /dev/null
+++ b/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/Movie.java
@@ -0,0 +1,50 @@
+package com.baeldung.jackson.jacksonvsgson;
+
+import java.util.List;
+
+public class Movie {
+
+ private String imdbId;
+ private String director;
+ private List actors;
+
+ public Movie(String imdbId, String director, List actors) {
+ super();
+ this.imdbId = imdbId;
+ this.director = director;
+ this.actors = actors;
+ }
+
+ public Movie() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return "Movie [imdbId=" + imdbId + ", director=" + director + ", actors=" + actors + "]";
+ }
+
+ public String getImdbId() {
+ return imdbId;
+ }
+
+ public void setImdbId(String imdbId) {
+ this.imdbId = imdbId;
+ }
+
+ public String getDirector() {
+ return director;
+ }
+
+ public void setDirector(String director) {
+ this.director = director;
+ }
+
+ public List getActors() {
+ return actors;
+ }
+
+ public void setActors(List actors) {
+ this.actors = actors;
+ }
+}
\ No newline at end of file
diff --git a/jackson/src/main/java/com/baeldung/jackson/entities/MovieWithNullValue.java b/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/MovieWithNullValue.java
similarity index 95%
rename from jackson/src/main/java/com/baeldung/jackson/entities/MovieWithNullValue.java
rename to jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/MovieWithNullValue.java
index 4b31196ff9..a0b013cfc3 100644
--- a/jackson/src/main/java/com/baeldung/jackson/entities/MovieWithNullValue.java
+++ b/jackson/src/main/java/com/baeldung/jackson/jacksonvsgson/MovieWithNullValue.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.entities;
+package com.baeldung.jackson.jacksonvsgson;
import com.fasterxml.jackson.annotation.JsonIgnore;
diff --git a/jackson-2/src/main/java/com/baeldung/jackson/node/JsonNodeIterator.java b/jackson/src/main/java/com/baeldung/jackson/node/JsonNodeIterator.java
similarity index 75%
rename from jackson-2/src/main/java/com/baeldung/jackson/node/JsonNodeIterator.java
rename to jackson/src/main/java/com/baeldung/jackson/node/JsonNodeIterator.java
index f582772587..dc1aa35aec 100644
--- a/jackson-2/src/main/java/com/baeldung/jackson/node/JsonNodeIterator.java
+++ b/jackson/src/main/java/com/baeldung/jackson/node/JsonNodeIterator.java
@@ -44,19 +44,19 @@ public class JsonNodeIterator {
}
-private void addFieldNameToYaml(StringBuilder yaml, String fieldName, int depth, boolean isFirstInArray) {
- if (yaml.length()>0) {
- yaml.append(NEW_LINE);
- int requiredDepth = (isFirstInArray) ? depth-1 : depth;
- for(int i = 0; i < requiredDepth; i++) {
- yaml.append(YAML_PREFIX);
- }
- if (isFirstInArray) {
- yaml.append(ARRAY_PREFIX);
+ private void addFieldNameToYaml(StringBuilder yaml, String fieldName, int depth, boolean isFirstInArray) {
+ if (yaml.length()>0) {
+ yaml.append(NEW_LINE);
+ int requiredDepth = (isFirstInArray) ? depth-1 : depth;
+ for(int i = 0; i < requiredDepth; i++) {
+ yaml.append(YAML_PREFIX);
+ }
+ if (isFirstInArray) {
+ yaml.append(ARRAY_PREFIX);
+ }
}
+ yaml.append(fieldName);
+ yaml.append(FIELD_DELIMITER);
}
- yaml.append(fieldName);
- yaml.append(FIELD_DELIMITER);
-}
}
diff --git a/jackson/src/main/java/com/baeldung/jackson/miscellaneous/mixin/Book.java b/jackson/src/main/java/com/baeldung/jackson/optionalwithjackson/Book.java
similarity index 89%
rename from jackson/src/main/java/com/baeldung/jackson/miscellaneous/mixin/Book.java
rename to jackson/src/main/java/com/baeldung/jackson/optionalwithjackson/Book.java
index fb961efe85..5b83b7efc3 100644
--- a/jackson/src/main/java/com/baeldung/jackson/miscellaneous/mixin/Book.java
+++ b/jackson/src/main/java/com/baeldung/jackson/optionalwithjackson/Book.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.miscellaneous.mixin;
+package com.baeldung.jackson.optionalwithjackson;
import java.util.Optional;
diff --git a/jackson/src/test/java/com/baeldung/jackson/deserialization/ItemDeserializerOnClass.java b/jackson/src/test/java/com/baeldung/jackson/deserialization/ItemDeserializerOnClass.java
deleted file mode 100644
index eaba9a7173..0000000000
--- a/jackson/src/test/java/com/baeldung/jackson/deserialization/ItemDeserializerOnClass.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.baeldung.jackson.deserialization;
-
-import java.io.IOException;
-
-import com.baeldung.jackson.dtos.ItemWithSerializer;
-import com.baeldung.jackson.dtos.User;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
-import com.fasterxml.jackson.databind.node.IntNode;
-
-public class ItemDeserializerOnClass extends StdDeserializer {
-
- private static final long serialVersionUID = 5579141241817332594L;
-
- public ItemDeserializerOnClass() {
- this(null);
- }
-
- public ItemDeserializerOnClass(final Class> vc) {
- super(vc);
- }
-
- /**
- * {"id":1,"itemNr":"theItem","owner":2}
- */
- @Override
- public ItemWithSerializer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException {
- final JsonNode node = jp.getCodec()
- .readTree(jp);
- final int id = (Integer) ((IntNode) node.get("id")).numberValue();
- final String itemName = node.get("itemName")
- .asText();
- final int userId = (Integer) ((IntNode) node.get("owner")).numberValue();
-
- return new ItemWithSerializer(id, itemName, new User(userId, null));
- }
-
-}
\ No newline at end of file
diff --git a/jackson/src/test/java/com/baeldung/jackson/deserialization/JacksonDeserializeUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/jacksonvsgson/JacksonDeserializeUnitTest.java
similarity index 95%
rename from jackson/src/test/java/com/baeldung/jackson/deserialization/JacksonDeserializeUnitTest.java
rename to jackson/src/test/java/com/baeldung/jackson/jacksonvsgson/JacksonDeserializeUnitTest.java
index dc055a8f9a..b6b2f44c42 100644
--- a/jackson/src/test/java/com/baeldung/jackson/deserialization/JacksonDeserializeUnitTest.java
+++ b/jackson/src/test/java/com/baeldung/jackson/jacksonvsgson/JacksonDeserializeUnitTest.java
@@ -1,9 +1,8 @@
-package com.baeldung.jackson.deserialization;
+package com.baeldung.jackson.jacksonvsgson;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import com.baeldung.jackson.entities.Movie;
import org.junit.Test;
import com.fasterxml.jackson.databind.ObjectMapper;
import static org.junit.Assert.assertEquals;
diff --git a/jackson/src/test/java/com/baeldung/jackson/serialization/JacksonSerializeUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/jacksonvsgson/JacksonSerializeUnitTest.java
similarity index 93%
rename from jackson/src/test/java/com/baeldung/jackson/serialization/JacksonSerializeUnitTest.java
rename to jackson/src/test/java/com/baeldung/jackson/jacksonvsgson/JacksonSerializeUnitTest.java
index a003c5b526..aff01cb52a 100644
--- a/jackson/src/test/java/com/baeldung/jackson/serialization/JacksonSerializeUnitTest.java
+++ b/jackson/src/test/java/com/baeldung/jackson/jacksonvsgson/JacksonSerializeUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.serialization;
+package com.baeldung.jackson.jacksonvsgson;
import java.io.IOException;
import java.text.ParseException;
@@ -6,9 +6,6 @@ import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.TimeZone;
-import com.baeldung.jackson.entities.ActorJackson;
-import com.baeldung.jackson.entities.Movie;
-import com.baeldung.jackson.entities.MovieWithNullValue;
import org.junit.Assert;
import org.junit.Test;
diff --git a/jackson-2/src/test/java/com/baeldung/jackson/json/compare/JsonCompareUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/jsoncompare/JsonCompareUnitTest.java
similarity index 99%
rename from jackson-2/src/test/java/com/baeldung/jackson/json/compare/JsonCompareUnitTest.java
rename to jackson/src/test/java/com/baeldung/jackson/jsoncompare/JsonCompareUnitTest.java
index 03d7c63e36..8c6b6031c3 100644
--- a/jackson-2/src/test/java/com/baeldung/jackson/json/compare/JsonCompareUnitTest.java
+++ b/jackson/src/test/java/com/baeldung/jackson/jsoncompare/JsonCompareUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.json.compare;
+package com.baeldung.jackson.jsoncompare;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
diff --git a/jackson-2/src/test/java/com/baeldung/jackson/node/ExampleStructure.java b/jackson/src/test/java/com/baeldung/jackson/node/ExampleStructure.java
similarity index 100%
rename from jackson-2/src/test/java/com/baeldung/jackson/node/ExampleStructure.java
rename to jackson/src/test/java/com/baeldung/jackson/node/ExampleStructure.java
diff --git a/jackson-2/src/test/java/com/baeldung/jackson/node/JsonNodeIteratorUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/node/JsonNodeIteratorUnitTest.java
similarity index 100%
rename from jackson-2/src/test/java/com/baeldung/jackson/node/JsonNodeIteratorUnitTest.java
rename to jackson/src/test/java/com/baeldung/jackson/node/JsonNodeIteratorUnitTest.java
diff --git a/jackson-2/src/test/java/com/baeldung/jackson/node/NodeBean.java b/jackson/src/test/java/com/baeldung/jackson/node/NodeBean.java
similarity index 100%
rename from jackson-2/src/test/java/com/baeldung/jackson/node/NodeBean.java
rename to jackson/src/test/java/com/baeldung/jackson/node/NodeBean.java
diff --git a/jackson-2/src/test/java/com/baeldung/jackson/node/NodeOperationUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/node/NodeOperationUnitTest.java
similarity index 100%
rename from jackson-2/src/test/java/com/baeldung/jackson/node/NodeOperationUnitTest.java
rename to jackson/src/test/java/com/baeldung/jackson/node/NodeOperationUnitTest.java
diff --git a/jackson/src/test/java/com/baeldung/jackson/miscellaneous/mixin/OptionalTypeUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/optionalwithjackson/OptionalTypeUnitTest.java
similarity index 97%
rename from jackson/src/test/java/com/baeldung/jackson/miscellaneous/mixin/OptionalTypeUnitTest.java
rename to jackson/src/test/java/com/baeldung/jackson/optionalwithjackson/OptionalTypeUnitTest.java
index dc807a84b8..ed9d53b003 100644
--- a/jackson/src/test/java/com/baeldung/jackson/miscellaneous/mixin/OptionalTypeUnitTest.java
+++ b/jackson/src/test/java/com/baeldung/jackson/optionalwithjackson/OptionalTypeUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.jackson.miscellaneous.mixin;
+package com.baeldung.jackson.optionalwithjackson;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/jackson/src/test/java/com/baeldung/jackson/sandbox/SandboxUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/sandbox/SandboxUnitTest.java
index 6f22e2fa01..fca8a2461e 100644
--- a/jackson/src/test/java/com/baeldung/jackson/sandbox/SandboxUnitTest.java
+++ b/jackson/src/test/java/com/baeldung/jackson/sandbox/SandboxUnitTest.java
@@ -26,6 +26,4 @@ public class SandboxUnitTest {
System.err.println(serialized);
}
- //
-
}
diff --git a/jackson/src/test/java/com/baeldung/jackson/test/UnitTestSuite.java b/jackson/src/test/java/com/baeldung/jackson/test/UnitTestSuite.java
index af99fed5d8..6096bc9961 100644
--- a/jackson/src/test/java/com/baeldung/jackson/test/UnitTestSuite.java
+++ b/jackson/src/test/java/com/baeldung/jackson/test/UnitTestSuite.java
@@ -7,9 +7,7 @@ import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({ // @formatter:off
- JacksonDeserializationUnitTest.class
- ,JacksonDeserializationUnitTest.class
- ,JacksonPrettyPrintUnitTest.class
+ JacksonPrettyPrintUnitTest.class
,SandboxUnitTest.class
}) // @formatter:on
public class UnitTestSuite {
diff --git a/jackson/src/test/java/com/baeldung/jackson/try1/JacksonDeserializationUnitTest.java b/jackson/src/test/java/com/baeldung/jackson/try1/JacksonDeserializationUnitTest.java
deleted file mode 100644
index 9fc195a8aa..0000000000
--- a/jackson/src/test/java/com/baeldung/jackson/try1/JacksonDeserializationUnitTest.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.baeldung.jackson.try1;
-
-import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
-
-import java.io.IOException;
-
-import com.baeldung.jackson.dtos.ItemWithSerializer;
-import org.junit.Test;
-
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class JacksonDeserializationUnitTest {
-
- @Test
- public final void givenDeserializerIsOnClass_whenDeserializingCustomRepresentation_thenCorrect() throws JsonParseException, JsonMappingException, IOException {
- final String json = "{\"id\":1,\"itemName\":\"theItem\",\"owner\":2}";
-
- final ItemWithSerializer readValue = new ObjectMapper().readValue(json, ItemWithSerializer.class);
- assertThat(readValue, notNullValue());
- }
-
-}
diff --git a/jackson/src/test/resources/.gitignore b/jackson/src/test/resources/.gitignore
deleted file mode 100644
index 83c05e60c8..0000000000
--- a/jackson/src/test/resources/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-*.class
-
-#folders#
-/target
-/neoDb*
-/data
-/src/main/webapp/WEB-INF/classes
-*/META-INF/*
-
-# Packaged files #
-*.jar
-*.war
-*.ear
\ No newline at end of file
diff --git a/jackson-2/src/test/resources/node_example.json b/jackson/src/test/resources/node_example.json
similarity index 100%
rename from jackson-2/src/test/resources/node_example.json
rename to jackson/src/test/resources/node_example.json
diff --git a/pom.xml b/pom.xml
index 7c46f29c74..d02d83f3de 100644
--- a/pom.xml
+++ b/pom.xml
@@ -499,12 +499,12 @@
immutables
jackson
- jackson-2
jackson-simple
jackson-annotations
jackson-exceptions
jackson-conversions
jackson-conversions-2
+ jackson-custom-conversions
java-collections-conversions
java-collections-conversions-2
java-collections-maps
@@ -1138,12 +1138,12 @@
immutables
jackson
- jackson-2
jackson-simple
jackson-annotations
jackson-exceptions
jackson-conversions
jackson-conversions-2
+ jackson-custom-conversions
java-collections-conversions
java-collections-conversions-2
java-collections-maps