Implementing autoConfigure for HexSerde
This commit is contained in:
parent
8126607b91
commit
ac23148ca1
2 changed files with 11 additions and 6 deletions
|
@ -16,12 +16,21 @@ public class HexSerde implements BuiltInSerde {
|
||||||
return "Hex";
|
return "Hex";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void autoConfigure(PropertyResolver kafkaClusterProperties, PropertyResolver globalProperties) {
|
||||||
|
configure(" ", true);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(PropertyResolver serdeProperties,
|
public void configure(PropertyResolver serdeProperties,
|
||||||
PropertyResolver kafkaClusterProperties,
|
PropertyResolver kafkaClusterProperties,
|
||||||
PropertyResolver globalProperties) {
|
PropertyResolver globalProperties) {
|
||||||
String delim = serdeProperties.getProperty("delimiter", String.class).orElse(" ");
|
String delim = serdeProperties.getProperty("delimiter", String.class).orElse(" ");
|
||||||
boolean uppercase = serdeProperties.getProperty("uppercase", Boolean.class).orElse(true);
|
boolean uppercase = serdeProperties.getProperty("uppercase", Boolean.class).orElse(true);
|
||||||
|
configure(delim, uppercase);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void configure(String delim, boolean uppercase) {
|
||||||
deserializeHexFormat = HexFormat.ofDelimiter(delim);
|
deserializeHexFormat = HexFormat.ofDelimiter(delim);
|
||||||
if (uppercase) {
|
if (uppercase) {
|
||||||
deserializeHexFormat = deserializeHexFormat.withUpperCase();
|
deserializeHexFormat = deserializeHexFormat.withUpperCase();
|
||||||
|
|
|
@ -16,16 +16,12 @@ public class HexSerdeTest {
|
||||||
private static final byte[] TEST_BYTES = "hello world".getBytes();
|
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 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
|
@BeforeEach
|
||||||
void init() {
|
void init() {
|
||||||
hexSerde = new HexSerde();
|
hexSerde = new HexSerde();
|
||||||
hexSerde.configure(
|
hexSerde.autoConfigure(PropertyResolverImpl.empty(), PropertyResolverImpl.empty());
|
||||||
PropertyResolverImpl.empty(),
|
|
||||||
PropertyResolverImpl.empty(),
|
|
||||||
PropertyResolverImpl.empty()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue