This is an automated email from the ASF dual-hosted git repository.

He-Pin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-projection.git


The following commit(s) were added to refs/heads/main by this push:
     new b2f8fc96 refactor: migrate Collections/Arrays.asList to Java 9+ 
collection factories (#543)
b2f8fc96 is described below

commit b2f8fc961d34abca3395c25357a3b246443c329c
Author: He-Pin(kerr) <[email protected]>
AuthorDate: Fri Jun 26 18:15:30 2026 +0800

    refactor: migrate Collections/Arrays.asList to Java 9+ collection factories 
(#543)
    
    * refactor: migrate Collections/Arrays.asList to Java 9+ factory methods
    
    Motivation:
    Java 9+ provides List.of(), Map.of(), Set.of() factory methods that are
    more concise and return truly immutable collections.
    
    Modification:
    Replace Arrays.asList() with List.of(), Collections.singletonList()
    with List.of(), Collections.unmodifiableList(Arrays.asList()) with
    List.of(), and Collections.singleton() with Set.of() across 10 files.
    Update imports accordingly.
    
    Result:
    Cleaner code using Java 17 immutable collection factories.
    
    Tests:
    Not run - compile-only test file changes
    
    References:
    None - Java 17 API modernization
    
    * fix: use Set.of(tag) instead of new HashSet<>(List.of(tag))
    
    Motivation:
    Review feedback suggesting Set.of(tag) is more direct and idiomatic
    when the field type is Set<String> and no mutation is needed.
    
    Modification:
    Replace new HashSet<>(List.of(tag)) with Set.of(tag) in
    EventGeneratorApp.java.
    
    Result:
    Cleaner code using the modern Set.of() factory directly.
---
 .../pekko/projection/cassandra/CassandraProjectionTest.java       | 3 +--
 examples/src/test/java/jdocs/eventsourced/ShoppingCart.java       | 5 ++---
 examples/src/test/java/jdocs/guide/EventGeneratorApp.java         | 4 ++--
 examples/src/test/java/jdocs/guide/ShoppingCartAppTest.java       | 4 ++--
 examples/src/test/java/jdocs/jdbc/JdbcHibernateTest.java          | 4 ++--
 examples/src/test/java/jdocs/kafka/KafkaDocExample.java           | 8 ++++----
 .../projection/grpc/consumer/javadsl/ConsumerCompileTest.java     | 6 ++----
 .../projection/grpc/producer/javadsl/ProducerCompileTest.java     | 4 ++--
 .../src/test/java/jdocs/cassandra/WordCountDocExample.java        | 4 ++--
 .../java/org/apache/pekko/projection/jdbc/JdbcProjectionTest.java | 3 +--
 10 files changed, 20 insertions(+), 25 deletions(-)

diff --git 
a/cassandra-test/src/test/java/org/apache/pekko/projection/cassandra/CassandraProjectionTest.java
 
b/cassandra-test/src/test/java/org/apache/pekko/projection/cassandra/CassandraProjectionTest.java
index 61947ac2..a1c68e38 100644
--- 
a/cassandra-test/src/test/java/org/apache/pekko/projection/cassandra/CassandraProjectionTest.java
+++ 
b/cassandra-test/src/test/java/org/apache/pekko/projection/cassandra/CassandraProjectionTest.java
@@ -16,7 +16,6 @@ package org.apache.pekko.projection.cassandra;
 import static org.junit.Assert.assertEquals;
 
 import java.time.Duration;
-import java.util.Arrays;
 import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.CompletableFuture;
@@ -100,7 +99,7 @@ public class CassandraProjectionTest extends JUnitSuite {
   public static SourceProvider<Long, Envelope> sourceProvider(String entityId) 
{
     Source<Envelope, NotUsed> envelopes =
         Source.from(
-            Arrays.asList(
+            List.of(
                 new Envelope(entityId, 1, "abc"),
                 new Envelope(entityId, 2, "def"),
                 new Envelope(entityId, 3, "ghi"),
diff --git a/examples/src/test/java/jdocs/eventsourced/ShoppingCart.java 
b/examples/src/test/java/jdocs/eventsourced/ShoppingCart.java
index 33345a06..f964e32b 100644
--- a/examples/src/test/java/jdocs/eventsourced/ShoppingCart.java
+++ b/examples/src/test/java/jdocs/eventsourced/ShoppingCart.java
@@ -202,8 +202,7 @@ public class ShoppingCart
 
   // #slicingTags
   public static final List<String> tags =
-      Collections.unmodifiableList(
-          Arrays.asList("carts-0", "carts-1", "carts-2", "carts-3", 
"carts-4"));
+      List.of("carts-0", "carts-1", "carts-2", "carts-3", "carts-4");
 
   // #slicingTags
 
@@ -212,7 +211,7 @@ public class ShoppingCart
   public Set<String> tagsFor(Event event) {
     int n = Math.abs(cartId.hashCode() % tags.size());
     String selectedTag = tags.get(n);
-    return Collections.singleton(selectedTag);
+    return Set.of(selectedTag);
   }
 
   // #tagging
diff --git a/examples/src/test/java/jdocs/guide/EventGeneratorApp.java 
b/examples/src/test/java/jdocs/guide/EventGeneratorApp.java
index 20e7c408..8d32dbb0 100644
--- a/examples/src/test/java/jdocs/guide/EventGeneratorApp.java
+++ b/examples/src/test/java/jdocs/guide/EventGeneratorApp.java
@@ -60,7 +60,7 @@ public class EventGeneratorApp {
 
 class Guardian {
   static final List<String> PRODUCTS =
-      Arrays.asList("cat t-shirt", "pekko t-shirt", "skis", "bowling shoes");
+      List.of("cat t-shirt", "pekko t-shirt", "skis", "bowling shoes");
 
   static final int MAX_QUANTITY = 5;
   static final int MAX_ITEMS = 3;
@@ -197,7 +197,7 @@ class Guardian {
     public CartPersistentBehavior(PersistenceId persistenceId, String tag) {
       super(persistenceId);
       this.tag = tag;
-      this.tags = new HashSet<>(Collections.singletonList(tag));
+      this.tags = Set.of(tag);
     }
 
     @Override
diff --git a/examples/src/test/java/jdocs/guide/ShoppingCartAppTest.java 
b/examples/src/test/java/jdocs/guide/ShoppingCartAppTest.java
index d3d15ba2..f263097d 100644
--- a/examples/src/test/java/jdocs/guide/ShoppingCartAppTest.java
+++ b/examples/src/test/java/jdocs/guide/ShoppingCartAppTest.java
@@ -17,8 +17,8 @@ package jdocs.guide;
 import static org.junit.Assert.assertEquals;
 
 import java.time.Instant;
-import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
@@ -60,7 +60,7 @@ public class ShoppingCartAppTest {
 
     Source<EventEnvelope<ShoppingCartEvents.Event>, NotUsed> events =
         Source.from(
-            Arrays.asList(
+            List.of(
                 createEnvelope(
                     new ShoppingCartEvents.ItemAdded("a7098", "bowling shoes", 
1), 0L, 0L),
                 createEnvelope(
diff --git a/examples/src/test/java/jdocs/jdbc/JdbcHibernateTest.java 
b/examples/src/test/java/jdocs/jdbc/JdbcHibernateTest.java
index d819387d..2da27adc 100644
--- a/examples/src/test/java/jdocs/jdbc/JdbcHibernateTest.java
+++ b/examples/src/test/java/jdocs/jdbc/JdbcHibernateTest.java
@@ -17,8 +17,8 @@ import static org.junit.Assert.assertEquals;
 
 import com.typesafe.config.Config;
 import com.typesafe.config.ConfigFactory;
-import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
@@ -80,7 +80,7 @@ public class JdbcHibernateTest extends JUnitSuite {
   public static SourceProvider<Long, Envelope> sourceProvider(String entityId) 
{
     Source<Envelope, NotUsed> envelopes =
         Source.from(
-            Arrays.asList(
+            List.of(
                 new Envelope(entityId, 1, "abc"),
                 new Envelope(entityId, 2, "def"),
                 new Envelope(entityId, 3, "ghi"),
diff --git a/examples/src/test/java/jdocs/kafka/KafkaDocExample.java 
b/examples/src/test/java/jdocs/kafka/KafkaDocExample.java
index 573078a0..a7b60d3f 100644
--- a/examples/src/test/java/jdocs/kafka/KafkaDocExample.java
+++ b/examples/src/test/java/jdocs/kafka/KafkaDocExample.java
@@ -14,11 +14,11 @@
 package jdocs.kafka;
 
 import java.time.Duration;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
+import java.util.Set;
 import java.util.concurrent.CompletionStage;
 import java.util.function.Supplier;
 
@@ -116,7 +116,7 @@ public interface KafkaDocExample {
 
     private final Source<WordEnvelope, NotUsed> src =
         Source.from(
-            Arrays.asList(
+            List.of(
                 new WordEnvelope(1L, "abc"),
                 new WordEnvelope(2L, "def"),
                 new WordEnvelope(3L, "ghi"),
@@ -199,7 +199,7 @@ public interface KafkaDocExample {
             .withProperty(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
 
     SourceProvider<MergeableOffset<Long>, ConsumerRecord<String, String>> 
sourceProvider =
-        KafkaSourceProvider.create(system, consumerSettings, 
Collections.singleton(topicName));
+        KafkaSourceProvider.create(system, consumerSettings, 
Set.of(topicName));
     // #sourceProvider
 
     return sourceProvider;
diff --git 
a/grpc-test/src/test/java/org/apache/pekko/projection/grpc/consumer/javadsl/ConsumerCompileTest.java
 
b/grpc-test/src/test/java/org/apache/pekko/projection/grpc/consumer/javadsl/ConsumerCompileTest.java
index 61c5ffd6..89a01f59 100644
--- 
a/grpc-test/src/test/java/org/apache/pekko/projection/grpc/consumer/javadsl/ConsumerCompileTest.java
+++ 
b/grpc-test/src/test/java/org/apache/pekko/projection/grpc/consumer/javadsl/ConsumerCompileTest.java
@@ -13,8 +13,6 @@
 
 package org.apache.pekko.projection.grpc.consumer.javadsl;
 
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 import java.util.Set;
@@ -68,7 +66,7 @@ public class ConsumerCompileTest {
             GrpcClientSettings.fromConfig(
                 
system.settings().config().getConfig("pekko.projection.grpc.consumer.client"),
                 system),
-            Collections.singletonList(ShoppingcartApiProto.javaDescriptor()));
+            List.of(ShoppingcartApiProto.javaDescriptor()));
 
     ShardedDaemonProcess.get(system)
         .init(
@@ -106,7 +104,7 @@ public class ConsumerCompileTest {
         
system.settings().config().getString("pekko.projection.grpc.consumer.stream-id");
 
     List<ConsumerFilter.FilterCriteria> criteria =
-        Arrays.asList(
+        List.of(
             new ConsumerFilter.ExcludeTags(excludeTags),
             new ConsumerFilter.IncludeTags(includeTags));
 
diff --git 
a/grpc-test/src/test/java/org/apache/pekko/projection/grpc/producer/javadsl/ProducerCompileTest.java
 
b/grpc-test/src/test/java/org/apache/pekko/projection/grpc/producer/javadsl/ProducerCompileTest.java
index 203d0a5f..ec15cff1 100644
--- 
a/grpc-test/src/test/java/org/apache/pekko/projection/grpc/producer/javadsl/ProducerCompileTest.java
+++ 
b/grpc-test/src/test/java/org/apache/pekko/projection/grpc/producer/javadsl/ProducerCompileTest.java
@@ -23,8 +23,8 @@ import org.apache.pekko.japi.function.Function;
 import org.apache.pekko.persistence.query.typed.EventEnvelope;
 import org.apache.pekko.projection.grpc.producer.EventProducerSettings;
 
-import java.util.Collections;
 import java.util.Optional;
+import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CompletionStage;
 
@@ -60,7 +60,7 @@ public class ProducerCompileTest {
     Function<HttpRequest, CompletionStage<HttpResponse>> eventProducerService =
         EventProducer.grpcServiceHandler(system, source);
     Function<HttpRequest, CompletionStage<HttpResponse>> 
eventProducerServiceWithMultiple =
-        EventProducer.grpcServiceHandler(system, 
Collections.singleton(source));
+        EventProducer.grpcServiceHandler(system, Set.of(source));
 
     @SuppressWarnings("unchecked")
     Function<HttpRequest, CompletionStage<HttpResponse>> service =
diff --git 
a/integration-examples/src/test/java/jdocs/cassandra/WordCountDocExample.java 
b/integration-examples/src/test/java/jdocs/cassandra/WordCountDocExample.java
index c06fda77..9941d105 100644
--- 
a/integration-examples/src/test/java/jdocs/cassandra/WordCountDocExample.java
+++ 
b/integration-examples/src/test/java/jdocs/cassandra/WordCountDocExample.java
@@ -34,8 +34,8 @@ import org.apache.pekko.actor.typed.javadsl.Receive;
 // #ActorHandler-imports
 
 import java.time.Duration;
-import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
@@ -139,7 +139,7 @@ public interface WordCountDocExample {
 
     private final Source<WordEnvelope, NotUsed> src =
         Source.from(
-            Arrays.asList(
+            List.of(
                 new WordEnvelope(1L, "abc"),
                 new WordEnvelope(2L, "def"),
                 new WordEnvelope(3L, "ghi"),
diff --git 
a/jdbc/src/test/java/org/apache/pekko/projection/jdbc/JdbcProjectionTest.java 
b/jdbc/src/test/java/org/apache/pekko/projection/jdbc/JdbcProjectionTest.java
index 68cfa5db..a8737fa4 100644
--- 
a/jdbc/src/test/java/org/apache/pekko/projection/jdbc/JdbcProjectionTest.java
+++ 
b/jdbc/src/test/java/org/apache/pekko/projection/jdbc/JdbcProjectionTest.java
@@ -22,7 +22,6 @@ import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
 import java.time.Duration;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -144,7 +143,7 @@ public class JdbcProjectionTest extends JUnitSuite {
   public static SourceProvider<Long, Envelope> sourceProvider(String entityId) 
{
     Source<Envelope, NotUsed> envelopes =
         Source.from(
-            Arrays.asList(
+            List.of(
                 new Envelope(entityId, 1, "abc"),
                 new Envelope(entityId, 2, "def"),
                 new Envelope(entityId, 3, "ghi"),


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to