Skip to content

Commit f1c5d89

Browse files
committed
use seralizer from createContextual as base deserializer
1 parent 02cc862 commit f1c5d89

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/main/java/com/codingrodent/jackson/crypto/EncryptedJsonDeserializer.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ of this software and associated documentation files (the "Software"), to deal
3535
*/
3636
public class EncryptedJsonDeserializer extends JsonDeserializer<Object> implements ContextualDeserializer {
3737
private final EncryptionService service;
38-
private final JsonDeserializer<Object> baseDeserializer;
38+
private final JsonDeserializer<?> baseDeserializer;
3939
private final BeanProperty property;
4040

41-
public EncryptedJsonDeserializer(final EncryptionService service, final JsonDeserializer<Object> baseDeserializer) {
41+
public EncryptedJsonDeserializer(final EncryptionService service, final JsonDeserializer<?> baseDeserializer) {
4242
this.service = service;
4343
this.baseDeserializer = baseDeserializer;
4444
this.property = null;
4545
}
4646

47-
public EncryptedJsonDeserializer(final EncryptionService service, final JsonDeserializer<Object> wrapped, final BeanProperty property) {
47+
public EncryptedJsonDeserializer(final EncryptionService service, final JsonDeserializer<?> wrapped, final BeanProperty property) {
4848
this.service = service;
4949
this.baseDeserializer = wrapped;
5050
this.property = property;
@@ -56,19 +56,20 @@ public EncryptedJsonDeserializer(final EncryptionService service, final JsonDese
5656
* Encrypted field deserializer
5757
*/
5858
@Override
59-
public Object deserialize(final JsonParser parser, final DeserializationContext context) throws JsonMappingException {
60-
JsonDeserializer<?> deserializer = baseDeserializer;
61-
if (deserializer instanceof ContextualDeserializer) {
62-
deserializer = ((ContextualDeserializer) deserializer).createContextual(context, property);
63-
}
64-
return service.decrypt(parser, deserializer, context, property != null ? property.getType() : null);
59+
public Object deserialize(final JsonParser parser, final DeserializationContext context) {
60+
return service.decrypt(parser, baseDeserializer, context, property != null ? property.getType() : null);
6561
}
6662

6763
/**
6864
* {@inheritDoc}
6965
*/
7066
@Override
71-
public JsonDeserializer<?> createContextual(final DeserializationContext context, final BeanProperty property) {
72-
return new EncryptedJsonDeserializer(service, baseDeserializer, property);
67+
public JsonDeserializer<?> createContextual(final DeserializationContext context, final BeanProperty property) throws JsonMappingException {
68+
JsonDeserializer<?> deserializer = baseDeserializer;
69+
if (deserializer instanceof ContextualDeserializer) {
70+
deserializer = ((ContextualDeserializer) deserializer).createContextual(context, property);
71+
}
72+
73+
return new EncryptedJsonDeserializer(service, deserializer, property);
7374
}
7475
}

0 commit comments

Comments
 (0)