chia7712 commented on code in PR #20346: URL: https://github.com/apache/kafka/pull/20346#discussion_r2292066790
########## metadata/src/main/java/org/apache/kafka/image/ScramImage.java: ########## @@ -105,56 +103,39 @@ public DescribeUserScramCredentialsResponseData describe(DescribeUserScramCreden DescribeUserScramCredentialsResponseData retval = new DescribeUserScramCredentialsResponseData(); - for (Map.Entry<String, Boolean> user : uniqueUsers.entrySet()) { + for (Entry<String, Boolean> user : uniqueUsers.entrySet()) { DescribeUserScramCredentialsResult result = new DescribeUserScramCredentialsResult().setUser(user.getKey()); if (!user.getValue()) { boolean dataFound = false; List<CredentialInfo> credentialInfos = new ArrayList<>(); - for (Map.Entry<ScramMechanism, Map<String, ScramCredentialData>> mechanismsEntry : mechanisms.entrySet()) { + for (Entry<ScramMechanism, Map<String, ScramCredentialData>> mechanismsEntry : mechanisms.entrySet()) { Review Comment: Using `var` makes it clearer. ########## metadata/src/main/java/org/apache/kafka/metadata/placement/TopicAssignment.java: ########## @@ -18,16 +18,13 @@ package org.apache.kafka.metadata.placement; import java.util.List; -import java.util.Objects; /** * The topic assignment. - * + * <p> * This class is immutable. It's internal state does not change. */ -public class TopicAssignment { - private final List<PartitionAssignment> assignments; - +public record TopicAssignment(List<PartitionAssignment> assignments) { public TopicAssignment(List<PartitionAssignment> assignments) { Review Comment: ```java public TopicAssignment { assignments = List.copyOf(assignments); } ``` ########## metadata/src/main/java/org/apache/kafka/image/ScramImage.java: ########## @@ -105,56 +103,39 @@ public DescribeUserScramCredentialsResponseData describe(DescribeUserScramCreden DescribeUserScramCredentialsResponseData retval = new DescribeUserScramCredentialsResponseData(); - for (Map.Entry<String, Boolean> user : uniqueUsers.entrySet()) { + for (Entry<String, Boolean> user : uniqueUsers.entrySet()) { Review Comment: ditto ########## metadata/src/main/java/org/apache/kafka/metadata/placement/TopicAssignment.java: ########## @@ -38,22 +35,4 @@ public TopicAssignment(List<PartitionAssignment> assignments) { public List<PartitionAssignment> assignments() { Review Comment: this is not necessary after switching to a `record` class, right? ########## metadata/src/main/java/org/apache/kafka/metadata/FinalizedControllerFeatures.java: ########## @@ -48,30 +44,11 @@ public Set<String> featureNames() { return featureMap.keySet(); } - public Map<String, Short> featureMap() { - return featureMap; - } - - public long epoch() { - return epoch; - } - - @Override - public int hashCode() { - return Objects.hash(featureMap, epoch); - } - - @Override - public boolean equals(Object o) { - if (!(o instanceof FinalizedControllerFeatures other)) return false; - return featureMap.equals(other.featureMap) && epoch == other.epoch; - } - @Override public String toString() { Review Comment: This seems to be equivalent to the generated `toString`? ########## metadata/src/main/java/org/apache/kafka/image/MetadataVersionChange.java: ########## @@ -21,57 +21,23 @@ import java.util.Objects; - /** * A change in the MetadataVersion. */ -public final class MetadataVersionChange { - private final MetadataVersion oldVersion; - private final MetadataVersion newVersion; - +public record MetadataVersionChange(MetadataVersion oldVersion, MetadataVersion newVersion) { public MetadataVersionChange( - MetadataVersion oldVersion, - MetadataVersion newVersion + MetadataVersion oldVersion, + MetadataVersion newVersion ) { this.oldVersion = Objects.requireNonNull(oldVersion); Review Comment: ```java public MetadataVersionChange{ Objects.requireNonNull(oldVersion); Objects.requireNonNull(newVersion); } ``` Also, please add unit test for it ########## metadata/src/main/java/org/apache/kafka/image/ScramImage.java: ########## @@ -39,14 +39,12 @@ /** * Represents the SCRAM credentials in the metadata image. - * + * <p> * This class is thread-safe. */ -public final class ScramImage { +public record ScramImage(Map<ScramMechanism, Map<String, ScramCredentialData>> mechanisms) { public static final ScramImage EMPTY = new ScramImage(Map.of()); - private final Map<ScramMechanism, Map<String, ScramCredentialData>> mechanisms; - public ScramImage(Map<ScramMechanism, Map<String, ScramCredentialData>> mechanisms) { Review Comment: ```java public ScramImage { mechanisms = Collections.unmodifiableMap(mechanisms); } ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org