Skip to content

Commit 3023317

Browse files
authored
Merge pull request eugenp#8247 from catalin-burcea/BAEL-19675
[BAEL-19675] - Move articles out of jackson part 2
2 parents 3de7c32 + 1a63ca1 commit 3023317

File tree

119 files changed

+1087
-469
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+1087
-469
lines changed

jackson-2/README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ This module contains articles about Jackson.
66
The "REST With Spring" Classes: http://bit.ly/restwithspring
77

88
### Relevant Articles:
9-
- [Mapping Multiple JSON Fields to a Single Java Field](https://www.baeldung.com/json-multiple-fields-single-java-field)
10-
- [How to Process YAML with Jackson](https://www.baeldung.com/jackson-yaml)
119
- [Working with Tree Model Nodes in Jackson](https://www.baeldung.com/jackson-json-node-tree-model)
12-
- [Converting JSON to CSV in Java](https://www.baeldung.com/java-converting-json-to-csv)
1310
- [Compare Two JSON Objects with Jackson](https://www.baeldung.com/jackson-compare-two-json-objects)
1411
- [Calling Default Serializer from Custom Serializer in Jackson](https://www.baeldung.com/jackson-call-default-serializer-from-custom-serializer)
1512
- More articles: [[<-- prev]](/../jackson)

jackson-2/pom.xml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,6 @@
1414

1515
<dependencies>
1616

17-
<!-- YAML -->
18-
<dependency>
19-
<groupId>com.fasterxml.jackson.dataformat</groupId>
20-
<artifactId>jackson-dataformat-yaml</artifactId>
21-
<version>${jackson.version}</version>
22-
</dependency>
23-
24-
<!-- CSV -->
25-
<dependency>
26-
<groupId>com.fasterxml.jackson.dataformat</groupId>
27-
<artifactId>jackson-dataformat-csv</artifactId>
28-
<version>${jackson.version}</version>
29-
</dependency>
30-
3117
<!-- Allow use of LocalDate -->
3218
<dependency>
3319
<groupId>com.fasterxml.jackson.datatype</groupId>

jackson-annotations/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java

Lines changed: 0 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import com.baeldung.jackson.ignore.dtos.MyDtoIgnoreField;
1919
import com.baeldung.jackson.ignore.dtos.MyDtoIgnoreFieldByName;
2020
import com.baeldung.jackson.ignore.dtos.MyDtoIgnoreNull;
21-
import com.baeldung.jackson.ignore.dtos.MyDtoNullKeySerializer;
2221
import com.fasterxml.jackson.annotation.JsonInclude.Include;
2322
import com.fasterxml.jackson.core.JsonGenerator;
2423
import com.fasterxml.jackson.core.JsonParseException;
@@ -191,88 +190,4 @@ public final void givenNullsIgnoredGlobally_whenWritingObjectWithNullField_thenI
191190
System.out.println(dtoAsString);
192191
}
193192

194-
// map
195-
196-
@Test
197-
public final void givenIgnoringMapNullValue_whenWritingMapObjectWithNullValue_thenIgnored() throws JsonProcessingException {
198-
final ObjectMapper mapper = new ObjectMapper();
199-
// mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);
200-
mapper.setSerializationInclusion(Include.NON_NULL);
201-
202-
final MyDto dtoObject1 = new MyDto();
203-
204-
final Map<String, MyDto> dtoMap = new HashMap<String, MyDto>();
205-
dtoMap.put("dtoObject1", dtoObject1);
206-
dtoMap.put("dtoObject2", null);
207-
208-
final String dtoMapAsString = mapper.writeValueAsString(dtoMap);
209-
210-
assertThat(dtoMapAsString, containsString("dtoObject1"));
211-
assertThat(dtoMapAsString, not(containsString("dtoObject2")));
212-
System.out.println(dtoMapAsString);
213-
}
214-
215-
@Test
216-
public final void givenIgnoringMapValueObjectWithNullField_whenWritingMapValueObjectWithNullField_thenIgnored() throws JsonProcessingException {
217-
final ObjectMapper mapper = new ObjectMapper();
218-
mapper.setSerializationInclusion(Include.NON_NULL);
219-
220-
final MyDto dtoObject = new MyDto();
221-
222-
final Map<String, MyDto> dtoMap = new HashMap<String, MyDto>();
223-
dtoMap.put("dtoObject", dtoObject);
224-
225-
final String dtoMapAsString = mapper.writeValueAsString(dtoMap);
226-
227-
assertThat(dtoMapAsString, containsString("dtoObject"));
228-
assertThat(dtoMapAsString, not(containsString("stringValue")));
229-
System.out.println(dtoMapAsString);
230-
}
231-
232-
@Test
233-
public final void givenAllowingMapObjectWithNullKey_whenWriting_thenCorrect() throws JsonProcessingException {
234-
final ObjectMapper mapper = new ObjectMapper();
235-
mapper.getSerializerProvider()
236-
.setNullKeySerializer(new MyDtoNullKeySerializer());
237-
238-
final MyDto dtoObject1 = new MyDto();
239-
dtoObject1.setStringValue("dtoObjectString1");
240-
final MyDto dtoObject2 = new MyDto();
241-
dtoObject2.setStringValue("dtoObjectString2");
242-
243-
final Map<String, MyDto> dtoMap = new HashMap<String, MyDto>();
244-
dtoMap.put(null, dtoObject1);
245-
dtoMap.put("obj2", dtoObject2);
246-
247-
final String dtoMapAsString = mapper.writeValueAsString(dtoMap);
248-
249-
System.out.println(dtoMapAsString);
250-
assertThat(dtoMapAsString, containsString("\"\""));
251-
assertThat(dtoMapAsString, containsString("dtoObjectString1"));
252-
assertThat(dtoMapAsString, containsString("obj2"));
253-
}
254-
255-
@Test
256-
public final void givenAllowingMapObjectOneNullKey_whenWritingMapObjectWithTwoNullKeys_thenOverride() throws JsonProcessingException {
257-
final ObjectMapper mapper = new ObjectMapper();
258-
mapper.getSerializerProvider()
259-
.setNullKeySerializer(new MyDtoNullKeySerializer());
260-
261-
final MyDto dtoObject1 = new MyDto();
262-
dtoObject1.setStringValue("dtoObject1String");
263-
264-
final MyDto dtoObject2 = new MyDto();
265-
dtoObject2.setStringValue("dtoObject2String");
266-
267-
final Map<String, MyDto> dtoMap = new HashMap<String, MyDto>();
268-
dtoMap.put(null, dtoObject1);
269-
dtoMap.put(null, dtoObject2);
270-
271-
final String dtoMapAsString = mapper.writeValueAsString(dtoMap);
272-
273-
assertThat(dtoMapAsString, not(containsString("dtoObject1String")));
274-
assertThat(dtoMapAsString, containsString("dtoObject2String"));
275-
System.out.println(dtoMapAsString);
276-
}
277-
278193
}

jackson-conversions-2/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## Jackson Conversions
2+
3+
This module contains articles about Jackson conversions.
4+
5+
### Relevant Articles:
6+
- [Mapping a Dynamic JSON Object with Jackson](https://www.baeldung.com/jackson-mapping-dynamic-object)
7+
- [Jackson Unmarshalling JSON with Unknown Properties](https://www.baeldung.com/jackson-deserialize-json-unknown-properties)
8+
- [Ignore Null Fields with Jackson](https://www.baeldung.com/jackson-ignore-null-fields)
9+
- [Mapping Multiple JSON Fields to a Single Java Field](https://www.baeldung.com/json-multiple-fields-single-java-field)
10+
- [Convert XML to JSON Using Jackson](https://www.baeldung.com/jackson-convert-xml-json)
11+
- [Converting JSON to CSV in Java](https://www.baeldung.com/java-converting-json-to-csv)
12+
- [How to Process YAML with Jackson](https://www.baeldung.com/jackson-yaml)
13+
- [Jackson Streaming API](https://www.baeldung.com/jackson-streaming-api)
14+
- More articles: [[<-- prev]](../jackson-conversions)

jackson-conversions-2/pom.xml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
<artifactId>jackson-conversions-2</artifactId>
5+
<version>0.0.1-SNAPSHOT</version>
6+
<name>jackson-conversions-2</name>
7+
8+
<parent>
9+
<groupId>com.baeldung</groupId>
10+
<artifactId>parent-java</artifactId>
11+
<version>0.0.1-SNAPSHOT</version>
12+
<relativePath>../parent-java</relativePath>
13+
</parent>
14+
15+
<dependencies>
16+
<dependency>
17+
<groupId>com.fasterxml.jackson.core</groupId>
18+
<artifactId>jackson-databind</artifactId>
19+
<version>${jackson.version}</version>
20+
</dependency>
21+
<!--jackson for xml -->
22+
<dependency>
23+
<groupId>com.fasterxml.jackson.dataformat</groupId>
24+
<artifactId>jackson-dataformat-xml</artifactId>
25+
<version>${jackson.version}</version>
26+
</dependency>
27+
<!-- YAML -->
28+
<dependency>
29+
<groupId>com.fasterxml.jackson.dataformat</groupId>
30+
<artifactId>jackson-dataformat-yaml</artifactId>
31+
<version>${jackson.version}</version>
32+
</dependency>
33+
<!-- Allow use of LocalDate -->
34+
<dependency>
35+
<groupId>com.fasterxml.jackson.datatype</groupId>
36+
<artifactId>jackson-datatype-jsr310</artifactId>
37+
<version>2.9.8</version>
38+
</dependency>
39+
<!-- CSV -->
40+
<dependency>
41+
<groupId>com.fasterxml.jackson.dataformat</groupId>
42+
<artifactId>jackson-dataformat-csv</artifactId>
43+
<version>${jackson.version}</version>
44+
</dependency>
45+
<dependency>
46+
<groupId>org.assertj</groupId>
47+
<artifactId>assertj-core</artifactId>
48+
<version>${assertj.version}</version>
49+
<scope>test</scope>
50+
</dependency>
51+
</dependencies>
52+
53+
<build>
54+
<finalName>jackson-conversions-2</finalName>
55+
<resources>
56+
<resource>
57+
<directory>src/main/resources</directory>
58+
<filtering>true</filtering>
59+
</resource>
60+
</resources>
61+
</build>
62+
63+
<properties>
64+
<assertj.version>3.11.0</assertj.version>
65+
</properties>
66+
67+
</project>

jackson-2/src/main/java/com/baeldung/jackson/csv/JsonCsvConverter.java renamed to jackson-conversions-2/src/main/java/com/baeldung/jackson/csv/JsonCsvConverter.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
import java.io.File;
44
import java.io.IOException;
55

6-
import com.baeldung.jackson.entities.OrderLine;
7-
import com.baeldung.jackson.mixin.OrderLineForCsv;
86
import com.fasterxml.jackson.databind.JsonNode;
97
import com.fasterxml.jackson.databind.MappingIterator;
108
import com.fasterxml.jackson.databind.ObjectMapper;

jackson-2/src/main/java/com/baeldung/jackson/entities/OrderLine.java renamed to jackson-conversions-2/src/main/java/com/baeldung/jackson/csv/OrderLine.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.baeldung.jackson.entities;
1+
package com.baeldung.jackson.csv;
22

33
import java.math.BigDecimal;
44

jackson-2/src/main/java/com/baeldung/jackson/mixin/OrderLineForCsv.java renamed to jackson-conversions-2/src/main/java/com/baeldung/jackson/csv/OrderLineForCsv.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.baeldung.jackson.mixin;
1+
package com.baeldung.jackson.csv;
22

33
import java.math.BigDecimal;
44

jackson/src/main/java/com/baeldung/jackson/deserialization/dynamicobject/Product.java renamed to jackson-conversions-2/src/main/java/com/baeldung/jackson/dynamicobject/Product.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.baeldung.jackson.deserialization.dynamicobject;
1+
package com.baeldung.jackson.dynamicobject;
22

33
import java.util.LinkedHashMap;
44
import java.util.Map;

jackson/src/main/java/com/baeldung/jackson/deserialization/dynamicobject/ProductJsonNode.java renamed to jackson-conversions-2/src/main/java/com/baeldung/jackson/dynamicobject/ProductJsonNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.baeldung.jackson.deserialization.dynamicobject;
1+
package com.baeldung.jackson.dynamicobject;
22

33
import com.fasterxml.jackson.databind.JsonNode;
44

0 commit comments

Comments
 (0)