Skip to content

Commit b3282a3

Browse files
committed
Revert "aligned over bson4jackson 2.8.0 which should fix weird date deserialization errors"
This reverts commit b1c4dd5.
1 parent 2469d34 commit b3282a3

File tree

5 files changed

+17
-32
lines changed

5 files changed

+17
-32
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484

8585
<!-- Mongo modules -->
8686
<mongo-java-driver.version>3.4.0</mongo-java-driver.version>
87-
<bson4jackson.version>2.8.0</bson4jackson.version>
87+
<bson4jackson.version>2.7.0</bson4jackson.version>
8888
<jongo.version>1.3.0</jongo.version>
8989
<de.flapdoodle.embed.version>1.42</de.flapdoodle.embed.version>
9090

restx-jongo-java8/src/main/java/restx/jongo/BsonJSR310Module.java

+5-12
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
package restx.jongo;
22

3-
import com.fasterxml.jackson.core.JsonGenerator;
43
import com.fasterxml.jackson.core.JsonParser;
54
import com.fasterxml.jackson.core.JsonProcessingException;
65
import com.fasterxml.jackson.databind.DeserializationContext;
76
import com.fasterxml.jackson.databind.JsonDeserializer;
8-
import com.fasterxml.jackson.databind.JsonSerializer;
97
import com.fasterxml.jackson.databind.SerializerProvider;
108
import com.fasterxml.jackson.databind.module.SimpleModule;
119
import de.undercouch.bson4jackson.BsonGenerator;
10+
import de.undercouch.bson4jackson.serializers.BsonSerializer;
1211

1312
import java.io.IOException;
1413
import java.time.Instant;
@@ -18,20 +17,14 @@ public class BsonJSR310Module extends SimpleModule {
1817
public BsonJSR310Module() {
1918
super("BsonJSR310Module");
2019

21-
addSerializer(Instant.class, new JsonSerializer<Instant>() {
20+
addSerializer(Instant.class, new BsonSerializer<Instant>() {
2221
@Override
23-
public void serialize(Instant date, JsonGenerator gen, SerializerProvider provider)
22+
public void serialize(Instant date, BsonGenerator bsonGenerator, SerializerProvider serializerProvider)
2423
throws IOException {
2524
if (date == null) {
26-
provider.defaultSerializeNull(gen);
25+
serializerProvider.defaultSerializeNull(bsonGenerator);
2726
} else {
28-
long epochMillis = date.toEpochMilli();
29-
if (gen instanceof BsonGenerator) {
30-
BsonGenerator bgen = (BsonGenerator)gen;
31-
bgen.writeDateTime(new Date(epochMillis));
32-
} else {
33-
gen.writeNumber(epochMillis);
34-
}
27+
bsonGenerator.writeDateTime(new Date(date.toEpochMilli()));
3528
}
3629
}
3730
});

restx-jongo/module.ivy

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<dependency org="com.fasterxml.jackson.core" name="jackson-annotations" rev="2.8.10" conf="default" />
2323
<dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.8.10" conf="default" />
2424
<dependency org="com.fasterxml.jackson.datatype" name="jackson-datatype-joda" rev="2.8.10" conf="default" />
25-
<dependency org="de.undercouch" name="bson4jackson" rev="2.8.0" conf="default" />
25+
<dependency org="de.undercouch" name="bson4jackson" rev="2.7.0" conf="default" />
2626
<dependency org="org.mongodb" name="mongo-java-driver" rev="3.4.0" conf="default" />
2727
<dependency org="org.jongo" name="jongo" rev="1.3.0" conf="default" />
2828
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.5" conf="default" />

restx-jongo/src/main/java/restx/jackson/BsonJodaTimeModule.java

+9-17
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
package restx.jackson;
22

3-
import com.fasterxml.jackson.core.JsonGenerator;
43
import com.fasterxml.jackson.core.JsonParser;
54
import com.fasterxml.jackson.core.JsonProcessingException;
65
import com.fasterxml.jackson.databind.DeserializationContext;
76
import com.fasterxml.jackson.databind.JsonDeserializer;
8-
import com.fasterxml.jackson.databind.JsonSerializer;
97
import com.fasterxml.jackson.databind.SerializerProvider;
108
import com.fasterxml.jackson.databind.module.SimpleModule;
119
import de.undercouch.bson4jackson.BsonGenerator;
12-
import org.joda.time.DateMidnight;
10+
import de.undercouch.bson4jackson.serializers.BsonSerializer;
1311
import org.joda.time.DateTime;
1412
import org.joda.time.DateTimeZone;
1513

@@ -25,31 +23,25 @@ public class BsonJodaTimeModule extends SimpleModule {
2523
public BsonJodaTimeModule() {
2624
super("BsonJodaTimeModule");
2725

28-
addSerializer(org.joda.time.DateMidnight.class, new JsonSerializer<DateMidnight>() {
26+
addSerializer(org.joda.time.DateMidnight.class, new BsonSerializer<org.joda.time.DateMidnight>() {
2927
@Override
30-
public void serialize(org.joda.time.DateMidnight date, JsonGenerator gen, SerializerProvider provider)
28+
public void serialize(org.joda.time.DateMidnight date, BsonGenerator bsonGenerator, SerializerProvider serializerProvider)
3129
throws IOException {
3230
if (date == null) {
33-
provider.defaultSerializeNull(gen);
34-
} else if (gen instanceof BsonGenerator) {
35-
BsonGenerator bgen = (BsonGenerator)gen;
36-
bgen.writeDateTime(date.toDate());
31+
serializerProvider.defaultSerializeNull(bsonGenerator);
3732
} else {
38-
gen.writeNumber(date.getMillis());
33+
bsonGenerator.writeDateTime(date.toDate());
3934
}
4035
}
4136
});
42-
addSerializer(DateTime.class, new JsonSerializer<DateTime>() {
37+
addSerializer(DateTime.class, new BsonSerializer<DateTime>() {
4338
@Override
44-
public void serialize(DateTime date, JsonGenerator gen, SerializerProvider provider)
39+
public void serialize(DateTime date, BsonGenerator bsonGenerator, SerializerProvider serializerProvider)
4540
throws IOException {
4641
if (date == null) {
47-
provider.defaultSerializeNull(gen);
48-
} else if (gen instanceof BsonGenerator) {
49-
BsonGenerator bgen = (BsonGenerator)gen;
50-
bgen.writeDateTime(date.toDate());
42+
serializerProvider.defaultSerializeNull(bsonGenerator);
5143
} else {
52-
gen.writeNumber(date.getMillis());
44+
bsonGenerator.writeDateTime(date.toDate());
5345
}
5446
}
5547
});

restx.build.properties.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"javax.inject.version": "1",
2929

3030
"mongo-java-driver.version": "3.4.0",
31-
"bson4jackson.version": "2.8.0",
31+
"bson4jackson.version": "2.7.0",
3232
"jongo.version": "1.3.0",
3333

3434
"servlet-api.version": "2.5",

0 commit comments

Comments
 (0)