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-connectors-kafka.git
The following commit(s) were added to refs/heads/main by this push:
new 6a0aa242 refactor: modernize Java test code with Java 17 features
(#562)
6a0aa242 is described below
commit 6a0aa242d97490c825f88c24516132b3030cdd76
Author: He-Pin(kerr) <[email protected]>
AuthorDate: Fri Jun 19 17:00:41 2026 +0800
refactor: modernize Java test code with Java 17 features (#562)
Motivation:
Java 17 introduced records that make Java code more concise and readable
by eliminating boilerplate for data carrier classes.
Modification:
- Convert SampleData class to a Java record with Jackson annotations
- Convert User class to a record in ClusterShardingExample
- Update field accesses to use record accessor methods
Result:
Test Java code is more concise, reducing equals/hashCode/toString
boilerplate while maintaining Jackson serialization compatibility.
Tests:
sbt "java-tests / Test / compile"
References:
None - code modernization
---
.../java/docs/javadsl/ClusterShardingExample.java | 12 ++--------
.../src/test/java/docs/javadsl/SampleData.java | 27 +---------------------
2 files changed, 3 insertions(+), 36 deletions(-)
diff --git a/java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java
b/java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java
index b8fb9361..4ecd32af 100644
--- a/java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java
+++ b/java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java
@@ -39,15 +39,7 @@ import org.apache.pekko.stream.javadsl.Sink;
public class ClusterShardingExample {
// #user-entity
- static final class User {
- public final String id;
- public final String mame;
-
- User(String id, String mame) {
- this.id = id;
- this.mame = mame;
- }
- }
+ record User(String id, String mame) {}
// #user-entity
@@ -70,7 +62,7 @@ public class ClusterShardingExample {
.messageExtractorNoEnvelope(
"user-topic",
Duration.ofSeconds(10),
- (User msg) -> msg.id,
+ (User msg) -> msg.id(),
ConsumerSettings.create(
Adapter.toClassic(system), new StringDeserializer(), new
StringDeserializer()));
// #message-extractor
diff --git a/java-tests/src/test/java/docs/javadsl/SampleData.java
b/java-tests/src/test/java/docs/javadsl/SampleData.java
index cc7a7789..4f81bef7 100644
--- a/java-tests/src/test/java/docs/javadsl/SampleData.java
+++ b/java-tests/src/test/java/docs/javadsl/SampleData.java
@@ -14,36 +14,11 @@
package docs.javadsl;
-import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.Objects;
-
-public class SampleData {
-
- public final String name;
- public final int value;
-
- @JsonCreator
- public SampleData(@JsonProperty("name") String name, @JsonProperty("value")
int value) {
- this.name = name;
- this.value = value;
- }
+public record SampleData(@JsonProperty("name") String name,
@JsonProperty("value") int value) {
@Override
public String toString() {
return "SampleData(name=" + name + ",value=" + value + ")";
}
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- SampleData that = (SampleData) o;
- return value == that.value && Objects.equals(name, that.name);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(name, value);
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]