Removes java 9+ methods and syntax

This commit is contained in:
spencergibb
2022-05-23 16:29:43 -04:00
parent 8ab9e37c9a
commit 483ffb68a7
2 changed files with 21 additions and 14 deletions

View File

@@ -20,6 +20,7 @@ import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -48,17 +49,19 @@ abstract class SerdeResolverUtils {
private static final Log LOG = LogFactory.getLog(SerdeResolverUtils.class);
/** Classnames of the standard built-in Serdes supported in {@link Serdes#serdeFrom(Class)}. */
private static final Set<String> STANDARD_SERDE_CLASSNAMES = Set.of(
Serdes.String().getClass().getName(),
Serdes.Short().getClass().getName(),
Serdes.Integer().getClass().getName(),
Serdes.Long().getClass().getName(),
Serdes.Float().getClass().getName(),
Serdes.Double().getClass().getName(),
Serdes.ByteArray().getClass().getName(),
Serdes.ByteBuffer().getClass().getName(),
Serdes.Bytes().getClass().getName(),
Serdes.UUID().getClass().getName());
private static final Set<String> STANDARD_SERDE_CLASSNAMES = new HashSet<>();
static {
STANDARD_SERDE_CLASSNAMES.add(Serdes.String().getClass().getName());
STANDARD_SERDE_CLASSNAMES.add(Serdes.Short().getClass().getName());
STANDARD_SERDE_CLASSNAMES.add(Serdes.Integer().getClass().getName());
STANDARD_SERDE_CLASSNAMES.add(Serdes.Long().getClass().getName());
STANDARD_SERDE_CLASSNAMES.add(Serdes.Float().getClass().getName());
STANDARD_SERDE_CLASSNAMES.add(Serdes.Double().getClass().getName());
STANDARD_SERDE_CLASSNAMES.add(Serdes.ByteArray().getClass().getName());
STANDARD_SERDE_CLASSNAMES.add(Serdes.ByteBuffer().getClass().getName());
STANDARD_SERDE_CLASSNAMES.add(Serdes.Bytes().getClass().getName());
STANDARD_SERDE_CLASSNAMES.add(Serdes.UUID().getClass().getName());
}
/**
* Return the {@code Serde<?>} to use for the specified type using the following steps until a match is found.
@@ -75,6 +78,7 @@ abstract class SerdeResolverUtils {
* @param fallbackSerde the serde to use when no type can be inferred
* @return serde to use for the target type or {@code fallbackSerde} as outlined in the method description
*/
@SuppressWarnings("unchecked")
static Serde<?> resolveForType(ConfigurableApplicationContext context, ResolvableType targetType, @Nullable Serde<?> fallbackSerde) {
Class<?> genericRawClazz = targetType.getRawClass();
@@ -103,7 +107,7 @@ abstract class SerdeResolverUtils {
// Use JsonSerde if type is not exactly Object
if (!genericRawClazz.isAssignableFrom((Object.class))) {
return new JsonSerde<>(genericRawClazz);
return new JsonSerde(genericRawClazz);
}
// Finally, just resort to using the fallback

View File

@@ -28,6 +28,7 @@ import org.apache.kafka.common.serialization.Serializer;
import org.apache.kafka.common.utils.Bytes;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -80,6 +81,7 @@ class SerdeResolverUtilsTests {
}
@Nested
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class NoMatchingSerdeBeans {
@ParameterizedTest
@@ -90,7 +92,7 @@ class SerdeResolverUtilsTests {
.isInstanceOf(expectedBuiltInSerde.getClass()));
}
static Stream<Arguments> kafkaStreamsBuiltInTypes() {
Stream<Arguments> kafkaStreamsBuiltInTypes() {
return Stream.of(
arguments(String.class, Serdes.String()),
arguments(Short.class, Serdes.Short()),
@@ -106,6 +108,7 @@ class SerdeResolverUtilsTests {
}
@Nested
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class ForNonKafkaStreamsBuiltInType {
@Test
@@ -123,7 +126,7 @@ class SerdeResolverUtilsTests {
.isInstanceOf(JsonSerde.class));
}
static Stream<Serde<?>> invalidFallbackSerdeProvider() {
Stream<Serde<?>> invalidFallbackSerdeProvider() {
return Stream.of(
Serdes.String(),
Serdes.Short(),