Skip to content

Commit 7e96e6a

Browse files
authored
Merge pull request #19031 from panos-kakos/JAVA-49493
[JAVA-49493]
2 parents e3d91cd + 6b8e1eb commit 7e96e6a

18 files changed

+208
-196
lines changed

jackson-simple/pom.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<dependencies>
1616
<!--jackson for xml -->
1717
<dependency>
18-
<groupId>com.fasterxml.jackson.dataformat</groupId>
18+
<groupId>tools.jackson.dataformat</groupId>
1919
<artifactId>jackson-dataformat-xml</artifactId>
2020
<version>${jackson.version}</version>
2121
</dependency>
@@ -31,4 +31,8 @@
3131
</resources>
3232
</build>
3333

34+
<properties>
35+
<jackson.version>3.0.3</jackson.version>
36+
</properties>
37+
3438
</project>

jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/CustomDateDeserializer.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,30 @@
11
package com.baeldung.jackson.annotation.date;
22

3-
import java.io.IOException;
43
import java.text.ParseException;
54
import java.text.SimpleDateFormat;
65
import java.util.Date;
76

8-
import com.fasterxml.jackson.core.JsonParser;
9-
import com.fasterxml.jackson.core.JsonProcessingException;
10-
import com.fasterxml.jackson.databind.DeserializationContext;
11-
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
7+
import tools.jackson.core.JsonParser;
8+
import tools.jackson.core.JacksonException;
9+
import tools.jackson.databind.DeserializationContext;
10+
import tools.jackson.databind.deser.std.StdDeserializer;
1211

1312
public class CustomDateDeserializer extends StdDeserializer<Date> {
1413

1514
private static final long serialVersionUID = -5451717385630622729L;
1615
private SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
1716

1817
public CustomDateDeserializer() {
19-
this(null);
18+
super(Date.class);
2019
}
2120

2221
public CustomDateDeserializer(final Class<?> vc) {
2322
super(vc);
2423
}
2524

2625
@Override
27-
public Date deserialize(final JsonParser jsonparser, final DeserializationContext context) throws IOException, JsonProcessingException {
28-
final String date = jsonparser.getText();
26+
public Date deserialize(final JsonParser jsonparser, final DeserializationContext context) throws JacksonException {
27+
final String date = jsonparser.getString();
2928
try {
3029
return formatter.parse(date);
3130
} catch (final ParseException e) {
Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,28 @@
11
package com.baeldung.jackson.annotation.date;
22

3-
import java.io.IOException;
43
import java.text.SimpleDateFormat;
54
import java.util.Date;
65

7-
import com.fasterxml.jackson.core.JsonGenerator;
8-
import com.fasterxml.jackson.core.JsonProcessingException;
9-
import com.fasterxml.jackson.databind.SerializerProvider;
10-
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
6+
import tools.jackson.core.JsonGenerator;
7+
import tools.jackson.core.JacksonException;
8+
import tools.jackson.databind.SerializationContext;
9+
import tools.jackson.databind.ser.std.StdSerializer;
1110

1211
public class CustomDateSerializer extends StdSerializer<Date> {
1312

1413
private static final long serialVersionUID = -2894356342227378312L;
1514
private SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
1615

1716
public CustomDateSerializer() {
18-
this(null);
17+
super(Date.class);
1918
}
2019

2120
public CustomDateSerializer(final Class<Date> t) {
2221
super(t);
2322
}
2423

2524
@Override
26-
public void serialize(final Date value, final JsonGenerator gen, final SerializerProvider arg2) throws IOException, JsonProcessingException {
25+
public void serialize(final Date value, final JsonGenerator gen, final SerializationContext arg2) throws JacksonException {
2726
gen.writeString(formatter.format(value));
2827
}
2928
}

jackson-simple/src/main/java/com/baeldung/jackson/annotation/date/EventWithSerializer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import java.util.Date;
44

5-
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
6-
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
5+
import tools.jackson.databind.annotation.JsonDeserialize;
6+
import tools.jackson.databind.annotation.JsonSerialize;
77

88
public class EventWithSerializer {
99
public String name;

jackson-simple/src/main/java/com/baeldung/jackson/annotation/deserialization/ItemDeserializerOnClass.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
package com.baeldung.jackson.annotation.deserialization;
22

3-
import java.io.IOException;
4-
53
import com.baeldung.jackson.annotation.dtos.ItemWithSerializer;
64
import com.baeldung.jackson.annotation.dtos.User;
7-
import com.fasterxml.jackson.core.JsonParser;
8-
import com.fasterxml.jackson.core.JsonProcessingException;
9-
import com.fasterxml.jackson.databind.DeserializationContext;
10-
import com.fasterxml.jackson.databind.JsonNode;
11-
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
12-
import com.fasterxml.jackson.databind.node.IntNode;
5+
import tools.jackson.core.JsonParser;
6+
import tools.jackson.core.JacksonException;
7+
import tools.jackson.databind.DeserializationContext;
8+
import tools.jackson.databind.JsonNode;
9+
import tools.jackson.databind.deser.std.StdDeserializer;
10+
import tools.jackson.databind.node.IntNode;
1311

1412
public class ItemDeserializerOnClass extends StdDeserializer<ItemWithSerializer> {
1513

1614
private static final long serialVersionUID = 5579141241817332594L;
1715

1816
public ItemDeserializerOnClass() {
19-
this(null);
17+
super(ItemWithSerializer.class);
2018
}
2119

2220
public ItemDeserializerOnClass(final Class<?> vc) {
@@ -27,8 +25,8 @@ public ItemDeserializerOnClass(final Class<?> vc) {
2725
* {"id":1,"itemNr":"theItem","owner":2}
2826
*/
2927
@Override
30-
public ItemWithSerializer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException {
31-
final JsonNode node = jp.getCodec()
28+
public ItemWithSerializer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws JacksonException {
29+
final JsonNode node = jp.objectReadContext()
3230
.readTree(jp);
3331
final int id = (Integer) ((IntNode) node.get("id")).numberValue();
3432
final String itemName = node.get("itemName")

jackson-simple/src/main/java/com/baeldung/jackson/annotation/dtos/ItemWithSerializer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import com.baeldung.jackson.annotation.deserialization.ItemDeserializerOnClass;
44
import com.baeldung.jackson.annotation.serialization.ItemSerializerOnClass;
55

6-
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
7-
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
6+
import tools.jackson.databind.annotation.JsonDeserialize;
7+
import tools.jackson.databind.annotation.JsonSerialize;
88

99
@JsonSerialize(using = ItemSerializerOnClass.class)
1010
@JsonDeserialize(using = ItemDeserializerOnClass.class)

jackson-simple/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializer.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
11
package com.baeldung.jackson.annotation.serialization;
22

3-
import java.io.IOException;
4-
53
import com.baeldung.jackson.annotation.dtos.Item;
6-
import com.fasterxml.jackson.core.JsonGenerator;
7-
import com.fasterxml.jackson.core.JsonProcessingException;
8-
import com.fasterxml.jackson.databind.SerializerProvider;
9-
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
4+
import tools.jackson.core.JsonGenerator;
5+
import tools.jackson.core.JacksonException;
6+
import tools.jackson.databind.SerializationContext;
7+
import tools.jackson.databind.ser.std.StdSerializer;
108

119
public class ItemSerializer extends StdSerializer<Item> {
1210

1311
private static final long serialVersionUID = 6739170890621978901L;
1412

1513
public ItemSerializer() {
16-
this(null);
14+
super(Item.class);
1715
}
1816

1917
public ItemSerializer(final Class<Item> t) {
2018
super(t);
2119
}
2220

2321
@Override
24-
public final void serialize(final Item value, final JsonGenerator jgen, final SerializerProvider provider) throws IOException, JsonProcessingException {
22+
public final void serialize(final Item value, final JsonGenerator jgen, final SerializationContext provider) throws JacksonException {
2523
jgen.writeStartObject();
26-
jgen.writeNumberField("id", value.id);
27-
jgen.writeStringField("itemName", value.itemName);
28-
jgen.writeNumberField("owner", value.owner.id);
24+
jgen.writeNumberProperty("id", value.id);
25+
jgen.writeStringProperty("itemName", value.itemName);
26+
jgen.writeNumberProperty("owner", value.owner.id);
2927
jgen.writeEndObject();
3028
}
3129

jackson-simple/src/main/java/com/baeldung/jackson/annotation/serialization/ItemSerializerOnClass.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
11
package com.baeldung.jackson.annotation.serialization;
22

3-
import java.io.IOException;
4-
53
import com.baeldung.jackson.annotation.dtos.ItemWithSerializer;
6-
import com.fasterxml.jackson.core.JsonGenerator;
7-
import com.fasterxml.jackson.core.JsonProcessingException;
8-
import com.fasterxml.jackson.databind.SerializerProvider;
9-
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
4+
import tools.jackson.core.JsonGenerator;
5+
import tools.jackson.core.JacksonException;
6+
import tools.jackson.databind.SerializationContext;
7+
import tools.jackson.databind.ser.std.StdSerializer;
108

119
public class ItemSerializerOnClass extends StdSerializer<ItemWithSerializer> {
1210

1311
private static final long serialVersionUID = -1760959597313610409L;
1412

1513
public ItemSerializerOnClass() {
16-
this(null);
14+
super(ItemWithSerializer.class);
1715
}
1816

1917
public ItemSerializerOnClass(final Class<ItemWithSerializer> t) {
2018
super(t);
2119
}
2220

2321
@Override
24-
public final void serialize(final ItemWithSerializer value, final JsonGenerator jgen, final SerializerProvider provider) throws IOException, JsonProcessingException {
22+
public final void serialize(final ItemWithSerializer value, final JsonGenerator jgen, final SerializationContext provider) throws JacksonException {
2523
jgen.writeStartObject();
26-
jgen.writeNumberField("id", value.id);
27-
jgen.writeStringField("itemName", value.itemName);
28-
jgen.writeNumberField("owner", value.owner.id);
24+
jgen.writeNumberProperty("id", value.id);
25+
jgen.writeStringProperty("itemName", value.itemName);
26+
jgen.writeNumberProperty("owner", value.owner.id);
2927
jgen.writeEndObject();
3028
}
3129

jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/CustomCarDeserializer.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,29 @@
66
import org.slf4j.LoggerFactory;
77

88
import com.baeldung.jackson.objectmapper.dto.Car;
9-
import com.fasterxml.jackson.core.JsonParser;
10-
import com.fasterxml.jackson.core.ObjectCodec;
11-
import com.fasterxml.jackson.databind.DeserializationContext;
12-
import com.fasterxml.jackson.databind.JsonNode;
13-
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
9+
import tools.jackson.core.JsonParser;
10+
import tools.jackson.core.ObjectReadContext;
11+
import tools.jackson.databind.DeserializationContext;
12+
import tools.jackson.databind.JsonNode;
13+
import tools.jackson.databind.deser.std.StdDeserializer;
1414

1515
public class CustomCarDeserializer extends StdDeserializer<Car> {
1616

1717
private static final long serialVersionUID = -5918629454846356161L;
1818
private final Logger Logger = LoggerFactory.getLogger(getClass());
1919

2020
public CustomCarDeserializer() {
21-
this(null);
21+
super(Car.class);
2222
}
2323

2424
public CustomCarDeserializer(final Class<?> vc) {
2525
super(vc);
2626
}
2727

2828
@Override
29-
public Car deserialize(final JsonParser parser, final DeserializationContext deserializer) throws IOException {
29+
public Car deserialize(final JsonParser parser, final DeserializationContext deserializer) {
3030
final Car car = new Car();
31-
final ObjectCodec codec = parser.getCodec();
31+
final ObjectReadContext codec = parser.objectReadContext();
3232
final JsonNode node = codec.readTree(parser);
3333
try {
3434
final JsonNode colorNode = node.get("color");

jackson-simple/src/main/java/com/baeldung/jackson/objectmapper/CustomCarSerializer.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,27 @@
33
import java.io.IOException;
44

55
import com.baeldung.jackson.objectmapper.dto.Car;
6-
import com.fasterxml.jackson.core.JsonGenerator;
7-
import com.fasterxml.jackson.core.JsonProcessingException;
8-
import com.fasterxml.jackson.databind.SerializerProvider;
9-
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
6+
import tools.jackson.core.JsonGenerator;
7+
import tools.jackson.core.JacksonException;
8+
import tools.jackson.databind.SerializationContext;
9+
import tools.jackson.databind.ser.std.StdSerializer;
1010

1111
public class CustomCarSerializer extends StdSerializer<Car> {
1212

1313
private static final long serialVersionUID = 1396140685442227917L;
1414

1515
public CustomCarSerializer() {
16-
this(null);
16+
super(Car.class);
1717
}
1818

1919
public CustomCarSerializer(final Class<Car> t) {
2020
super(t);
2121
}
2222

2323
@Override
24-
public void serialize(final Car car, final JsonGenerator jsonGenerator, final SerializerProvider serializer) throws IOException, JsonProcessingException {
24+
public void serialize(final Car car, final JsonGenerator jsonGenerator, final SerializationContext serializer) throws JacksonException {
2525
jsonGenerator.writeStartObject();
26-
jsonGenerator.writeStringField("model: ", car.getType());
26+
jsonGenerator.writeStringProperty("model: ", car.getType());
2727
jsonGenerator.writeEndObject();
2828
}
2929
}

0 commit comments

Comments
 (0)