diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-12-02 12:38:30 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-12-02 12:58:25 +0100 |
commit | cc25a94b7e3d45d01c35fc464d8bb67165b1480e (patch) | |
tree | 2eebc3a2d44e95902e4d0867f5fb274203afd428 /config-model/src/main/java/com | |
parent | e88b274e49c2b74495caa210621ac0cc47d797cc (diff) |
Let list handling catch up with Java 17
Diffstat (limited to 'config-model/src/main/java/com')
11 files changed, 63 insertions, 97 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java index 4ae9834b87f..7fe7c4b9f68 100644 --- a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java +++ b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.model.admin; -import com.google.common.collect.ImmutableList; import com.yahoo.config.model.ApplicationConfigProducerRoot; import com.yahoo.config.model.ConfigModel; import com.yahoo.config.model.ConfigModelContext; @@ -65,8 +64,8 @@ public class AdminModel extends ConfigModel { public static class BuilderV2 extends ConfigModelBuilder<AdminModel> { public static final List<ConfigModelId> configModelIds = - ImmutableList.of(ConfigModelId.fromNameAndVersion("admin", "2.0"), - ConfigModelId.fromNameAndVersion("admin", "1.0")); + List.of(ConfigModelId.fromNameAndVersion("admin", "2.0"), + ConfigModelId.fromNameAndVersion("admin", "1.0")); public BuilderV2() { super(AdminModel.class); @@ -98,8 +97,8 @@ public class AdminModel extends ConfigModel { public static class BuilderV4 extends ConfigModelBuilder<AdminModel> { public static final List<ConfigModelId> configModelIds = - ImmutableList.of(ConfigModelId.fromNameAndVersion("admin", "3.0"), - ConfigModelId.fromNameAndVersion("admin", "4.0")); + List.of(ConfigModelId.fromNameAndVersion("admin", "3.0"), + ConfigModelId.fromNameAndVersion("admin", "4.0")); public BuilderV4() { super(AdminModel.class); diff --git a/config-model/src/main/java/com/yahoo/config/model/provision/Host.java b/config-model/src/main/java/com/yahoo/config/model/provision/Host.java index ea7a0bc0504..e4bbf55b541 100644 --- a/config-model/src/main/java/com/yahoo/config/model/provision/Host.java +++ b/config-model/src/main/java/com/yahoo/config/model/provision/Host.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.model.provision; -import com.google.common.collect.ImmutableList; import com.yahoo.component.Version; import com.yahoo.config.provision.Flavor; @@ -16,12 +15,12 @@ import java.util.Optional; public class Host { private final String hostname; - private final ImmutableList<String> aliases; + private final List<String> aliases; private final Optional<Flavor> flavor; private final Optional<Version> version; public Host(String hostname) { - this(hostname, ImmutableList.of(), Optional.empty()); + this(hostname, List.of(), Optional.empty()); } public Host(String hostname, List<String> hostAliases) { @@ -34,7 +33,7 @@ public class Host { public Host(String hostname, List<String> hostAliases, Optional<Flavor> flavor, Optional<Version> version) { this.hostname = hostname; - this.aliases = ImmutableList.copyOf(hostAliases); + this.aliases = List.copyOf(hostAliases); this.flavor = flavor; this.version = version; } @@ -52,7 +51,7 @@ public class Host { @Override public String toString() { return hostname + (aliases.size() > 0 ? " (aliases: " + aliases + ")" : "" ) + - (flavor.isPresent() ? " (flavor: " + flavor.get() + ")" : ""); + (flavor.map(value -> " (flavor: " + value + ")").orElse("")); } } diff --git a/config-model/src/main/java/com/yahoo/schema/derived/RawRankProfile.java b/config-model/src/main/java/com/yahoo/schema/derived/RawRankProfile.java index 14ee60bb9a6..8bdbe574b0e 100644 --- a/config-model/src/main/java/com/yahoo/schema/derived/RawRankProfile.java +++ b/config-model/src/main/java/com/yahoo/schema/derived/RawRankProfile.java @@ -2,7 +2,6 @@ package com.yahoo.schema.derived; import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels; -import com.google.common.collect.ImmutableList; import com.yahoo.collections.Pair; import com.yahoo.compress.Compressor; import com.yahoo.config.model.api.ModelContext; @@ -86,9 +85,9 @@ public class RawRankProfile implements RankProfilesConfig.Producer { private List<Pair<String, String>> decompress(Compressor.Compression compression) { String propertiesString = new String(compressor.decompress(compression), StandardCharsets.UTF_8); - if (propertiesString.isEmpty()) return ImmutableList.of(); + if (propertiesString.isEmpty()) return List.of(); - ImmutableList.Builder<Pair<String, String>> properties = new ImmutableList.Builder<>(); + List<Pair<String, String>> properties = new ArrayList<>(); for (int pos = 0; pos < propertiesString.length();) { int keyEndPos = propertiesString.indexOf(keyEndMarker, pos); String key = propertiesString.substring(pos, keyEndPos); @@ -98,7 +97,7 @@ public class RawRankProfile implements RankProfilesConfig.Producer { pos = valueEndPos + valueEndMarker.length(); properties.add(new Pair<>(key, value)); } - return properties.build(); + return List.copyOf(properties); } public String getName() { return name; } diff --git a/config-model/src/main/java/com/yahoo/schema/expressiontransforms/ExpressionTransforms.java b/config-model/src/main/java/com/yahoo/schema/expressiontransforms/ExpressionTransforms.java index 132597ee75e..42e99f6aa45 100644 --- a/config-model/src/main/java/com/yahoo/schema/expressiontransforms/ExpressionTransforms.java +++ b/config-model/src/main/java/com/yahoo/schema/expressiontransforms/ExpressionTransforms.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.schema.expressiontransforms; -import com.google.common.collect.ImmutableList; import com.yahoo.searchlib.rankingexpression.RankingExpression; import com.yahoo.searchlib.rankingexpression.transform.ConstantDereferencer; import com.yahoo.searchlib.rankingexpression.transform.ExpressionTransformer; @@ -24,19 +23,19 @@ public class ExpressionTransforms { public ExpressionTransforms() { transforms = - ImmutableList.of(new TensorFlowFeatureConverter(), - new OnnxFeatureConverter(), - new OnnxModelTransformer(), - new XgboostFeatureConverter(), - new LightGBMFeatureConverter(), - new TokenTransformer(), - new ConstantDereferencer(), - new ConstantTensorTransformer(), - new FunctionInliner(), - new FunctionShadower(), - new TensorMaxMinTransformer(), - new Simplifier(), - new BooleanExpressionTransformer()); + List.of(new TensorFlowFeatureConverter(), + new OnnxFeatureConverter(), + new OnnxModelTransformer(), + new XgboostFeatureConverter(), + new LightGBMFeatureConverter(), + new TokenTransformer(), + new ConstantDereferencer(), + new ConstantTensorTransformer(), + new FunctionInliner(), + new FunctionShadower(), + new TensorMaxMinTransformer(), + new Simplifier(), + new BooleanExpressionTransformer()); } public RankingExpression transform(RankingExpression expression, RankProfileTransformContext context) { diff --git a/config-model/src/main/java/com/yahoo/schema/processing/ReservedFunctionNames.java b/config-model/src/main/java/com/yahoo/schema/processing/ReservedFunctionNames.java index 1ec4d5b58f2..e1054c365b0 100644 --- a/config-model/src/main/java/com/yahoo/schema/processing/ReservedFunctionNames.java +++ b/config-model/src/main/java/com/yahoo/schema/processing/ReservedFunctionNames.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.schema.processing; -import com.google.common.collect.ImmutableSet; import com.yahoo.config.application.api.DeployLogger; import com.yahoo.schema.RankProfile; import com.yahoo.schema.RankProfileRegistry; @@ -9,8 +8,10 @@ import com.yahoo.schema.Schema; import com.yahoo.searchlib.rankingexpression.parser.RankingExpressionParserConstants; import com.yahoo.vespa.model.container.search.QueryProfiles; +import java.util.Arrays; import java.util.Set; import java.util.logging.Level; +import java.util.stream.Collectors; /** * Issues a warning if some function has a reserved name. This is not necessarily @@ -20,7 +21,7 @@ import java.util.logging.Level; */ public class ReservedFunctionNames extends Processor { - private static Set<String> reservedNames = getReservedNames(); + private static final Set<String> reservedNames = getReservedNames(); public ReservedFunctionNames(Schema schema, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfiles queryProfiles) { super(schema, deployLogger, rankProfileRegistry, queryProfiles); @@ -44,13 +45,9 @@ public class ReservedFunctionNames extends Processor { } } - private static ImmutableSet<String> getReservedNames() { - ImmutableSet.Builder<String> names = ImmutableSet.builder(); - for (String token : RankingExpressionParserConstants.tokenImage) { - String tokenWithoutQuotes = token.substring(1, token.length()-1); - names.add(tokenWithoutQuotes); - } - return names.build(); + private static Set<String> getReservedNames() { + return Arrays.stream(RankingExpressionParserConstants.tokenImage) + .map(token -> token.substring(1, token.length()-1)).collect(Collectors.toUnmodifiableSet()); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetrics.java index 2348970ed1a..6f4535bf4a1 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetrics.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetrics.java @@ -2,14 +2,11 @@ package com.yahoo.vespa.model.admin.monitoring; - -import com.google.common.collect.ImmutableSet; - +import java.util.Collections; import java.util.LinkedHashSet; import java.util.Set; import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet; -import static java.util.Collections.singleton; /** * Metrics for the 'default' consumer, which is used by default for the generic metrics api and @@ -26,20 +23,19 @@ public class DefaultMetrics { private static MetricSet createMetricSet() { return new MetricSet(defaultMetricSetId, getAllMetrics(), - singleton(defaultVespaMetricSet)); + Set.of(defaultVespaMetricSet)); } private static Set<Metric> getAllMetrics() { - return ImmutableSet.<Metric>builder() - .addAll(getContentMetrics()) - .addAll(getContainerMetrics()) - .addAll(getSearchChainMetrics()) - .build(); - } - - private static Set<Metric> getContainerMetrics() { Set<Metric> metrics = new LinkedHashSet<>(); + addContentMetrics(metrics); + addContainerMetrics(metrics); + addSearchChainMetrics(metrics); + return Collections.unmodifiableSet(metrics); + } + + private static void addContainerMetrics(Set<Metric> metrics) { metrics.add(new Metric("http.status.1xx.rate")); metrics.add(new Metric("http.status.2xx.rate")); metrics.add(new Metric("http.status.3xx.rate")); @@ -47,13 +43,9 @@ public class DefaultMetrics { metrics.add(new Metric("http.status.5xx.rate")); metrics.add(new Metric("jdisc.gc.ms.average")); metrics.add(new Metric("mem.heap.free.average")); - - return metrics; } - private static Set<Metric> getSearchChainMetrics() { - Set<Metric> metrics = new LinkedHashSet<>(); - + private static void addSearchChainMetrics(Set<Metric> metrics) { metrics.add(new Metric("queries.rate")); metrics.add(new Metric("query_latency.sum")); metrics.add(new Metric("query_latency.count")); @@ -72,13 +64,9 @@ public class DefaultMetrics { metrics.add(new Metric("degraded_queries.rate")); metrics.add(new Metric("failed_queries.rate")); metrics.add(new Metric("serverActiveThreads.average")); - - return metrics; } - private static Set<Metric> getContentMetrics() { - Set<Metric> metrics = new LinkedHashSet<>(); - + private static void addContentMetrics(Set<Metric> metrics) { metrics.add(new Metric("content.proton.search_protocol.docsum.requested_documents.rate")); metrics.add(new Metric("content.proton.search_protocol.docsum.latency.sum")); metrics.add(new Metric("content.proton.search_protocol.docsum.latency.count")); @@ -114,8 +102,6 @@ public class DefaultMetrics { metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.rerank_time.average")); // TODO: Remove with Vespa 9 metrics.add(new Metric("content.proton.transactionlog.disk_usage.last")); - - return metrics; } private DefaultMetrics() { } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricSet.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricSet.java index 41204ce6e9a..fb67100b435 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricSet.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricSet.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.model.admin.monitoring; import java.util.Collection; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.Map; @@ -24,7 +23,7 @@ public class MetricSet { private final Set<MetricSet> children; public MetricSet(String id, Collection<Metric> metrics) { - this(id, metrics, Collections.emptySet()); + this(id, metrics, Set.of()); } public MetricSet(String id, Collection<Metric> metrics, Collection<MetricSet> children) { @@ -57,9 +56,7 @@ public class MetricSet { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof MetricSet)) return false; - - MetricSet that = (MetricSet) o; + if (!(o instanceof MetricSet that)) return false; return Objects.equals(id, that.id); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/NetworkMetrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/NetworkMetrics.java index 4b905f35eab..2f9c97f0488 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/NetworkMetrics.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/NetworkMetrics.java @@ -22,10 +22,6 @@ public class NetworkMetrics { new Metric("net.out.dropped") ); - Set<Metric> networkMetrics = ImmutableSet.<Metric>builder() - .addAll(dockerNetworkMetrics) - .build(); - - return new MetricSet("network", networkMetrics); + return new MetricSet("network", dockerNetworkMetrics); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/SecretStore.java b/config-model/src/main/java/com/yahoo/vespa/model/container/SecretStore.java index 076fe7c0c53..8ddf08a593e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/SecretStore.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/SecretStore.java @@ -1,7 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.container; -import com.google.common.collect.ImmutableList; + import java.util.ArrayList; import java.util.List; @@ -17,7 +17,7 @@ public class SecretStore { } public List<Group> getGroups() { - return ImmutableList.copyOf(groups); + return List.copyOf(groups); } public static class Group { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ml/ModelsEvaluatorTester.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ml/ModelsEvaluatorTester.java index 4afde25cafd..1232e32a633 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ml/ModelsEvaluatorTester.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ml/ModelsEvaluatorTester.java @@ -8,7 +8,6 @@ import ai.vespa.rankingexpression.importer.onnx.OnnxImporter; import ai.vespa.rankingexpression.importer.tensorflow.TensorFlowImporter; import ai.vespa.rankingexpression.importer.vespa.VespaImporter; import ai.vespa.rankingexpression.importer.xgboost.XGBoostImporter; -import com.google.common.collect.ImmutableList; import com.yahoo.config.FileReference; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.application.api.FileRegistry; @@ -34,6 +33,7 @@ import java.nio.ByteBuffer; import java.nio.file.Files; import java.nio.file.Path; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -49,7 +49,7 @@ import java.util.Map; */ public class ModelsEvaluatorTester { - private static final ImmutableList<MlModelImporter> importers = ImmutableList.of(new TensorFlowImporter(), + private static final List<MlModelImporter> importers = List.of(new TensorFlowImporter(), new OnnxImporter(), new LightGBMImporter(), new XGBoostImporter(), diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 007e8401c70..0722a9dc15a 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.container.xml; -import com.google.common.collect.ImmutableList; import com.yahoo.component.ComponentId; import com.yahoo.component.ComponentSpecification; import com.yahoo.component.Version; @@ -154,7 +153,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { private final boolean httpServerEnabled; protected DeployLogger log; - public static final List<ConfigModelId> configModelIds = ImmutableList.of(ConfigModelId.fromName(CONTAINER_TAG)); + public static final List<ConfigModelId> configModelIds = List.of(ConfigModelId.fromName(CONTAINER_TAG)); private static final String xmlRendererId = RendererRegistry.xmlRendererId.getName(); private static final String jsonRendererId = RendererRegistry.jsonRendererId.getName(); @@ -217,7 +216,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { addStatusHandlers(cluster, context.getDeployState().isHosted()); addUserHandlers(deployState, cluster, spec, context); - addClients(deployState, spec, cluster, context); + addClients(deployState, spec, cluster); addHttp(deployState, spec, cluster, context); addAccessLogs(deployState, cluster, spec); @@ -380,7 +379,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { // Only consider global endpoints. .filter(endpoint -> endpoint.scope() == ApplicationClusterEndpoint.Scope.global) .flatMap(endpoint -> endpoint.names().stream()) - .collect(Collectors.toCollection(() -> new LinkedHashSet<>())); + .collect(Collectors.toCollection(LinkedHashSet::new)); // Build the comma delimited list of endpoints this container should be known as. // Confusingly called 'rotations' for legacy reasons. @@ -491,7 +490,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { } - protected void addClients(DeployState deployState, Element spec, ApplicationContainerCluster cluster, ConfigModelContext context) { + protected void addClients(DeployState deployState, Element spec, ApplicationContainerCluster cluster) { if (!deployState.isHosted() || !deployState.zone().system().isPublic() || !deployState.featureFlags().enableDataPlaneFilter()) return; List<Client> clients; @@ -769,11 +768,10 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { return new JvmGcOptions(context.getDeployState(), jvmGCOptions).build(); } - private static String getJvmOptions(ApplicationContainerCluster cluster, - Element nodesElement, + private static String getJvmOptions(Element nodesElement, DeployState deployState, boolean legacyOptions) { - return new JvmOptions(cluster, nodesElement, deployState, legacyOptions).build(); + return new JvmOptions(nodesElement, deployState, legacyOptions).build(); } private static String extractAttribute(Element element, String attrName) { @@ -794,7 +792,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { private void extractJvmFromLegacyNodesTag(List<ApplicationContainer> nodes, ApplicationContainerCluster cluster, Element nodesElement, ConfigModelContext context) { - applyNodesTagJvmArgs(nodes, getJvmOptions(cluster, nodesElement, context.getDeployState(), true)); + applyNodesTagJvmArgs(nodes, getJvmOptions(nodesElement, context.getDeployState(), true)); if (cluster.getJvmGCOptions().isEmpty()) { String jvmGCOptions = extractAttribute(nodesElement, VespaDomBuilder.JVM_GC_OPTIONS); @@ -806,7 +804,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { private void extractJvmTag(List<ApplicationContainer> nodes, ApplicationContainerCluster cluster, Element nodesElement, Element jvmElement, ConfigModelContext context) { - applyNodesTagJvmArgs(nodes, getJvmOptions(cluster, nodesElement, context.getDeployState(), false)); + applyNodesTagJvmArgs(nodes, getJvmOptions(nodesElement, context.getDeployState(), false)); applyMemoryPercentage(cluster, jvmElement.getAttribute(VespaDomBuilder.Allocated_MEMORY_ATTRIB_NAME)); String jvmGCOptions = extractAttribute(jvmElement, VespaDomBuilder.GC_OPTIONS); cluster.setJvmGCOptions(buildJvmGCOptions(context, jvmGCOptions)); @@ -1195,14 +1193,12 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { // debug port will not be available in hosted, don't allow private static final Pattern invalidInHostedatttern = Pattern.compile("-Xrunjdwp:transport=.*"); - private final ContainerCluster<?> cluster; private final Element nodesElement; private final DeployLogger logger; private final boolean legacyOptions; private final boolean isHosted; - public JvmOptions(ContainerCluster<?> cluster, Element nodesElement, DeployState deployState, boolean legacyOptions) { - this.cluster = cluster; + public JvmOptions(Element nodesElement, DeployState deployState, boolean legacyOptions) { this.nodesElement = nodesElement; this.logger = deployState.getDeployLogger(); this.legacyOptions = legacyOptions; @@ -1247,10 +1243,9 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { .collect(Collectors.toList()); if (isHosted) invalidOptions.addAll(Arrays.stream(optionList) - .filter(option -> !option.isEmpty()) - .filter(option -> Pattern.matches(invalidInHostedatttern.pattern(), option)) - .sorted() - .collect(Collectors.toList())); + .filter(option -> !option.isEmpty()) + .filter(option -> Pattern.matches(invalidInHostedatttern.pattern(), option)) + .sorted().toList()); if (invalidOptions.isEmpty()) return; @@ -1299,10 +1294,9 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { if (isHosted) { // CMS GC options cannot be used in hosted, CMS is unsupported in JDK 17 invalidOptions.addAll(Arrays.stream(optionList) - .filter(option -> !option.isEmpty()) - .filter(option -> Pattern.matches(invalidCMSPattern.pattern(), option) || - option.equals("-XX:+UseConcMarkSweepGC")) - .collect(Collectors.toList())); + .filter(option -> !option.isEmpty()) + .filter(option -> Pattern.matches(invalidCMSPattern.pattern(), option) || + option.equals("-XX:+UseConcMarkSweepGC")).toList()); } logOrFailInvalidOptions(invalidOptions); |