From eea000d034b4da342f13cd36cae6bba8ff2f1332 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Mon, 6 Mar 2023 17:19:55 +0100 Subject: [PATCH] Apply "instanceof pattern matching" in remainder of spring-r2dbc module See gh-30067 --- .../r2dbc/BadSqlGrammarException.java | 3 +-- .../r2dbc/connection/ConnectionFactoryUtils.java | 14 +++++++------- .../lookup/AbstractRoutingConnectionFactory.java | 10 +++++----- .../r2dbc/core/ConnectionFunction.java | 1 - .../r2dbc/core/NamedParameterExpander.java | 3 +-- .../r2dbc/core/NamedParameterUtils.java | 11 +++++------ 6 files changed, 19 insertions(+), 23 deletions(-) diff --git a/spring-r2dbc/src/main/java/org/springframework/r2dbc/BadSqlGrammarException.java b/spring-r2dbc/src/main/java/org/springframework/r2dbc/BadSqlGrammarException.java index 126a785316..b2b619eb4e 100644 --- a/spring-r2dbc/src/main/java/org/springframework/r2dbc/BadSqlGrammarException.java +++ b/spring-r2dbc/src/main/java/org/springframework/r2dbc/BadSqlGrammarException.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2020 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,6 @@ import io.r2dbc.spi.R2dbcException; import org.springframework.dao.InvalidDataAccessResourceUsageException; - /** * Exception thrown when SQL specified is invalid. Such exceptions always have a * {@link io.r2dbc.spi.R2dbcException} root cause. diff --git a/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/ConnectionFactoryUtils.java b/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/ConnectionFactoryUtils.java index e7638eda11..2effb153b8 100644 --- a/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/ConnectionFactoryUtils.java +++ b/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/ConnectionFactoryUtils.java @@ -301,13 +301,13 @@ public abstract class ConnectionFactoryUtils { * @return the innermost target Connection, or the passed-in one if not wrapped * @see Wrapped#unwrap() */ - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public static Connection getTargetConnection(Connection con) { - Connection conToUse = con; - while (conToUse instanceof Wrapped) { - conToUse = ((Wrapped) conToUse).unwrap(); + Object conToUse = con; + while (conToUse instanceof Wrapped wrapped) { + conToUse = wrapped.unwrap(); } - return conToUse; + return (Connection) conToUse; } /** @@ -321,9 +321,9 @@ public abstract class ConnectionFactoryUtils { private static int getConnectionSynchronizationOrder(ConnectionFactory connectionFactory) { int order = CONNECTION_SYNCHRONIZATION_ORDER; ConnectionFactory current = connectionFactory; - while (current instanceof DelegatingConnectionFactory) { + while (current instanceof DelegatingConnectionFactory delegatingConnectionFactory) { order--; - current = ((DelegatingConnectionFactory) current).getTargetConnectionFactory(); + current = delegatingConnectionFactory.getTargetConnectionFactory(); } return order; } diff --git a/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/lookup/AbstractRoutingConnectionFactory.java b/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/lookup/AbstractRoutingConnectionFactory.java index 60d8108695..ef285a5c47 100644 --- a/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/lookup/AbstractRoutingConnectionFactory.java +++ b/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/lookup/AbstractRoutingConnectionFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -168,11 +168,11 @@ public abstract class AbstractRoutingConnectionFactory implements ConnectionFact protected ConnectionFactory resolveSpecifiedConnectionFactory(Object connectionFactory) throws IllegalArgumentException { - if (connectionFactory instanceof ConnectionFactory) { - return (ConnectionFactory) connectionFactory; + if (connectionFactory instanceof ConnectionFactory factory) { + return factory; } - else if (connectionFactory instanceof String) { - return this.connectionFactoryLookup.getConnectionFactory((String) connectionFactory); + else if (connectionFactory instanceof String factoryName) { + return this.connectionFactoryLookup.getConnectionFactory(factoryName); } else { throw new IllegalArgumentException("Illegal connection factory value - " + diff --git a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/ConnectionFunction.java b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/ConnectionFunction.java index 69b370b57d..6fdde01237 100644 --- a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/ConnectionFunction.java +++ b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/ConnectionFunction.java @@ -20,7 +20,6 @@ import java.util.function.Function; import io.r2dbc.spi.Connection; - /** * Union type combining {@link Function} and {@link SqlProvider} to expose the SQL * that is related to the underlying action. The {@code SqlProvider} can support diff --git a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/NamedParameterExpander.java b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/NamedParameterExpander.java index 15b1bcd1fb..023ff06561 100644 --- a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/NamedParameterExpander.java +++ b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/NamedParameterExpander.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,6 @@ import java.util.List; import org.springframework.r2dbc.core.binding.BindMarkersFactory; import org.springframework.util.ConcurrentLruCache; - /** * SQL translation support allowing the use of named parameters * rather than native placeholders. diff --git a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/NamedParameterUtils.java b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/NamedParameterUtils.java index 66cf315d43..d3c6778320 100644 --- a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/NamedParameterUtils.java +++ b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/NamedParameterUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -299,8 +299,8 @@ abstract class NamedParameterUtils { NamedParameters.NamedParameter marker = markerHolder.getOrCreate(paramName); if (paramSource.hasValue(paramName)) { Parameter parameter = paramSource.getValue(paramName); - if (parameter.getValue() instanceof Collection c) { - Iterator entryIter = c.iterator(); + if (parameter.getValue() instanceof Collection collection) { + Iterator entryIter = collection.iterator(); int k = 0; int counter = 0; while (entryIter.hasNext()) { @@ -513,15 +513,14 @@ abstract class NamedParameterUtils { this.parameterSource = parameterSource; } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public void bind(BindTarget target, String identifier, Parameter parameter) { List bindMarkers = getBindMarkers(identifier); if (bindMarkers == null) { target.bind(identifier, parameter); return; } - if (parameter.getValue() instanceof Collection) { - Collection collection = (Collection) parameter.getValue(); + if (parameter.getValue() instanceof Collection collection) { Iterator iterator = collection.iterator(); Iterator markers = bindMarkers.iterator(); while (iterator.hasNext()) {