Browse Source

Java 17 instanceof pattern matching for modules (#82341)

Switch to Java 17 instanceof pattern matching for folders build-conventions through modules
Andrei Stefan 3 years ago
parent
commit
35a79bc7d4
23 changed files with 68 additions and 96 deletions
  1. 1 3
      build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/ResolveAllDependencies.java
  2. 1 2
      build-tools/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchNode.java
  3. 2 4
      client/rest-high-level/src/main/java/org/elasticsearch/client/RestHighLevelClient.java
  4. 1 2
      client/rest-high-level/src/test/java/org/elasticsearch/client/BulkProcessorRetryIT.java
  5. 1 2
      client/rest-high-level/src/test/java/org/elasticsearch/test/RequestMatcher.java
  6. 2 2
      libs/core/src/main/java/org/elasticsearch/jdk/JarHell.java
  7. 3 3
      libs/lz4/src/test/java/org/elasticsearch/lz4/ESLZ4Tests.java
  8. 2 2
      libs/nio/src/main/java/org/elasticsearch/nio/NioSelector.java
  9. 1 2
      libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/DiagnosticTrustManager.java
  10. 8 8
      libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/KeyStoreUtil.java
  11. 4 4
      libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/PemKeyConfig.java
  12. 4 4
      libs/x-content/src/main/java/org/elasticsearch/xcontent/support/MapXContentParser.java
  13. 1 2
      modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/SetProcessorTests.java
  14. 4 4
      modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/CustomReflectionObjectHandler.java
  15. 2 4
      modules/lang-painless/src/main/java/org/elasticsearch/painless/phase/DefaultIRTreeToASMBytesPhase.java
  16. 7 9
      modules/legacy-geo/src/test/java/org/elasticsearch/legacygeo/test/ElasticsearchGeoAssertions.java
  17. 1 2
      modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureQueryBuilder.java
  18. 9 11
      modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java
  19. 2 4
      modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java
  20. 2 4
      modules/reindex/src/main/java/org/elasticsearch/reindex/remote/RemoteRequestBuilders.java
  21. 2 4
      modules/reindex/src/main/java/org/elasticsearch/reindex/remote/RemoteScrollableHitSource.java
  22. 6 12
      modules/reindex/src/test/java/org/elasticsearch/reindex/AsyncBulkByScrollActionTests.java
  23. 2 2
      modules/repository-url/src/main/java/org/elasticsearch/common/blobstore/url/http/RetryingHttpInputStream.java

+ 1 - 3
build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/ResolveAllDependencies.java

@@ -14,7 +14,6 @@ import org.gradle.api.file.FileCollection;
 import org.gradle.api.model.ObjectFactory;
 import org.gradle.api.tasks.InputFiles;
 import org.gradle.api.tasks.TaskAction;
-import org.gradle.internal.deprecation.DeprecatableConfiguration;
 
 import java.util.Collection;
 import java.util.stream.Collectors;
@@ -50,8 +49,7 @@ public class ResolveAllDependencies extends DefaultTask {
         if (configuration.isCanBeResolved() == false) {
             return false;
         }
-        if (configuration instanceof org.gradle.internal.deprecation.DeprecatableConfiguration) {
-            var deprecatableConfiguration = (DeprecatableConfiguration) configuration;
+        if (configuration instanceof org.gradle.internal.deprecation.DeprecatableConfiguration deprecatableConfiguration) {
             if (deprecatableConfiguration.canSafelyBeResolved() == false) {
                 return false;
             }

+ 1 - 2
build-tools/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchNode.java

@@ -1209,8 +1209,7 @@ public class ElasticsearchNode implements TestClusterConfiguration {
                 }
             });
         } catch (UncheckedIOException e) {
-            if (e.getCause() instanceof NoSuchFileException) {
-                NoSuchFileException cause = (NoSuchFileException) e.getCause();
+            if (e.getCause()instanceof NoSuchFileException cause) {
                 // Ignore these files that are sometimes left behind by the JVM
                 if (cause.getFile() == null || cause.getFile().contains(".attach_pid") == false) {
                     throw new UncheckedIOException(cause);

+ 2 - 4
client/rest-high-level/src/main/java/org/elasticsearch/client/RestHighLevelClient.java

@@ -2355,8 +2355,7 @@ public class RestHighLevelClient implements Closeable {
 
             @Override
             public void onFailure(Exception exception) {
-                if (exception instanceof ResponseException) {
-                    ResponseException responseException = (ResponseException) exception;
+                if (exception instanceof ResponseException responseException) {
                     Response response = responseException.getResponse();
                     if (ignores.contains(response.getStatusLine().getStatusCode())) {
                         try {
@@ -2426,8 +2425,7 @@ public class RestHighLevelClient implements Closeable {
 
             @Override
             public void onFailure(Exception exception) {
-                if (exception instanceof ResponseException) {
-                    ResponseException responseException = (ResponseException) exception;
+                if (exception instanceof ResponseException responseException) {
                     Response response = responseException.getResponse();
                     if (RestStatus.NOT_FOUND.getStatus() == response.getStatusLine().getStatusCode()) {
                         actionListener.onResponse(Optional.empty());

+ 1 - 2
client/rest-high-level/src/test/java/org/elasticsearch/client/BulkProcessorRetryIT.java

@@ -87,8 +87,7 @@ public class BulkProcessorRetryIT extends ESRestHighLevelClientTestCase {
 
         boolean rejectedAfterAllRetries = false;
         for (Object response : responses) {
-            if (response instanceof BulkResponse) {
-                BulkResponse bulkResponse = (BulkResponse) response;
+            if (response instanceof BulkResponse bulkResponse) {
                 for (BulkItemResponse bulkItemResponse : bulkResponse.getItems()) {
                     if (bulkItemResponse.isFailed()) {
                         BulkItemResponse.Failure failure = bulkItemResponse.getFailure();

+ 1 - 2
client/rest-high-level/src/test/java/org/elasticsearch/test/RequestMatcher.java

@@ -27,8 +27,7 @@ public class RequestMatcher extends BaseMatcher<Request> {
 
     @Override
     public boolean matches(Object actual) {
-        if (actual instanceof Request) {
-            Request req = (Request) actual;
+        if (actual instanceof Request req) {
             return method.equals(req.getMethod()) && endpoint.equals(req.getEndpoint());
         }
         return false;

+ 2 - 2
libs/core/src/main/java/org/elasticsearch/jdk/JarHell.java

@@ -69,8 +69,8 @@ public class JarHell {
         ClassLoader loader = JarHell.class.getClassLoader();
         output.accept("java.class.path: " + System.getProperty("java.class.path"));
         output.accept("sun.boot.class.path: " + System.getProperty("sun.boot.class.path"));
-        if (loader instanceof URLClassLoader) {
-            output.accept("classloader urls: " + Arrays.toString(((URLClassLoader) loader).getURLs()));
+        if (loader instanceof URLClassLoader urlClassLoader) {
+            output.accept("classloader urls: " + Arrays.toString(urlClassLoader.getURLs()));
         }
         checkJarHell(parseClassPath(), output);
     }

+ 3 - 3
libs/lz4/src/test/java/org/elasticsearch/lz4/ESLZ4Tests.java

@@ -209,10 +209,10 @@ public class ESLZ4Tests extends AbstractLZ4TestCase {
         final int maxCompressedLength = tester.maxCompressedLength(data.length);
         final T compressed = tester.allocate(maxCompressedLength);
         final int compressedLen = tester.compress(compressor, original, compressed);
-        if (original instanceof ByteBuffer) {
-            assertEquals(data.length, ((ByteBuffer) original).position());
+        if (original instanceof ByteBuffer byteBuffer) {
+            assertEquals(data.length, byteBuffer.position());
             assertEquals(compressedLen, ((ByteBuffer) compressed).position());
-            ((ByteBuffer) original).rewind();
+            byteBuffer.rewind();
             ((ByteBuffer) compressed).rewind();
         }
 

+ 2 - 2
libs/nio/src/main/java/org/elasticsearch/nio/NioSelector.java

@@ -442,8 +442,8 @@ public class NioSelector implements Closeable {
             if (newChannel.isOpen()) {
                 eventHandler.handleRegistration(newChannel);
                 channelActive(newChannel);
-                if (newChannel instanceof SocketChannelContext) {
-                    attemptConnect((SocketChannelContext) newChannel, false);
+                if (newChannel instanceof SocketChannelContext socketChannelContext) {
+                    attemptConnect(socketChannelContext, false);
                 }
             } else {
                 eventHandler.registrationException(newChannel, new ClosedChannelException());

+ 1 - 2
libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/DiagnosticTrustManager.java

@@ -137,8 +137,7 @@ public final class DiagnosticTrustManager extends X509ExtendedTrustManager {
     }
 
     private SSLSession session(Socket socket) {
-        if (socket instanceof SSLSocket) {
-            final SSLSocket ssl = (SSLSocket) socket;
+        if (socket instanceof final SSLSocket ssl) {
             final SSLSession handshakeSession = ssl.getHandshakeSession();
             if (handshakeSession == null) {
                 return ssl.getSession();

+ 8 - 8
libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/KeyStoreUtil.java

@@ -146,8 +146,8 @@ public final class KeyStoreUtil {
         kmf.init(keyStore, password);
         KeyManager[] keyManagers = kmf.getKeyManagers();
         for (KeyManager keyManager : keyManagers) {
-            if (keyManager instanceof X509ExtendedKeyManager) {
-                return (X509ExtendedKeyManager) keyManager;
+            if (keyManager instanceof X509ExtendedKeyManager x509ExtendedKeyManager) {
+                return x509ExtendedKeyManager;
             }
         }
         throw new SslConfigException(
@@ -164,8 +164,8 @@ public final class KeyStoreUtil {
         tmf.init(trustStore);
         TrustManager[] trustManagers = tmf.getTrustManagers();
         for (TrustManager trustManager : trustManagers) {
-            if (trustManager instanceof X509ExtendedTrustManager) {
-                return (X509ExtendedTrustManager) trustManager;
+            if (trustManager instanceof X509ExtendedTrustManager x509ExtendedTrustManager) {
+                return x509ExtendedTrustManager;
             }
         }
         throw new SslConfigException(
@@ -231,8 +231,8 @@ public final class KeyStoreUtil {
         public X509Certificate getX509Certificate() {
             try {
                 final Certificate c = store.getCertificate(alias);
-                if (c instanceof X509Certificate) {
-                    return (X509Certificate) c;
+                if (c instanceof X509Certificate x509Certificate) {
+                    return x509Certificate;
                 } else {
                     return null;
                 }
@@ -261,8 +261,8 @@ public final class KeyStoreUtil {
         public PrivateKey getKey(char[] password) {
             try {
                 final Key key = store.getKey(alias, password);
-                if (key instanceof PrivateKey) {
-                    return (PrivateKey) key;
+                if (key instanceof PrivateKey privateKey) {
+                    return privateKey;
                 }
                 return null;
             } catch (GeneralSecurityException e) {

+ 4 - 4
libs/ssl-config/src/main/java/org/elasticsearch/common/ssl/PemKeyConfig.java

@@ -74,8 +74,8 @@ public final class PemKeyConfig implements SslKeyConfig {
         final List<StoredCertificate> info = new ArrayList<>(certificates.size());
         boolean first = true;
         for (Certificate cert : certificates) {
-            if (cert instanceof X509Certificate) {
-                info.add(new StoredCertificate((X509Certificate) cert, this.certificate, "PEM", null, first));
+            if (cert instanceof X509Certificate x509Certificate) {
+                info.add(new StoredCertificate(x509Certificate, this.certificate, "PEM", null, first));
             }
             first = false;
         }
@@ -105,8 +105,8 @@ public final class PemKeyConfig implements SslKeyConfig {
             return List.of();
         }
         final Certificate leafCertificate = certificates.get(0);
-        if (leafCertificate instanceof X509Certificate) {
-            return List.of(Tuple.tuple(getPrivateKey(keyPath), (X509Certificate) leafCertificate));
+        if (leafCertificate instanceof X509Certificate x509Certificate) {
+            return List.of(Tuple.tuple(getPrivateKey(keyPath), x509Certificate));
         } else {
             return List.of();
         }

+ 4 - 4
libs/x-content/src/main/java/org/elasticsearch/xcontent/support/MapXContentParser.java

@@ -58,8 +58,8 @@ public class MapXContentParser extends AbstractXContentParser {
 
     @Override
     protected boolean doBooleanValue() throws IOException {
-        if (iterator != null && iterator.currentValue() instanceof Boolean) {
-            return (Boolean) iterator.currentValue();
+        if (iterator != null && iterator.currentValue()instanceof Boolean aBoolean) {
+            return aBoolean;
         } else {
             throw new IllegalStateException("Cannot get boolean value for the current token " + currentToken());
         }
@@ -216,8 +216,8 @@ public class MapXContentParser extends AbstractXContentParser {
 
     @Override
     public byte[] binaryValue() throws IOException {
-        if (iterator != null && iterator.currentValue() instanceof byte[]) {
-            return (byte[]) iterator.currentValue();
+        if (iterator != null && iterator.currentValue()instanceof byte[] bytes) {
+            return bytes;
         } else {
             throw new IllegalStateException("Cannot get binary value for the current token " + currentToken());
         }

+ 1 - 2
modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/SetProcessorTests.java

@@ -182,8 +182,7 @@ public class SetProcessorTests extends ESTestCase {
     }
 
     private static void assertMapEquals(Object actual, Object expected) {
-        if (expected instanceof Map) {
-            Map<?, ?> expectedMap = (Map<?, ?>) expected;
+        if (expected instanceof Map<?, ?> expectedMap) {
             Map<?, ?> actualMap = (Map<?, ?>) actual;
             assertThat(actualMap.keySet().toArray(), arrayContainingInAnyOrder(expectedMap.keySet().toArray()));
             for (Map.Entry<?, ?> entry : actualMap.entrySet()) {

+ 4 - 4
modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/CustomReflectionObjectHandler.java

@@ -54,8 +54,8 @@ final class CustomReflectionObjectHandler extends ReflectionObjectHandler {
         public Object get(Object key) {
             if ("size".equals(key)) {
                 return size();
-            } else if (key instanceof Number) {
-                return Array.get(array, ((Number) key).intValue());
+            } else if (key instanceof Number number) {
+                return Array.get(array, number.intValue());
             }
             try {
                 int index = Integer.parseInt(key.toString());
@@ -112,8 +112,8 @@ final class CustomReflectionObjectHandler extends ReflectionObjectHandler {
         public Object get(Object key) {
             if ("size".equals(key)) {
                 return col.size();
-            } else if (key instanceof Number) {
-                return Iterables.get(col, ((Number) key).intValue());
+            } else if (key instanceof Number number) {
+                return Iterables.get(col, number.intValue());
             }
             try {
                 int index = Integer.parseInt(key.toString());

+ 2 - 4
modules/lang-painless/src/main/java/org/elasticsearch/painless/phase/DefaultIRTreeToASMBytesPhase.java

@@ -456,8 +456,7 @@ public class DefaultIRTreeToASMBytesPhase implements IRTreeVisitor<WriteScope> {
 
         if (irInitializerNode instanceof DeclarationBlockNode) {
             visit(irInitializerNode, writeScope);
-        } else if (irInitializerNode instanceof ExpressionNode) {
-            ExpressionNode irExpressionNode = (ExpressionNode) irInitializerNode;
+        } else if (irInitializerNode instanceof ExpressionNode irExpressionNode) {
 
             visit(irExpressionNode, writeScope);
             methodWriter.writePop(MethodWriter.getType(irExpressionNode.getDecorationValue(IRDExpressionType.class)).getSize());
@@ -1672,8 +1671,7 @@ public class DefaultIRTreeToASMBytesPhase implements IRTreeVisitor<WriteScope> {
             // handle the case for unknown functional interface
             // to hint at which values are the call's arguments
             // versus which values are captures
-            if (irArgumentNode instanceof DefInterfaceReferenceNode) {
-                DefInterfaceReferenceNode defInterfaceReferenceNode = (DefInterfaceReferenceNode) irArgumentNode;
+            if (irArgumentNode instanceof DefInterfaceReferenceNode defInterfaceReferenceNode) {
                 List<String> captureNames = defInterfaceReferenceNode.getDecorationValueOrDefault(
                     IRDCaptureNames.class,
                     Collections.emptyList()

+ 7 - 9
modules/legacy-geo/src/test/java/org/elasticsearch/legacygeo/test/ElasticsearchGeoAssertions.java

@@ -193,9 +193,7 @@ public class ElasticsearchGeoAssertions {
     public static void assertEquals(Object s1, Object s2) {
         if (s1 instanceof JtsGeometry && s2 instanceof JtsGeometry) {
             assertEquals((JtsGeometry) s1, (JtsGeometry) s2);
-        } else if (s1 instanceof JtsPoint && s2 instanceof JtsPoint) {
-            JtsPoint p1 = (JtsPoint) s1;
-            JtsPoint p2 = (JtsPoint) s2;
+        } else if (s1 instanceof JtsPoint p1 && s2 instanceof JtsPoint p2) {
             Assert.assertEquals(p1, p2);
         } else if (s1 instanceof ShapeCollection && s2 instanceof ShapeCollection) {
             assertEquals((ShapeCollection<?>) s1, (ShapeCollection<?>) s2);
@@ -203,17 +201,17 @@ public class ElasticsearchGeoAssertions {
             Assert.assertEquals(s1, s2);
         } else if (s1 instanceof RectangleImpl && s2 instanceof RectangleImpl) {
             Assert.assertEquals(s1, s2);
-        } else if (s1 instanceof org.apache.lucene.geo.Line[] && s2 instanceof org.apache.lucene.geo.Line[]) {
-            Assert.assertArrayEquals((org.apache.lucene.geo.Line[]) s1, (org.apache.lucene.geo.Line[]) s2);
-        } else if (s1 instanceof org.apache.lucene.geo.Polygon[] && s2 instanceof org.apache.lucene.geo.Polygon[]) {
-            Assert.assertArrayEquals((org.apache.lucene.geo.Polygon[]) s1, (org.apache.lucene.geo.Polygon[]) s2);
+        } else if (s1 instanceof org.apache.lucene.geo.Line[] lines1 && s2 instanceof org.apache.lucene.geo.Line[] lines2) {
+            Assert.assertArrayEquals(lines1, lines2);
+        } else if (s1 instanceof org.apache.lucene.geo.Polygon[] poly1 && s2 instanceof org.apache.lucene.geo.Polygon[] poly2) {
+            Assert.assertArrayEquals(poly1, poly2);
         } else if ((s1 instanceof org.apache.lucene.geo.Line && s2 instanceof org.apache.lucene.geo.Line)
             || (s1 instanceof org.apache.lucene.geo.Polygon && s2 instanceof org.apache.lucene.geo.Polygon)
             || (s1 instanceof org.apache.lucene.geo.Rectangle && s2 instanceof org.apache.lucene.geo.Rectangle)
             || (s1 instanceof GeoPoint && s2 instanceof GeoPoint)) {
                 Assert.assertEquals(s1, s2);
-            } else if (s1 instanceof Object[] && s2 instanceof Object[]) {
-                Assert.assertArrayEquals((Object[]) s1, (Object[]) s2);
+            } else if (s1 instanceof Object[] objects1 && s2 instanceof Object[] objects2) {
+                Assert.assertArrayEquals(objects1, objects2);
             } else if (s1 instanceof org.elasticsearch.geometry.Geometry && s2 instanceof org.elasticsearch.geometry.Geometry) {
                 Assert.assertEquals(s1, s2);
             } else {

+ 1 - 2
modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureQueryBuilder.java

@@ -381,8 +381,7 @@ public final class RankFeatureQueryBuilder extends AbstractQueryBuilder<RankFeat
     protected Query doToQuery(SearchExecutionContext context) throws IOException {
         final MappedFieldType ft = context.getFieldType(field);
 
-        if (ft instanceof RankFeatureFieldType) {
-            final RankFeatureFieldType fft = (RankFeatureFieldType) ft;
+        if (ft instanceof final RankFeatureFieldType fft) {
             return scoreFunction.toQuery(RankFeatureMetaFieldMapper.NAME, field, fft.positiveScoreImpact());
         } else if (ft == null) {
             final int lastDotIndex = field.lastIndexOf('.');

+ 9 - 11
modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java

@@ -509,8 +509,7 @@ public class PercolatorFieldMapper extends FieldMapper {
             throw new IllegalArgumentException("the [has_child] query is unsupported inside a percolator query");
         } else if (queryBuilder.getName().equals("has_parent")) {
             throw new IllegalArgumentException("the [has_parent] query is unsupported inside a percolator query");
-        } else if (queryBuilder instanceof BoolQueryBuilder) {
-            BoolQueryBuilder boolQueryBuilder = (BoolQueryBuilder) queryBuilder;
+        } else if (queryBuilder instanceof BoolQueryBuilder boolQueryBuilder) {
             List<QueryBuilder> clauses = new ArrayList<>();
             clauses.addAll(boolQueryBuilder.filter());
             clauses.addAll(boolQueryBuilder.must());
@@ -519,15 +518,14 @@ public class PercolatorFieldMapper extends FieldMapper {
             for (QueryBuilder clause : clauses) {
                 verifyQuery(clause);
             }
-        } else if (queryBuilder instanceof ConstantScoreQueryBuilder) {
-            verifyQuery(((ConstantScoreQueryBuilder) queryBuilder).innerQuery());
-        } else if (queryBuilder instanceof FunctionScoreQueryBuilder) {
-            verifyQuery(((FunctionScoreQueryBuilder) queryBuilder).query());
-        } else if (queryBuilder instanceof BoostingQueryBuilder) {
-            verifyQuery(((BoostingQueryBuilder) queryBuilder).negativeQuery());
-            verifyQuery(((BoostingQueryBuilder) queryBuilder).positiveQuery());
-        } else if (queryBuilder instanceof DisMaxQueryBuilder) {
-            DisMaxQueryBuilder disMaxQueryBuilder = (DisMaxQueryBuilder) queryBuilder;
+        } else if (queryBuilder instanceof ConstantScoreQueryBuilder constantScoreQueryBuilder) {
+            verifyQuery(constantScoreQueryBuilder.innerQuery());
+        } else if (queryBuilder instanceof FunctionScoreQueryBuilder functionScoreQueryBuilder) {
+            verifyQuery(functionScoreQueryBuilder.query());
+        } else if (queryBuilder instanceof BoostingQueryBuilder boostingQueryBuilder) {
+            verifyQuery(boostingQueryBuilder.negativeQuery());
+            verifyQuery(boostingQueryBuilder.positiveQuery());
+        } else if (queryBuilder instanceof DisMaxQueryBuilder disMaxQueryBuilder) {
             for (QueryBuilder innerQueryBuilder : disMaxQueryBuilder.innerQueries()) {
                 verifyQuery(innerQueryBuilder);
             }

+ 2 - 4
modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java

@@ -160,8 +160,7 @@ final class QueryAnalyzer {
                 return QueryVisitor.EMPTY_VISITOR;
             }
             int minimumShouldMatchValue = 0;
-            if (parent instanceof BooleanQuery) {
-                BooleanQuery bq = (BooleanQuery) parent;
+            if (parent instanceof BooleanQuery bq) {
                 if (bq.getMinimumNumberShouldMatch() == 0
                     && bq.clauses().stream().anyMatch(c -> c.getOccur() == Occur.MUST || c.getOccur() == Occur.FILTER)) {
                     return QueryVisitor.EMPTY_VISITOR;
@@ -198,8 +197,7 @@ final class QueryAnalyzer {
 
         @Override
         public void consumeTermsMatching(Query query, String field, Supplier<ByteRunAutomaton> automaton) {
-            if (query instanceof TermInSetQuery) {
-                TermInSetQuery q = (TermInSetQuery) query;
+            if (query instanceof TermInSetQuery q) {
                 PrefixCodedTerms.TermIterator ti = q.getTermData().iterator();
                 BytesRef term;
                 Set<QueryExtraction> qe = new HashSet<>();

+ 2 - 4
modules/reindex/src/main/java/org/elasticsearch/reindex/remote/RemoteRequestBuilders.java

@@ -75,8 +75,7 @@ final class RemoteRequestBuilders {
             // Detect if we should use search_type=scan rather than a sort
             if (remoteVersion.before(Version.fromId(2010099))) {
                 for (SortBuilder<?> sort : searchRequest.source().sorts()) {
-                    if (sort instanceof FieldSortBuilder) {
-                        FieldSortBuilder f = (FieldSortBuilder) sort;
+                    if (sort instanceof FieldSortBuilder f) {
                         if (f.getFieldName().equals(FieldSortBuilder.DOC_FIELD_NAME)) {
                             useScan = true;
                             break;
@@ -174,8 +173,7 @@ final class RemoteRequestBuilders {
     }
 
     private static String sortToUri(SortBuilder<?> sort) {
-        if (sort instanceof FieldSortBuilder) {
-            FieldSortBuilder f = (FieldSortBuilder) sort;
+        if (sort instanceof FieldSortBuilder f) {
             return f.getFieldName() + ":" + f.order();
         }
         throw new IllegalArgumentException("Unsupported sort [" + sort + "]");

+ 2 - 4
modules/reindex/src/main/java/org/elasticsearch/reindex/remote/RemoteScrollableHitSource.java

@@ -119,8 +119,7 @@ public class RemoteScrollableHitSource extends ScrollableHitSource {
             }
 
             private void logFailure(Exception e) {
-                if (e instanceof ResponseException) {
-                    ResponseException re = (ResponseException) e;
+                if (e instanceof ResponseException re) {
                     if (remoteVersion.before(Version.fromId(2000099)) && re.getResponse().getStatusLine().getStatusCode() == 404) {
                         logger.debug(
                             (Supplier<?>) () -> new ParameterizedMessage(
@@ -217,8 +216,7 @@ public class RemoteScrollableHitSource extends ScrollableHitSource {
                 public void onFailure(Exception e) {
                     try (ThreadContext.StoredContext ctx = contextSupplier.get()) {
                         assert ctx != null; // eliminates compiler warning
-                        if (e instanceof ResponseException) {
-                            ResponseException re = (ResponseException) e;
+                        if (e instanceof ResponseException re) {
                             int statusCode = re.getResponse().getStatusLine().getStatusCode();
                             e = wrapExceptionToPreserveStatus(statusCode, re.getResponse().getEntity(), re);
                             if (RestStatus.TOO_MANY_REQUESTS.getStatus() == statusCode) {

+ 6 - 12
modules/reindex/src/test/java/org/elasticsearch/reindex/AsyncBulkByScrollActionTests.java

@@ -1068,8 +1068,7 @@ public class AsyncBulkByScrollActionTests extends ESTestCase {
                 lastSearch.set(new RequestAndListener<>((SearchRequest) request, (ActionListener<SearchResponse>) responseActionListener));
                 return;
             }
-            if (request instanceof SearchScrollRequest) {
-                SearchScrollRequest scroll = (SearchScrollRequest) request;
+            if (request instanceof SearchScrollRequest scroll) {
                 boolean newRequest = usedScolls.add(scroll);
                 assertTrue("We can't reuse scroll requests", newRequest);
                 if (scrollAttempts.incrementAndGet() <= scrollsToReject) {
@@ -1079,14 +1078,12 @@ public class AsyncBulkByScrollActionTests extends ESTestCase {
                 lastScroll.set(new RequestAndListener<>(scroll, (ActionListener<SearchResponse>) responseActionListener));
                 return;
             }
-            if (request instanceof ClearScrollRequest) {
-                ClearScrollRequest clearScroll = (ClearScrollRequest) request;
+            if (request instanceof ClearScrollRequest clearScroll) {
                 scrollsCleared.addAll(clearScroll.getScrollIds());
                 responseActionListener.onResponse((Response) new ClearScrollResponse(true, clearScroll.getScrollIds().size()));
                 return;
             }
-            if (request instanceof BulkRequest) {
-                BulkRequest bulk = (BulkRequest) request;
+            if (request instanceof BulkRequest bulk) {
                 int toReject;
                 if (bulksAttempts.incrementAndGet() > bulksToReject) {
                     toReject = -1;
@@ -1098,8 +1095,7 @@ public class AsyncBulkByScrollActionTests extends ESTestCase {
                     DocWriteRequest<?> item = bulk.requests().get(i);
                     DocWriteResponse response;
                     ShardId shardId = new ShardId(new Index(item.index(), "uuid"), 0);
-                    if (item instanceof IndexRequest) {
-                        IndexRequest index = (IndexRequest) item;
+                    if (item instanceof IndexRequest index) {
                         response = new IndexResponse(
                             shardId,
                             index.id() == null ? "dummy_id" : index.id(),
@@ -1108,8 +1104,7 @@ public class AsyncBulkByScrollActionTests extends ESTestCase {
                             randomIntBetween(0, Integer.MAX_VALUE),
                             true
                         );
-                    } else if (item instanceof UpdateRequest) {
-                        UpdateRequest update = (UpdateRequest) item;
+                    } else if (item instanceof UpdateRequest update) {
                         response = new UpdateResponse(
                             shardId,
                             update.id(),
@@ -1118,8 +1113,7 @@ public class AsyncBulkByScrollActionTests extends ESTestCase {
                             randomIntBetween(0, Integer.MAX_VALUE),
                             Result.CREATED
                         );
-                    } else if (item instanceof DeleteRequest) {
-                        DeleteRequest delete = (DeleteRequest) item;
+                    } else if (item instanceof DeleteRequest delete) {
                         response = new DeleteResponse(
                             shardId,
                             delete.id(),

+ 2 - 2
modules/repository-url/src/main/java/org/elasticsearch/common/blobstore/url/http/RetryingHttpInputStream.java

@@ -252,8 +252,8 @@ class RetryingHttpInputStream extends InputStream {
             });
         } catch (PrivilegedActionException e) {
             final Throwable cause = e.getCause();
-            if (cause instanceof IOException) {
-                throw (IOException) cause;
+            if (cause instanceof IOException ioException) {
+                throw ioException;
             }
             throw new IOException(getErrorMessage(), e);
         } catch (Exception e) {