From cc5955d5b2848c9e235e69bc44f2f511bc4ae4a7 Mon Sep 17 00:00:00 2001 From: Mickael Maison Date: Sat, 27 Apr 2024 01:16:29 +0200 Subject: [PATCH] MINOR: Various cleanups in generator (#15807) Reviewers: Chia-Ping Tsai --- .../kafka/message/ApiMessageTypeGenerator.java | 2 +- .../org/apache/kafka/message/FieldType.java | 2 +- .../apache/kafka/message/HeaderGenerator.java | 4 ++-- .../kafka/message/JsonConverterGenerator.java | 4 ++-- .../apache/kafka/message/SchemaGenerator.java | 10 +++++----- .../apache/kafka/message/StructRegistry.java | 5 +---- .../org/apache/kafka/message/Versions.java | 2 +- .../message/MessageDataGeneratorTest.java | 2 +- .../kafka/message/MessageGeneratorTest.java | 18 +++++++----------- .../kafka/message/VersionConditionalTest.java | 2 +- 10 files changed, 22 insertions(+), 29 deletions(-) diff --git a/generator/src/main/java/org/apache/kafka/message/ApiMessageTypeGenerator.java b/generator/src/main/java/org/apache/kafka/message/ApiMessageTypeGenerator.java index 2f9cc320498..7aa9d23d73b 100644 --- a/generator/src/main/java/org/apache/kafka/message/ApiMessageTypeGenerator.java +++ b/generator/src/main/java/org/apache/kafka/message/ApiMessageTypeGenerator.java @@ -366,7 +366,7 @@ public final class ApiMessageTypeGenerator implements TypeClassGenerator { buffer.printf("}%n"); } ApiData data = entry.getValue(); - MessageSpec spec = null; + MessageSpec spec; if (type.equals("request")) { spec = data.requestSpec; } else if (type.equals("response")) { diff --git a/generator/src/main/java/org/apache/kafka/message/FieldType.java b/generator/src/main/java/org/apache/kafka/message/FieldType.java index a6d178a7813..a0fa201100e 100644 --- a/generator/src/main/java/org/apache/kafka/message/FieldType.java +++ b/generator/src/main/java/org/apache/kafka/message/FieldType.java @@ -413,7 +413,7 @@ public interface FieldType { default: if (string.startsWith(ARRAY_PREFIX)) { String elementTypeString = string.substring(ARRAY_PREFIX.length()); - if (elementTypeString.length() == 0) { + if (elementTypeString.isEmpty()) { throw new RuntimeException("Can't parse array type " + string + ". No element type found."); } diff --git a/generator/src/main/java/org/apache/kafka/message/HeaderGenerator.java b/generator/src/main/java/org/apache/kafka/message/HeaderGenerator.java index e1b9c129356..4bc3c64b33e 100644 --- a/generator/src/main/java/org/apache/kafka/message/HeaderGenerator.java +++ b/generator/src/main/java/org/apache/kafka/message/HeaderGenerator.java @@ -71,8 +71,8 @@ public final class HeaderGenerator { public void generate() { Objects.requireNonNull(packageName); - for (int i = 0; i < HEADER.length; i++) { - buffer.printf("%s%n", HEADER[i]); + for (String header : HEADER) { + buffer.printf("%s%n", header); } buffer.printf("package %s;%n", packageName); buffer.printf("%n"); diff --git a/generator/src/main/java/org/apache/kafka/message/JsonConverterGenerator.java b/generator/src/main/java/org/apache/kafka/message/JsonConverterGenerator.java index 8ce07b9275d..e89bba772f7 100644 --- a/generator/src/main/java/org/apache/kafka/message/JsonConverterGenerator.java +++ b/generator/src/main/java/org/apache/kafka/message/JsonConverterGenerator.java @@ -108,7 +108,7 @@ public final class JsonConverterGenerator implements MessageClassGenerator { VersionConditional.forVersions(mandatoryVersions, curVersions). ifMember(__ -> { buffer.printf("throw new RuntimeException(\"%s: unable to locate " + - "field \'%s\', which is mandatory in version \" + _version);%n", + "field '%s', which is mandatory in version \" + _version);%n", className, field.camelCaseName()); }). ifNotMember(__ -> { @@ -127,7 +127,7 @@ public final class JsonConverterGenerator implements MessageClassGenerator { input -> String.format("_object.%s = %s", field.camelCaseName(), input)), curVersions); }).ifNotMember(__ -> { - buffer.printf("throw new RuntimeException(\"%s: field \'%s\' is not " + + buffer.printf("throw new RuntimeException(\"%s: field '%s' is not " + "supported in version \" + _version);%n", className, field.camelCaseName()); }).generate(buffer); diff --git a/generator/src/main/java/org/apache/kafka/message/SchemaGenerator.java b/generator/src/main/java/org/apache/kafka/message/SchemaGenerator.java index c20ae4c001e..b1d4861015c 100644 --- a/generator/src/main/java/org/apache/kafka/message/SchemaGenerator.java +++ b/generator/src/main/java/org/apache/kafka/message/SchemaGenerator.java @@ -79,7 +79,7 @@ final class SchemaGenerator { this.messages = new HashMap<>(); } - void generateSchemas(MessageSpec message) throws Exception { + void generateSchemas(MessageSpec message) { this.messageFlexibleVersions = message.flexibleVersions(); // First generate schemas for common structures so that they are @@ -95,7 +95,7 @@ final class SchemaGenerator { } void generateSchemas(String className, StructSpec struct, - Versions parentVersions) throws Exception { + Versions parentVersions) { Versions versions = parentVersions.intersect(struct.versions()); MessageInfo messageInfo = messages.get(className); if (messageInfo != null) { @@ -127,7 +127,7 @@ final class SchemaGenerator { private void generateSchemaForVersion(StructSpec struct, short version, - CodeBuffer buffer) throws Exception { + CodeBuffer buffer) { // Find the last valid field index. int lastValidIndex = struct.fields().size() - 1; while (true) { @@ -172,7 +172,7 @@ final class SchemaGenerator { } private void generateTaggedFieldsSchemaForVersion(StructSpec struct, - short version, CodeBuffer buffer) throws Exception { + short version, CodeBuffer buffer) { headerGenerator.addStaticImport(MessageGenerator.TAGGED_FIELDS_SECTION_CLASS); // Find the last valid tagged field index. @@ -339,7 +339,7 @@ final class SchemaGenerator { * @param className The class name. * @param buffer The destination buffer. */ - void writeSchema(String className, CodeBuffer buffer) throws Exception { + void writeSchema(String className, CodeBuffer buffer) { MessageInfo messageInfo = messages.get(className); Versions versions = messageInfo.versions; diff --git a/generator/src/main/java/org/apache/kafka/message/StructRegistry.java b/generator/src/main/java/org/apache/kafka/message/StructRegistry.java index 4d86e9cfb7b..6d923255139 100644 --- a/generator/src/main/java/org/apache/kafka/message/StructRegistry.java +++ b/generator/src/main/java/org/apache/kafka/message/StructRegistry.java @@ -66,7 +66,7 @@ final class StructRegistry { /** * Register all the structures contained a message spec. */ - void register(MessageSpec message) throws Exception { + void register(MessageSpec message) { // Register common structures. for (StructSpec struct : message.commonStructs()) { if (!MessageGenerator.firstIsCapitalized(struct.name())) { @@ -83,7 +83,6 @@ final class StructRegistry { addStructSpecs(message.validVersions(), message.fields()); } - @SuppressWarnings("unchecked") private void addStructSpecs(Versions parentVersions, List fields) { for (FieldSpec field : fields) { String typeName = null; @@ -123,7 +122,6 @@ final class StructRegistry { /** * Locate the struct corresponding to a field. */ - @SuppressWarnings("unchecked") StructSpec findStruct(FieldSpec field) { String structFieldName; if (field.type().isArray()) { @@ -147,7 +145,6 @@ final class StructRegistry { /** * Return true if the field is a struct array with keys. */ - @SuppressWarnings("unchecked") boolean isStructArrayWithKeys(FieldSpec field) { if (!field.type().isArray()) { return false; diff --git a/generator/src/main/java/org/apache/kafka/message/Versions.java b/generator/src/main/java/org/apache/kafka/message/Versions.java index 2c082cc6f23..80fe11afce7 100644 --- a/generator/src/main/java/org/apache/kafka/message/Versions.java +++ b/generator/src/main/java/org/apache/kafka/message/Versions.java @@ -42,7 +42,7 @@ public final class Versions { return defaultVersions; } String trimmedInput = input.trim(); - if (trimmedInput.length() == 0) { + if (trimmedInput.isEmpty()) { return defaultVersions; } if (trimmedInput.equals(NONE_STRING)) { diff --git a/generator/src/test/java/org/apache/kafka/message/MessageDataGeneratorTest.java b/generator/src/test/java/org/apache/kafka/message/MessageDataGeneratorTest.java index 77598f10426..02c14fb7008 100644 --- a/generator/src/test/java/org/apache/kafka/message/MessageDataGeneratorTest.java +++ b/generator/src/test/java/org/apache/kafka/message/MessageDataGeneratorTest.java @@ -208,7 +208,7 @@ public class MessageDataGeneratorTest { } @Test - public void testInvalidTaggedVersionsNotASubetOfVersions() { + public void testInvalidTaggedVersionsNotASubsetOfVersions() { assertStringContains("taggedVersions must be a subset of versions", assertThrows(Throwable.class, () -> { MessageGenerator.JSON_SERDE.readValue(String.join("", Arrays.asList( diff --git a/generator/src/test/java/org/apache/kafka/message/MessageGeneratorTest.java b/generator/src/test/java/org/apache/kafka/message/MessageGeneratorTest.java index 8eb38e999c7..dcd602ca1fb 100644 --- a/generator/src/test/java/org/apache/kafka/message/MessageGeneratorTest.java +++ b/generator/src/test/java/org/apache/kafka/message/MessageGeneratorTest.java @@ -21,35 +21,35 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; @Timeout(120) public class MessageGeneratorTest { @Test - public void testCapitalizeFirst() throws Exception { + public void testCapitalizeFirst() { assertEquals("", MessageGenerator.capitalizeFirst("")); assertEquals("AbC", MessageGenerator.capitalizeFirst("abC")); } @Test - public void testLowerCaseFirst() throws Exception { + public void testLowerCaseFirst() { assertEquals("", MessageGenerator.lowerCaseFirst("")); assertEquals("fORTRAN", MessageGenerator.lowerCaseFirst("FORTRAN")); assertEquals("java", MessageGenerator.lowerCaseFirst("java")); } @Test - public void testFirstIsCapitalized() throws Exception { + public void testFirstIsCapitalized() { assertFalse(MessageGenerator.firstIsCapitalized("")); assertTrue(MessageGenerator.firstIsCapitalized("FORTRAN")); assertFalse(MessageGenerator.firstIsCapitalized("java")); } @Test - public void testToSnakeCase() throws Exception { + public void testToSnakeCase() { assertEquals("", MessageGenerator.toSnakeCase("")); assertEquals("foo_bar_baz", MessageGenerator.toSnakeCase("FooBarBaz")); assertEquals("foo_bar_baz", MessageGenerator.toSnakeCase("fooBarBaz")); @@ -57,15 +57,11 @@ public class MessageGeneratorTest { } @Test - public void stripSuffixTest() throws Exception { + public void stripSuffixTest() { assertEquals("FooBa", MessageGenerator.stripSuffix("FooBar", "r")); assertEquals("", MessageGenerator.stripSuffix("FooBar", "FooBar")); assertEquals("Foo", MessageGenerator.stripSuffix("FooBar", "Bar")); - try { - MessageGenerator.stripSuffix("FooBar", "Baz"); - fail("expected exception"); - } catch (RuntimeException e) { - } + assertThrows(RuntimeException.class, () -> MessageGenerator.stripSuffix("FooBar", "Baz")); } @Test diff --git a/generator/src/test/java/org/apache/kafka/message/VersionConditionalTest.java b/generator/src/test/java/org/apache/kafka/message/VersionConditionalTest.java index 9d7cdcef311..4dbfd0e3ed2 100644 --- a/generator/src/test/java/org/apache/kafka/message/VersionConditionalTest.java +++ b/generator/src/test/java/org/apache/kafka/message/VersionConditionalTest.java @@ -71,7 +71,7 @@ public class VersionConditionalTest { } @Test - public void testAllowMembershipCheckAlwaysFalseFails() throws Exception { + public void testAllowMembershipCheckAlwaysFalseFails() { try { CodeBuffer buffer = new CodeBuffer(); VersionConditional.