From b212db9f4c3e575ede043965e9ae63c5a86b1162 Mon Sep 17 00:00:00 2001 From: Andriy Redko Date: Wed, 3 Jan 2024 17:04:03 -0500 Subject: [PATCH] Revert "[Backport] [2.x] Restore support for Java 8 (#767) (#777)" This reverts commit 081a17e61a4674779775bc8ab8c0b7397924c967. Signed-off-by: Andriy Redko --- .../workflows/test-integration-unreleased.yml | 1 - .../client/opensearch/cat/CatRequestBase.java | 4 +- .../client/transport/TransportOptions.java | 7 +-- .../transport/aws/AwsSdk2Transport.java | 58 +++++++------------ .../ApacheHttpClient5Transport.java | 10 +--- .../_types/mapping/KnnVectorMethodTest.java | 4 +- .../core/GetMappingsResponseTest.java | 40 +++++++------ .../opensearch/experiments/ParsingTests.java | 28 ++++----- .../integTest/aws/AwsSdk2BulkRequestIT.java | 4 +- .../integTest/aws/AwsSdk2SearchIT.java | 9 +-- .../aws/AwsSdk2TransportTestCase.java | 18 +++--- .../client/opensearch/model/EnumTest.java | 6 +- .../httpclient5/ResponseExceptionTest.java | 2 +- .../HeapBufferedAsyncEntityConsumerTest.java | 18 +++--- 14 files changed, 91 insertions(+), 118 deletions(-) diff --git a/.github/workflows/test-integration-unreleased.yml b/.github/workflows/test-integration-unreleased.yml index 2c0d59a450..8cee43c124 100644 --- a/.github/workflows/test-integration-unreleased.yml +++ b/.github/workflows/test-integration-unreleased.yml @@ -18,7 +18,6 @@ jobs: - { opensearch_ref: '1.x', java: 11 } - { opensearch_ref: '2.x', java: 11 } - { opensearch_ref: '2.x', java: 17 } - - { opensearch_ref: '2.x', java: 21 } - { opensearch_ref: 'main', java: 11 } - { opensearch_ref: 'main', java: 17 } - { opensearch_ref: 'main', java: 21 } diff --git a/java-client/src/main/java/org/opensearch/client/opensearch/cat/CatRequestBase.java b/java-client/src/main/java/org/opensearch/client/opensearch/cat/CatRequestBase.java index 173ddb1f49..92372d2693 100644 --- a/java-client/src/main/java/org/opensearch/client/opensearch/cat/CatRequestBase.java +++ b/java-client/src/main/java/org/opensearch/client/opensearch/cat/CatRequestBase.java @@ -61,10 +61,10 @@ public CatRequestBase(CatRequestBaseBuilder builder) { protected final Map queryParameters() { Map params = new HashMap<>(); - if (headers != null && !headers.trim().isEmpty()) { + if (headers != null && !headers.isBlank()) { params.put("h", headers); } - if (sort != null && !sort.trim().isEmpty()) { + if (sort != null && !sort.isBlank()) { params.put("s", sort); } params.put("format", "json"); diff --git a/java-client/src/main/java/org/opensearch/client/transport/TransportOptions.java b/java-client/src/main/java/org/opensearch/client/transport/TransportOptions.java index a2223447a1..18c9d51065 100644 --- a/java-client/src/main/java/org/opensearch/client/transport/TransportOptions.java +++ b/java-client/src/main/java/org/opensearch/client/transport/TransportOptions.java @@ -32,7 +32,6 @@ package org.opensearch.client.transport; -import java.util.AbstractMap; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -99,7 +98,7 @@ public Builder addHeader(String name, String value) { if (headers.isEmpty()) { headers = new ArrayList<>(); } - headers.add(new AbstractMap.SimpleEntry<>(name, value)); + headers.add(Map.entry(name, value)); return this; } @@ -136,8 +135,8 @@ class DefaultImpl implements TransportOptions { private final Function, Boolean> onWarnings; protected DefaultImpl(BuilderImpl builder) { - this.headers = builder.headers.isEmpty() ? Collections.emptyList() : new ArrayList<>(builder.headers); - this.params = builder.queryParameters.isEmpty() ? Collections.emptyMap() : new HashMap<>(builder.queryParameters); + this.headers = builder.headers.isEmpty() ? Collections.emptyList() : List.copyOf(builder.headers); + this.params = builder.queryParameters.isEmpty() ? Collections.emptyMap() : Map.copyOf(builder.queryParameters); this.onWarnings = builder.onWarnings; } diff --git a/java-client/src/main/java/org/opensearch/client/transport/aws/AwsSdk2Transport.java b/java-client/src/main/java/org/opensearch/client/transport/aws/AwsSdk2Transport.java index 2269b8e13b..2e4145f3bb 100644 --- a/java-client/src/main/java/org/opensearch/client/transport/aws/AwsSdk2Transport.java +++ b/java-client/src/main/java/org/opensearch/client/transport/aws/AwsSdk2Transport.java @@ -13,17 +13,16 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; -import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URISyntaxException; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; -import java.util.function.Supplier; import java.util.zip.GZIPInputStream; import javax.annotation.CheckForNull; import javax.annotation.Nonnull; @@ -262,12 +261,11 @@ private OpenSearchRequestBodyBuffer prepareRequestBody( .map(o -> o instanceof AwsSdk2TransportOptions ? ((AwsSdk2TransportOptions) o) : null) .map(AwsSdk2TransportOptions::mapper) .orElse(defaultMapper); - final int maxUncompressedSize = or( - Optional.ofNullable(options) - .map(o -> o instanceof AwsSdk2TransportOptions ? ((AwsSdk2TransportOptions) o) : null) - .map(AwsSdk2TransportOptions::requestCompressionSize), - () -> Optional.ofNullable(transportOptions.requestCompressionSize()) - ).orElse(DEFAULT_REQUEST_COMPRESSION_SIZE); + final int maxUncompressedSize = Optional.ofNullable(options) + .map(o -> o instanceof AwsSdk2TransportOptions ? ((AwsSdk2TransportOptions) o) : null) + .map(AwsSdk2TransportOptions::requestCompressionSize) + .or(() -> Optional.ofNullable(transportOptions.requestCompressionSize())) + .orElse(DEFAULT_REQUEST_COMPRESSION_SIZE); OpenSearchRequestBodyBuffer buffer = new OpenSearchRequestBodyBuffer(mapper, maxUncompressedSize); buffer.addContent(request); @@ -282,7 +280,7 @@ private SdkHttpFullRequest prepareRequest( Endpoint endpoint, @CheckForNull TransportOptions options, @CheckForNull OpenSearchRequestBodyBuffer body - ) throws UnsupportedEncodingException { + ) { SdkHttpFullRequest.Builder req = SdkHttpFullRequest.builder().method(SdkHttpMethod.fromValue(endpoint.method(request))); StringBuilder url = new StringBuilder(); @@ -295,9 +293,9 @@ private SdkHttpFullRequest prepareRequest( Map params = endpoint.queryParameters(request); if (params != null && !params.isEmpty()) { char sep = '?'; - for (Map.Entry ent : params.entrySet()) { + for (var ent : params.entrySet()) { url.append(sep).append(ent.getKey()).append('='); - url.append(URLEncoder.encode(ent.getValue(), "UTF-8")); + url.append(URLEncoder.encode(ent.getValue(), StandardCharsets.UTF_8)); sep = '&'; } } @@ -323,24 +321,22 @@ private SdkHttpFullRequest prepareRequest( req.putHeader("x-amz-content-sha256", "required"); } - boolean responseCompression = or( - Optional.ofNullable(options) - .map(o -> o instanceof AwsSdk2TransportOptions ? ((AwsSdk2TransportOptions) o) : null) - .map(AwsSdk2TransportOptions::responseCompression), - () -> Optional.ofNullable(transportOptions.responseCompression()) - ).orElse(Boolean.TRUE); + boolean responseCompression = Optional.ofNullable(options) + .map(o -> o instanceof AwsSdk2TransportOptions ? ((AwsSdk2TransportOptions) o) : null) + .map(AwsSdk2TransportOptions::responseCompression) + .or(() -> Optional.ofNullable(transportOptions.responseCompression())) + .orElse(Boolean.TRUE); if (responseCompression) { req.putHeader("Accept-Encoding", "gzip"); } else { req.removeHeader("Accept-Encoding"); } - final AwsCredentialsProvider credentials = or( - Optional.ofNullable(options) - .map(o -> o instanceof AwsSdk2TransportOptions ? ((AwsSdk2TransportOptions) o) : null) - .map(AwsSdk2TransportOptions::credentials), - () -> Optional.ofNullable(transportOptions.credentials()) - ).orElse(DefaultCredentialsProvider.create()); + final AwsCredentialsProvider credentials = Optional.ofNullable(options) + .map(o -> o instanceof AwsSdk2TransportOptions ? ((AwsSdk2TransportOptions) o) : null) + .map(AwsSdk2TransportOptions::credentials) + .or(() -> Optional.ofNullable(transportOptions.credentials())) + .orElse(DefaultCredentialsProvider.create()); Aws4SignerParams signerParams = Aws4SignerParams.builder() .awsCredentials(credentials.resolveCredentials()) @@ -350,7 +346,7 @@ private SdkHttpFullRequest prepareRequest( return Aws4Signer.create().sign(req.build(), signerParams); } - private void applyOptionsParams(StringBuilder url, TransportOptions options) throws UnsupportedEncodingException { + private void applyOptionsParams(StringBuilder url, TransportOptions options) { if (options == null) { return; } @@ -359,7 +355,7 @@ private void applyOptionsParams(StringBuilder url, TransportOptions options) thr char sep = url.indexOf("?") < 0 ? '?' : '&'; for (Map.Entry param : params.entrySet()) { url.append(sep).append(param.getKey()).append('='); - url.append(URLEncoder.encode(param.getValue(), "UTF-8")); + url.append(URLEncoder.encode(param.getValue(), StandardCharsets.UTF_8)); sep = '?'; } } @@ -528,16 +524,4 @@ private ResponseT parseResponse( } } } - - private static Optional or(Optional opt, Supplier> supplier) { - Objects.requireNonNull(opt); - Objects.requireNonNull(supplier); - if (opt.isPresent()) { - return opt; - } else { - @SuppressWarnings("unchecked") - Optional r = (Optional) supplier.get(); - return Objects.requireNonNull(r); - } - } } diff --git a/java-client/src/main/java/org/opensearch/client/transport/httpclient5/ApacheHttpClient5Transport.java b/java-client/src/main/java/org/opensearch/client/transport/httpclient5/ApacheHttpClient5Transport.java index 28be09ae05..c4142d7f85 100644 --- a/java-client/src/main/java/org/opensearch/client/transport/httpclient5/ApacheHttpClient5Transport.java +++ b/java-client/src/main/java/org/opensearch/client/transport/httpclient5/ApacheHttpClient5Transport.java @@ -932,15 +932,9 @@ public long getContentLength() { if (chunkedEnabled.get()) { return -1L; } else { - long size = 0; - final byte[] buf = new byte[8192]; - int nread = 0; - + long size; try (InputStream is = getContent()) { - // read to EOF which may read more or less than buffer size - while ((nread = is.read(buf)) > 0) { - size += nread; - } + size = is.readAllBytes().length; } catch (IOException ex) { size = -1L; } diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/_types/mapping/KnnVectorMethodTest.java b/java-client/src/test/java/org/opensearch/client/opensearch/_types/mapping/KnnVectorMethodTest.java index abe3e5812a..538eef9d15 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/_types/mapping/KnnVectorMethodTest.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/_types/mapping/KnnVectorMethodTest.java @@ -12,7 +12,7 @@ import jakarta.json.stream.JsonParser; import java.io.StringReader; -import java.util.Collections; +import java.util.Map; import junit.framework.TestCase; import org.junit.Test; import org.opensearch.client.json.JsonData; @@ -30,7 +30,7 @@ public void testCreateKnnVectorMethodWithAll() { KnnVectorMethod knnVectorMethod = new KnnVectorMethod.Builder().name("hnsw") .spaceType("l2") .engine("nmslib") - .parameters(Collections.singletonMap("ef_construction", JsonData.of(128))) + .parameters(Map.of("ef_construction", JsonData.of(128))) .build(); assertEquals("hnsw", knnVectorMethod.name()); assertEquals("l2", knnVectorMethod.spaceType()); diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/core/GetMappingsResponseTest.java b/java-client/src/test/java/org/opensearch/client/opensearch/core/GetMappingsResponseTest.java index 38f0f3fe31..9f72b6cca0 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/core/GetMappingsResponseTest.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/core/GetMappingsResponseTest.java @@ -2,7 +2,6 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import jakarta.json.stream.JsonParser; import java.io.StringReader; import java.util.Collections; import java.util.HashMap; @@ -13,9 +12,7 @@ import org.opensearch.client.json.jsonb.JsonbJsonpMapper; import org.opensearch.client.opensearch._types.mapping.IcuCollationKeywordProperty; import org.opensearch.client.opensearch._types.mapping.Property; -import org.opensearch.client.opensearch._types.mapping.TypeMapping; import org.opensearch.client.opensearch.indices.GetTemplateResponse; -import org.opensearch.client.opensearch.indices.TemplateMapping; public class GetMappingsResponseTest extends Assert { @@ -39,27 +36,32 @@ public void deserialize_IcuCollationKeywordExists_propertyDeserializes() throws icuCollationConfig.put("strength", "quaternary"); icuCollationConfig.put("variable_top", "$"); - final Map mappingTemplateMap = new HashMap<>(); - mappingTemplateMap.put("aliases", Collections.emptyMap()); - mappingTemplateMap.put("index_patterns", Collections.singletonList("test-pattern*")); - mappingTemplateMap.put( - "mappings", - Collections.singletonMap("properties", Collections.singletonMap("icu_test_field", icuCollationConfig)) + mappingTemplate.put( + "test-index", + Map.of( + "aliases", + Collections.emptyMap(), + "index_patterns", + Collections.singletonList("test-pattern*"), + "mappings", + Map.of("properties", Map.of("icu_test_field", icuCollationConfig)), + "order", + 0, + "settings", + Collections.emptyMap(), + "version", + 1 + ) ); - mappingTemplateMap.put("order", 0); - mappingTemplateMap.put("settings", Collections.emptyMap()); - mappingTemplateMap.put("version", 1); - mappingTemplate.put("test-index", mappingTemplateMap); - final JsonpMapper mapper = new JsonbJsonpMapper(); final String indexTemplate = new ObjectMapper().writeValueAsString(mappingTemplate); - final JsonParser parser = mapper.jsonProvider().createParser(new StringReader(indexTemplate)); + final var parser = mapper.jsonProvider().createParser(new StringReader(indexTemplate)); final GetTemplateResponse response = GetTemplateResponse._DESERIALIZER.deserialize(parser, mapper); - final TemplateMapping template = response.get("test-index"); - final TypeMapping mappings = template.mappings(); - final Map properties = mappings.properties(); - final Property property = properties.get("icu_test_field"); + final var template = response.get("test-index"); + final var mappings = template.mappings(); + final var properties = mappings.properties(); + final var property = properties.get("icu_test_field"); final IcuCollationKeywordProperty icu = property.icuCollationKeyword(); assertEquals(property._kind(), Property.Kind.IcuCollationKeyword); diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/experiments/ParsingTests.java b/java-client/src/test/java/org/opensearch/client/opensearch/experiments/ParsingTests.java index 6963f82f89..ab46a8418d 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/experiments/ParsingTests.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/experiments/ParsingTests.java @@ -32,7 +32,7 @@ package org.opensearch.client.opensearch.experiments; -import java.util.Arrays; +import java.util.List; import java.util.Map; import org.junit.Test; import org.opensearch.client.opensearch._types.Time; @@ -76,13 +76,13 @@ public void testFoo() { @Test public void testIndexSettingsTranslogOptionsParsing() { - final IndexSettings indexSettings = IndexSettings.of( + var indexSettings = IndexSettings.of( _1 -> _1.translog( Translog.of(tr -> tr.syncInterval(Time.of(t -> t.time("10s"))).durability("async").flushThresholdSize("256mb")) ) ); - final String str = toJson(indexSettings); + var str = toJson(indexSettings); assertEquals("{\"translog\":{\"durability\":\"async\",\"flush_threshold_size\":\"256mb\"," + "\"sync_interval\":\"10s\"}}", str); IndexSettings deserialized = fromJson(str, IndexSettings._DESERIALIZER); @@ -90,7 +90,7 @@ public void testIndexSettingsTranslogOptionsParsing() { assertEquals(indexSettings.translog().durability(), deserialized.translog().durability()); assertEquals(indexSettings.translog().flushThresholdSize(), deserialized.translog().flushThresholdSize()); - final String deprecatedForm = "{\"translog\":{\"sync_interval\":\"10s\"},\"translog.durability\":\"async\",\"translog" + var deprecatedForm = "{\"translog\":{\"sync_interval\":\"10s\"},\"translog.durability\":\"async\",\"translog" + ".flush_threshold_size\":\"256mb\"}"; IndexSettings deprecatedDeserialized = fromJson(deprecatedForm, IndexSettings._DESERIALIZER); assertEquals(indexSettings.translog().syncInterval().time(), deprecatedDeserialized.translog().syncInterval().time()); @@ -101,7 +101,7 @@ public void testIndexSettingsTranslogOptionsParsing() { @Test public void testIndexSettingsMappingParsing() { - final IndexSettingsMapping mapping = IndexSettingsMapping.of( + var mapping = IndexSettingsMapping.of( b -> b.totalFields(d -> d.limit(1L)) .depth(d -> d.limit(2L)) .nestedFields(d -> d.limit(3L)) @@ -109,14 +109,14 @@ public void testIndexSettingsMappingParsing() { .fieldNameLength(d -> d.limit(5L)) ); - final String str = toJson(mapping); + var str = toJson(mapping); assertEquals( "{\"total_fields\":{\"limit\":1},\"depth\":{\"limit\":2},\"nested_fields\":{\"limit\":3}," + "\"nested_objects\":{\"limit\":4},\"field_name_length\":{\"limit\":5}}", str ); - final IndexSettingsMapping deserialized = fromJson(str, IndexSettingsMapping._DESERIALIZER); + var deserialized = fromJson(str, IndexSettingsMapping._DESERIALIZER); assertEquals(mapping.totalFields().limit(), deserialized.totalFields().limit()); assertEquals(mapping.depth().limit(), deserialized.depth().limit()); assertEquals(mapping.nestedFields().limit(), deserialized.nestedFields().limit()); @@ -159,7 +159,7 @@ public void testSmartcn_StopFilter() { @Test public void testCjk_Analyzer() { - final Analyzer analyzer = new Analyzer.Builder().cjk(b -> b.stopwords(Arrays.asList("a", "b", "c")).stopwordsPath("path")).build(); + final Analyzer analyzer = new Analyzer.Builder().cjk(b -> b.stopwords(List.of("a", "b", "c")).stopwordsPath("path")).build(); assertTrue(analyzer.isCjk()); @@ -280,7 +280,7 @@ public void testTermvectorsResponseOptionals() { @Test public void testIndexSettingsIndexing() { - final IndexSettingsIndexing indexing = IndexSettingsIndexing.of( + var indexing = IndexSettingsIndexing.of( is -> is.slowlog( s -> s.level("info") .source(0) @@ -295,14 +295,14 @@ public void testIndexSettingsIndexing() { ) ); - final String str = toJson(indexing); + var str = toJson(indexing); assertEquals( "{\"slowlog\":{\"level\":\"info\",\"source\":0,\"threshold\":{\"index\":{" + "\"warn\":\"5000ms\",\"info\":\"1000ms\",\"debug\":\"500ms\",\"trace\":\"200ms\"}}}}", str ); - final IndexSettingsIndexing deserialized = fromJson(str, IndexSettingsIndexing._DESERIALIZER); + var deserialized = fromJson(str, IndexSettingsIndexing._DESERIALIZER); assertEquals(indexing.slowlog().level(), deserialized.slowlog().level()); assertEquals(indexing.slowlog().source(), deserialized.slowlog().source()); assertEquals(indexing.slowlog().threshold().index().debug().time(), deserialized.slowlog().threshold().index().debug().time()); @@ -315,7 +315,7 @@ public void testIndexSettingsIndexing() { @Test public void testIndexSettingsSearch() { - final IndexSettingsSearch search = IndexSettingsSearch.of( + var search = IndexSettingsSearch.of( is -> is.slowlog( s -> s.level("info") .threshold( @@ -335,7 +335,7 @@ public void testIndexSettingsSearch() { ).idle(id -> id.after(a -> a.time("5s"))) ); - final String str = toJson(search); + var str = toJson(search); assertEquals( "{\"idle\":{\"after\":\"5s\"},\"slowlog\":{\"level\":\"info\"," + "\"threshold\":{\"query\":{\"warn\":\"5000ms\",\"info\":\"1000ms\",\"debug\":\"500ms\"," @@ -344,7 +344,7 @@ public void testIndexSettingsSearch() { str ); - final IndexSettingsSearch deserialized = fromJson(str, IndexSettingsSearch._DESERIALIZER); + var deserialized = fromJson(str, IndexSettingsSearch._DESERIALIZER); assertEquals(search.slowlog().level(), deserialized.slowlog().level()); assertEquals(search.slowlog().threshold().query().debug().time(), deserialized.slowlog().threshold().query().debug().time()); assertEquals(search.slowlog().threshold().query().info().time(), deserialized.slowlog().threshold().query().info().time()); diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2BulkRequestIT.java b/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2BulkRequestIT.java index c49277182d..759909cddb 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2BulkRequestIT.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2BulkRequestIT.java @@ -9,7 +9,7 @@ package org.opensearch.client.opensearch.integTest.aws; import java.util.ArrayList; -import java.util.Collections; +import java.util.List; import org.junit.Assert; import org.junit.Test; import org.opensearch.client.opensearch.OpenSearchClient; @@ -43,7 +43,7 @@ public void testBulkRequest() throws Exception { Query query = Query.of(qb -> qb.match(mb -> mb.field("title").query(fv -> fv.stringValue("Document")))); final SearchRequest.Builder searchReq = new SearchRequest.Builder().allowPartialSearchResults(false) - .index(Collections.singletonList(TEST_INDEX)) + .index(List.of(TEST_INDEX)) .size(10) .source(sc -> sc.fetch(false)) .ignoreThrottled(false) diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2SearchIT.java b/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2SearchIT.java index 7ec5b1f654..343c1f18d1 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2SearchIT.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2SearchIT.java @@ -8,7 +8,6 @@ package org.opensearch.client.opensearch.integTest.aws; -import java.util.Arrays; import java.util.List; import java.util.concurrent.CompletableFuture; import org.junit.Assert; @@ -91,7 +90,7 @@ void testClientAsync(boolean async) throws Exception { CompletableFuture> r1 = query(client, "NotPresent", null); CompletableFuture> r2 = query(client, "Document", null); CompletableFuture> r3 = query(client, "1", null); - return CompletableFuture.allOf(r1, r2, r3).thenApply(u2 -> Arrays.asList(r1.getNow(null), r2.getNow(null), r3.getNow(null))); + return CompletableFuture.allOf(r1, r2, r3).thenApply(u2 -> List.of(r1.getNow(null), r2.getNow(null), r3.getNow(null))); }).get(); SearchResponse response = results.get(0); @@ -115,9 +114,7 @@ private CompletableFuture addDoc(OpenSearchAsyncClient client, St try { return client.index(req.build()); } catch (Exception e) { - final CompletableFuture failed = new CompletableFuture<>(); - failed.completeExceptionally(e); - return failed; + return CompletableFuture.failedFuture(e); } } @@ -127,7 +124,7 @@ public void testDoubleWrappedException() throws Exception { resetTestIndex(false); // attempt to create the same index a second time OpenSearchIndicesClient client = getIndexesClient(false, null, null); - final CreateIndexRequest.Builder req = new CreateIndexRequest.Builder().index(TEST_INDEX); + var req = new CreateIndexRequest.Builder().index(TEST_INDEX); Exception exception = Assert.assertThrows(OpenSearchException.class, () -> { client.create(req.build()); }); // error message contains the actual error, not a generic [http_exception] Assert.assertTrue(exception.getMessage().contains("[resource_already_exists_exception]")); diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2TransportTestCase.java b/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2TransportTestCase.java index 79c4985b81..a1ec172c41 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2TransportTestCase.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/integTest/aws/AwsSdk2TransportTestCase.java @@ -12,7 +12,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import java.io.IOException; -import java.util.Collections; +import java.util.List; import java.util.Objects; import java.util.concurrent.CompletableFuture; import javax.annotation.CheckForNull; @@ -209,14 +209,14 @@ public void resetTestIndex(boolean async) throws Exception { } } if (indexExists) { - client.delete(b -> b.index(Collections.singletonList(TEST_INDEX))); + client.delete(b -> b.index(List.of(TEST_INDEX))); } - final CreateIndexRequest.Builder req = new CreateIndexRequest.Builder().index(TEST_INDEX); + var req = new CreateIndexRequest.Builder().index(TEST_INDEX); client.create(req.build()); } protected SearchResponse query(OpenSearchClient client, String title, String text) throws Exception { - final Query query = Query.of(qb -> { + var query = Query.of(qb -> { if (title != null) { qb.match(mb -> mb.field("title").query(vb -> vb.stringValue(title))); } @@ -226,7 +226,7 @@ protected SearchResponse query(OpenSearchClient client, String title return qb; }); final SearchRequest.Builder req = new SearchRequest.Builder().allowPartialSearchResults(false) - .index(Collections.singletonList(TEST_INDEX)) + .index(List.of(TEST_INDEX)) .size(10) .ignoreThrottled(false) .sort( @@ -239,7 +239,7 @@ protected SearchResponse query(OpenSearchClient client, String title } protected CompletableFuture> query(OpenSearchAsyncClient client, String title, String text) { - Query query = Query.of(qb -> { + var query = Query.of(qb -> { if (title != null) { qb.match(mb -> mb.field("title").query(vb -> vb.stringValue(title))); } @@ -249,7 +249,7 @@ protected CompletableFuture> query(OpenSearchAsyncCli return qb; }); final SearchRequest.Builder req = new SearchRequest.Builder().allowPartialSearchResults(false) - .index(Collections.singletonList(TEST_INDEX)) + .index(List.of(TEST_INDEX)) .size(10) .ignoreThrottled(false) .sort( @@ -261,9 +261,7 @@ protected CompletableFuture> query(OpenSearchAsyncCli try { return client.search(req.build(), SimplePojo.class); } catch (Exception e) { - final CompletableFuture> failed = new CompletableFuture<>(); - failed.completeExceptionally(e); - return failed; + return CompletableFuture.failedFuture(e); } } diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/model/EnumTest.java b/java-client/src/test/java/org/opensearch/client/opensearch/model/EnumTest.java index adbe18465c..f16f0795a8 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/model/EnumTest.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/model/EnumTest.java @@ -58,13 +58,13 @@ public void testEnumWithAliases() { @Test public void testEnumWithBooleanSupport() { - DynamicMapping booleanAsString = fromJson("\"true\"", DynamicMapping.class); + var booleanAsString = fromJson("\"true\"", DynamicMapping.class); assertEquals(booleanAsString, DynamicMapping.True); - DynamicMapping nonBooleanEnumValue = fromJson("\"runtime\"", DynamicMapping.class); + var nonBooleanEnumValue = fromJson("\"runtime\"", DynamicMapping.class); assertEquals(nonBooleanEnumValue, DynamicMapping.Runtime); - DynamicMapping booleanPrimitive = fromJson("false", DynamicMapping.class); + var booleanPrimitive = fromJson("false", DynamicMapping.class); assertEquals(booleanPrimitive, DynamicMapping.False); } } diff --git a/java-client/src/test/java/org/opensearch/client/transport/httpclient5/ResponseExceptionTest.java b/java-client/src/test/java/org/opensearch/client/transport/httpclient5/ResponseExceptionTest.java index 9f8084ca1f..41de5ee77e 100644 --- a/java-client/src/test/java/org/opensearch/client/transport/httpclient5/ResponseExceptionTest.java +++ b/java-client/src/test/java/org/opensearch/client/transport/httpclient5/ResponseExceptionTest.java @@ -15,7 +15,7 @@ public class ResponseExceptionTest { @Test public void testStatus() throws IOException { - final ResponseException response = this.buildResponseException(HttpStatus.SC_BAD_REQUEST); + final var response = this.buildResponseException(HttpStatus.SC_BAD_REQUEST); assertThat(response.status(), equalTo(HttpStatus.SC_BAD_REQUEST)); } diff --git a/java-client/src/test/java/org/opensearch/client/transport/httpclient5/internal/HeapBufferedAsyncEntityConsumerTest.java b/java-client/src/test/java/org/opensearch/client/transport/httpclient5/internal/HeapBufferedAsyncEntityConsumerTest.java index e1b042825d..283a7acd8b 100644 --- a/java-client/src/test/java/org/opensearch/client/transport/httpclient5/internal/HeapBufferedAsyncEntityConsumerTest.java +++ b/java-client/src/test/java/org/opensearch/client/transport/httpclient5/internal/HeapBufferedAsyncEntityConsumerTest.java @@ -36,39 +36,39 @@ public void tearDown() { @Test public void testConsumerAllocatesBufferLimit() throws IOException { - consumer.consume((ByteBuffer) randomByteBufferOfLength(1000).flip()); + consumer.consume(randomByteBufferOfLength(1000).flip()); assertThat(consumer.getBuffer().capacity(), equalTo(1000)); } @Test public void testConsumerAllocatesEmptyBuffer() throws IOException { - consumer.consume((ByteBuffer) ByteBuffer.allocate(0).flip()); + consumer.consume(ByteBuffer.allocate(0).flip()); assertThat(consumer.getBuffer().capacity(), equalTo(0)); } @Test public void testConsumerExpandsBufferLimits() throws IOException { - consumer.consume((ByteBuffer) randomByteBufferOfLength(1000).flip()); - consumer.consume((ByteBuffer) randomByteBufferOfLength(2000).flip()); - consumer.consume((ByteBuffer) randomByteBufferOfLength(3000).flip()); + consumer.consume(randomByteBufferOfLength(1000).flip()); + consumer.consume(randomByteBufferOfLength(2000).flip()); + consumer.consume(randomByteBufferOfLength(3000).flip()); assertThat(consumer.getBuffer().capacity(), equalTo(6000)); } @Test public void testConsumerAllocatesLimit() throws IOException { - consumer.consume((ByteBuffer) randomByteBufferOfLength(BUFFER_LIMIT).flip()); + consumer.consume(randomByteBufferOfLength(BUFFER_LIMIT).flip()); assertThat(consumer.getBuffer().capacity(), equalTo(BUFFER_LIMIT)); } @Test public void testConsumerFailsToAllocateOverLimit() throws IOException { - assertThrows(ContentTooLongException.class, () -> consumer.consume((ByteBuffer) randomByteBufferOfLength(BUFFER_LIMIT + 1).flip())); + assertThrows(ContentTooLongException.class, () -> consumer.consume(randomByteBufferOfLength(BUFFER_LIMIT + 1).flip())); } @Test public void testConsumerFailsToExpandOverLimit() throws IOException { - consumer.consume((ByteBuffer) randomByteBufferOfLength(BUFFER_LIMIT).flip()); - assertThrows(ContentTooLongException.class, () -> consumer.consume((ByteBuffer) randomByteBufferOfLength(1).flip())); + consumer.consume(randomByteBufferOfLength(BUFFER_LIMIT).flip()); + assertThrows(ContentTooLongException.class, () -> consumer.consume(randomByteBufferOfLength(1).flip())); } private static ByteBuffer randomByteBufferOfLength(int length) {