Przeglądaj źródła

BE: Hex serde initialization fix (#4081)

Co-authored-by: iliax <ikuramshin@provectus.com>
Ilya Kuramshin 1 rok temu
rodzic
commit
92157bdd39

+ 9 - 0
kafka-ui-api/src/main/java/com/provectus/kafka/ui/serdes/builtin/HexSerde.java

@@ -16,12 +16,21 @@ public class HexSerde implements BuiltInSerde {
     return "Hex";
   }
 
+  @Override
+  public void autoConfigure(PropertyResolver kafkaClusterProperties, PropertyResolver globalProperties) {
+    configure(" ", true);
+  }
+
   @Override
   public void configure(PropertyResolver serdeProperties,
                         PropertyResolver kafkaClusterProperties,
                         PropertyResolver globalProperties) {
     String delim = serdeProperties.getProperty("delimiter", String.class).orElse(" ");
     boolean uppercase = serdeProperties.getProperty("uppercase", Boolean.class).orElse(true);
+    configure(delim, uppercase);
+  }
+
+  private void configure(String delim, boolean uppercase) {
     deserializeHexFormat = HexFormat.ofDelimiter(delim);
     if (uppercase) {
       deserializeHexFormat = deserializeHexFormat.withUpperCase();

+ 2 - 6
kafka-ui-api/src/test/java/com/provectus/kafka/ui/serdes/builtin/HexSerdeTest.java

@@ -16,16 +16,12 @@ public class HexSerdeTest {
   private static final byte[] TEST_BYTES = "hello world".getBytes();
   private static final String TEST_BYTES_HEX_ENCODED = "68 65 6C 6C 6F 20 77 6F 72 6C 64";
 
-  private Serde hexSerde;
+  private HexSerde hexSerde;
 
   @BeforeEach
   void init() {
     hexSerde = new HexSerde();
-    hexSerde.configure(
-        PropertyResolverImpl.empty(),
-        PropertyResolverImpl.empty(),
-        PropertyResolverImpl.empty()
-    );
+    hexSerde.autoConfigure(PropertyResolverImpl.empty(), PropertyResolverImpl.empty());
   }