Skip to content

Commit 265e55f

Browse files
authored
spring-projectsGH-2611: Remove MimeTypeJsonDeserializer
Fixes: spring-projects#2611 The `MimeTypeJsonDeserializer` was introduced a long time ago for backwards compatibility with old, unsupported, versions.
1 parent 3e3d92d commit 265e55f

File tree

1 file changed

+1
-43
lines changed

1 file changed

+1
-43
lines changed

spring-kafka/src/main/java/org/springframework/kafka/support/DefaultKafkaHeaderMapper.java

+1-43
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2017-2023 the original author or authors.
2+
* Copyright 2017-2024 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -34,17 +34,10 @@
3434
import org.springframework.messaging.MessageHeaders;
3535
import org.springframework.util.Assert;
3636
import org.springframework.util.ClassUtils;
37-
import org.springframework.util.MimeType;
3837

3938
import com.fasterxml.jackson.core.JsonProcessingException;
4039
import com.fasterxml.jackson.core.type.TypeReference;
41-
import com.fasterxml.jackson.databind.DeserializationContext;
42-
import com.fasterxml.jackson.databind.JsonNode;
4340
import com.fasterxml.jackson.databind.ObjectMapper;
44-
import com.fasterxml.jackson.databind.deser.std.StdNodeBasedDeserializer;
45-
import com.fasterxml.jackson.databind.module.SimpleModule;
46-
import com.fasterxml.jackson.databind.node.TextNode;
47-
import com.fasterxml.jackson.databind.type.TypeFactory;
4841

4942
/**
5043
* Default header mapper for Apache Kafka.
@@ -163,8 +156,6 @@ private DefaultKafkaHeaderMapper(boolean outbound, ObjectMapper objectMapper, St
163156
Assert.notNull(objectMapper, "'objectMapper' must not be null");
164157
Assert.noNullElements(patterns, "'patterns' must not have null elements");
165158
this.objectMapper = objectMapper;
166-
this.objectMapper
167-
.registerModule(new SimpleModule().addDeserializer(MimeType.class, new MimeTypeJsonDeserializer()));
168159
}
169160

170161
/**
@@ -426,39 +417,6 @@ protected boolean trusted(String requestedType) {
426417
return true;
427418
}
428419

429-
430-
/**
431-
* The {@link StdNodeBasedDeserializer} extension for {@link MimeType} deserialization.
432-
* It is presented here for backward compatibility when older producers send {@link MimeType}
433-
* headers as serialization version.
434-
*/
435-
private class MimeTypeJsonDeserializer extends StdNodeBasedDeserializer<MimeType> {
436-
437-
private static final long serialVersionUID = 1L;
438-
439-
MimeTypeJsonDeserializer() {
440-
super(MimeType.class);
441-
}
442-
443-
@Override
444-
public MimeType convert(JsonNode root, DeserializationContext ctxt) throws IOException {
445-
if (root instanceof TextNode) {
446-
return MimeType.valueOf(root.asText());
447-
}
448-
else {
449-
JsonNode type = root.get("type");
450-
JsonNode subType = root.get("subtype");
451-
JsonNode parameters = root.get("parameters");
452-
Map<String, String> params =
453-
DefaultKafkaHeaderMapper.this.objectMapper.readValue(parameters.traverse(),
454-
TypeFactory.defaultInstance()
455-
.constructMapType(HashMap.class, String.class, String.class));
456-
return new MimeType(type.asText(), subType.asText(), params);
457-
}
458-
}
459-
460-
}
461-
462420
/**
463421
* Represents a header that could not be decoded due to an untrusted type.
464422
*/

0 commit comments

Comments
 (0)