From 4d54e70f2d4938d20af26c70f444907337e42d99 Mon Sep 17 00:00:00 2001 From: Thomas Farr Date: Fri, 7 Jun 2024 11:46:01 +1200 Subject: [PATCH] Change usages of `.toList()` to `.collect(Collectors.toList())` Signed-off-by: Thomas Farr --- .../client/codegen/model/Field.java | 8 ++++- .../client/codegen/model/HttpPath.java | 3 +- .../client/codegen/model/Namespace.java | 3 +- .../client/codegen/model/SpecTransformer.java | 8 ++--- .../codegen/model/TaggedUnionShape.java | 3 +- .../client/codegen/openapi/HttpMethod.java | 1 - .../codegen/openapi/OpenApiElement.java | 2 +- .../codegen/openapi/OpenApiParameter.java | 3 +- .../client/codegen/openapi/OpenApiSchema.java | 2 +- .../client/codegen/utils/Lists.java | 33 +++++++++++++++---- .../codegen/utils/MavenArtifactResolver.java | 7 ++-- .../client/codegen/utils/ListsTests.java | 4 +-- 12 files changed, 51 insertions(+), 26 deletions(-) diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Field.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Field.java index 5beee6b0d3..f2a95028d4 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Field.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Field.java @@ -25,7 +25,13 @@ public class Field { @Nullable private final Deprecation deprecation; - public Field(@Nonnull String wireName, @Nonnull Type type, boolean required, @Nullable String description, @Nullable Deprecation deprecation) { + public Field( + @Nonnull String wireName, + @Nonnull Type type, + boolean required, + @Nullable String description, + @Nullable Deprecation deprecation + ) { this.wireName = Strings.requireNonBlank(wireName, "wireName must not be null"); this.type = Objects.requireNonNull(type, "type must not be null"); this.required = required; diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/HttpPath.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/HttpPath.java index d150c64d17..8050fc21e6 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/model/HttpPath.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/HttpPath.java @@ -20,6 +20,7 @@ import javax.annotation.Nullable; import org.opensearch.client.codegen.openapi.OpenApiOperation; import org.opensearch.client.codegen.utils.Either; +import org.opensearch.client.codegen.utils.Lists; public class HttpPath { @Nonnull @@ -60,7 +61,7 @@ private HttpPath(@Nonnull List parts, @Nullable Deprecation deprecation, @ } public List getParams() { - return parts.stream().filter(Part::isParameter).map(Part::getParameter).toList(); + return Lists.filterMap(parts, Part::isParameter, Part::getParameter); } public Set getParamNameSet() { diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Namespace.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Namespace.java index a65b104618..816bb1bc18 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Namespace.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Namespace.java @@ -18,6 +18,7 @@ import javax.annotation.Nullable; import org.opensearch.client.codegen.JavaFormatter; import org.opensearch.client.codegen.exceptions.RenderException; +import org.opensearch.client.codegen.utils.Lists; import org.opensearch.client.codegen.utils.Strings; public class Namespace extends Shape { @@ -99,7 +100,7 @@ public String getName() { } public Collection getChildren() { - return parent.children.values().stream().filter(n -> !n.operations.isEmpty()).map(n -> new Client(n, async)).toList(); + return Lists.filterMap(parent.children.values(), n -> !n.operations.isEmpty(), n -> new Client(n, async)); } public Collection getOperations() { diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/SpecTransformer.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/SpecTransformer.java index 7f2e0896c9..7c7067ec70 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/model/SpecTransformer.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/SpecTransformer.java @@ -38,6 +38,7 @@ import org.opensearch.client.codegen.openapi.OpenApiSchemaFormat; import org.opensearch.client.codegen.openapi.OpenApiSchemaType; import org.opensearch.client.codegen.openapi.OpenApiSpecification; +import org.opensearch.client.codegen.utils.Lists; public class SpecTransformer { private static final Logger LOGGER = LogManager.getLogger(); @@ -236,12 +237,7 @@ private void visit(Namespace parent, String className, String typedefName, OpenA visitInto(schema, objShape); shape = objShape; } else if (schema.isString() && schema.hasEnums()) { - shape = new EnumShape( - parent, - className, - schema.getEnums().orElseThrow().stream().map(EnumShape.Variant::new).toList(), - typedefName - ); + shape = new EnumShape(parent, className, Lists.map(schema.getEnums().orElseThrow(), EnumShape.Variant::new), typedefName); } else if (schema.hasOneOf()) { var taggedUnion = new TaggedUnionShape(parent, className, typedefName); schema.getOneOf().orElseThrow().forEach(s -> { diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/TaggedUnionShape.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/TaggedUnionShape.java index bce8c752aa..2eb78fcc56 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/model/TaggedUnionShape.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/TaggedUnionShape.java @@ -11,6 +11,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import org.opensearch.client.codegen.utils.Lists; public class TaggedUnionShape extends ObjectShape { private final List variants = new ArrayList<>(); @@ -28,7 +29,7 @@ public Collection getVariants() { } public Collection getPrimitiveVariants() { - return variants.stream().filter(v -> v.getType().isPrimitive()).toList(); + return Lists.filter(variants, v -> v.getType().isPrimitive()); } @Override diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpMethod.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpMethod.java index c3ea6f754a..0659e5e725 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpMethod.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpMethod.java @@ -34,7 +34,6 @@ public static HttpMethod from(@Nonnull PathItem.HttpMethod httpMethod) { return from(httpMethod.name().toLowerCase()); } - @Override public String toString() { return name().toLowerCase(); diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiElement.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiElement.java index c69da1b932..30653b72a9 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiElement.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiElement.java @@ -75,7 +75,7 @@ List children(@Nonnull String key, @Nullable List childre Objects.requireNonNull(factory, "factory must not be null"); var basePtr = childPtr(key); var self = self(); - return Lists.transform(children, (i, v) -> factory.create(self, basePtr.append(String.valueOf(i)), v)); + return Lists.map(children, (i, v) -> factory.create(self, basePtr.append(String.valueOf(i)), v)); } @Nullable diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiParameter.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiParameter.java index e2a514509f..442873eab7 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiParameter.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiParameter.java @@ -48,8 +48,7 @@ protected OpenApiParameter(@Nullable OpenApiElement parent, @Nonnull JsonPoin var extensions = parameter.getExtensions(); this.versionDeprecated = Maps.tryGet(extensions, "x-version-deprecated").map(String::valueOf).orElse(null); this.deprecationMessage = Maps.tryGet(extensions, "x-deprecation-message").map(String::valueOf).orElse(null); - this.isGlobal = (Boolean) Maps.tryGet(extensions, "x-global") - .orElse(null); + this.isGlobal = (Boolean) Maps.tryGet(extensions, "x-global").orElse(null); } @Nonnull diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchema.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchema.java index 9e0cd942ed..3ad80242cf 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchema.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchema.java @@ -95,7 +95,7 @@ protected OpenApiSchema(@Nullable OpenApiElement parent, @Nonnull JsonPointer allOf = children("allOf", schema.getAllOf(), OpenApiSchema::new); oneOf = children("oneOf", schema.getOneOf(), OpenApiSchema::new); - enums = ifNonnull(schema.getEnum(), e -> Lists.transform(e, String::valueOf)); + enums = ifNonnull(schema.getEnum(), e -> Lists.map(e, String::valueOf)); items = child("items", schema.getItems(), OpenApiSchema::new); diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Lists.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Lists.java index 6761de69c7..f807bc4976 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Lists.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Lists.java @@ -8,11 +8,13 @@ package org.opensearch.client.codegen.utils; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.function.Function; +import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.IntStream; import javax.annotation.Nonnull; @@ -27,17 +29,24 @@ public static Optional> unmodifiableOpt(@Nullable List list) { } @Nonnull - public static List transform(@Nonnull List list, @Nonnull Function function) { + public static List filter(@Nonnull Collection list, @Nonnull Predicate predicate) { Objects.requireNonNull(list, "list must not be null"); - Objects.requireNonNull(function, "function must not be null"); - return list.stream().map(function).collect(Collectors.toList()); + Objects.requireNonNull(predicate, "predicate must not be null"); + return list.stream().filter(predicate).collect(Collectors.toList()); } @Nonnull - public static List transform(@Nonnull List list, @Nonnull ItemMapper function) { + public static List map(@Nonnull Collection list, @Nonnull Function mapper) { Objects.requireNonNull(list, "list must not be null"); - Objects.requireNonNull(function, "function must not be null"); - return IntStream.range(0, list.size()).mapToObj(i -> function.map(i, list.get(i))).toList(); + Objects.requireNonNull(mapper, "mapper must not be null"); + return list.stream().map(mapper).collect(Collectors.toList()); + } + + @Nonnull + public static List map(@Nonnull List list, @Nonnull ItemMapper mapper) { + Objects.requireNonNull(list, "list must not be null"); + Objects.requireNonNull(mapper, "mapper must not be null"); + return IntStream.range(0, list.size()).mapToObj(i -> mapper.map(i, list.get(i))).collect(Collectors.toList()); } @FunctionalInterface @@ -45,4 +54,16 @@ public interface ItemMapper { @Nonnull TOut map(int index, @Nonnull TIn item); } + + @Nonnull + public static List filterMap( + @Nonnull Collection list, + @Nonnull Predicate predicate, + @Nonnull Function mapper + ) { + Objects.requireNonNull(list, "list must not be null"); + Objects.requireNonNull(predicate, "predicate must not be null"); + Objects.requireNonNull(mapper, "mapper must not be null"); + return list.stream().filter(predicate).map(mapper).collect(Collectors.toList()); + } } diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/MavenArtifactResolver.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/MavenArtifactResolver.java index 7db5fbdd32..024d4b5e94 100644 --- a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/MavenArtifactResolver.java +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/MavenArtifactResolver.java @@ -65,9 +65,10 @@ public MavenArtifactResolver( public Set resolve(boolean withTransitives, @Nonnull Collection mavenCoordinates) { Objects.requireNonNull(mavenCoordinates, "mavenCoordinates must not be null"); - var dependencies = mavenCoordinates.stream() - .map(coord -> new Dependency(new DefaultArtifact(coord), null, null, withTransitives ? null : EXCLUDE_ALL_TRANSITIVES)) - .toList(); + var dependencies = Lists.map( + mavenCoordinates, + coord -> new Dependency(new DefaultArtifact(coord), null, null, withTransitives ? null : EXCLUDE_ALL_TRANSITIVES) + ); var request = new DependencyRequest(new CollectRequest(dependencies, null, repositories), null); diff --git a/java-codegen/src/test/java/org/opensearch/client/codegen/utils/ListsTests.java b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/ListsTests.java index 6721bbcb3d..6c5174cf2d 100644 --- a/java-codegen/src/test/java/org/opensearch/client/codegen/utils/ListsTests.java +++ b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/ListsTests.java @@ -38,7 +38,7 @@ public void unmodifiableOpt_withNonNullList_shouldReturnUnmodifiableList() { } @Test - public void transform_shouldTransformIntoNewList() { + public void map_shouldMapIntoNewList() { var input = new ArrayList<>() { { add("foobar"); @@ -46,7 +46,7 @@ public void transform_shouldTransformIntoNewList() { } }; - var output = Lists.transform(input, (i, v) -> i + "-" + v); + var output = Lists.map(input, (i, v) -> i + "-" + v); assertEquals(List.of("foobar", "hello world"), input); assertEquals(List.of("0-foobar", "1-hello world"), output);