|
@@ -1,8 +1,6 @@
|
|
package com.provectus.kafka.ui.serdes.builtin;
|
|
package com.provectus.kafka.ui.serdes.builtin;
|
|
|
|
|
|
import com.provectus.kafka.ui.serde.api.DeserializeResult;
|
|
import com.provectus.kafka.ui.serde.api.DeserializeResult;
|
|
-import com.provectus.kafka.ui.serde.api.PropertyResolver;
|
|
|
|
-import com.provectus.kafka.ui.serde.api.RecordHeaders;
|
|
|
|
import com.provectus.kafka.ui.serde.api.SchemaDescription;
|
|
import com.provectus.kafka.ui.serde.api.SchemaDescription;
|
|
import com.provectus.kafka.ui.serdes.BuiltInSerde;
|
|
import com.provectus.kafka.ui.serdes.BuiltInSerde;
|
|
import java.util.Base64;
|
|
import java.util.Base64;
|
|
@@ -16,12 +14,6 @@ public class Base64Serde implements BuiltInSerde {
|
|
return "Base64";
|
|
return "Base64";
|
|
}
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
|
- public void configure(PropertyResolver serdeProperties,
|
|
|
|
- PropertyResolver kafkaClusterProperties,
|
|
|
|
- PropertyResolver globalProperties) {
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public Optional<String> getDescription() {
|
|
public Optional<String> getDescription() {
|
|
return Optional.empty();
|
|
return Optional.empty();
|
|
@@ -44,31 +36,25 @@ public class Base64Serde implements BuiltInSerde {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Serializer serializer(String topic, Target type) {
|
|
public Serializer serializer(String topic, Target type) {
|
|
- return new Serializer() {
|
|
|
|
- @Override
|
|
|
|
- public byte[] serialize(String input) {
|
|
|
|
- input = input.trim();
|
|
|
|
- // it is actually a hack to provide ability to sent empty array as a key/value
|
|
|
|
- if (input.length() == 0) {
|
|
|
|
- return new byte[]{};
|
|
|
|
- }
|
|
|
|
- return Base64.getDecoder().decode(input);
|
|
|
|
|
|
+ var decoder = Base64.getDecoder();
|
|
|
|
+ return inputString -> {
|
|
|
|
+ inputString = inputString.trim();
|
|
|
|
+ // it is actually a hack to provide ability to sent empty array as a key/value
|
|
|
|
+ if (inputString.length() == 0) {
|
|
|
|
+ return new byte[] {};
|
|
}
|
|
}
|
|
|
|
+ return decoder.decode(inputString);
|
|
};
|
|
};
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Deserializer deserializer(String topic, Target type) {
|
|
public Deserializer deserializer(String topic, Target type) {
|
|
var encoder = Base64.getEncoder();
|
|
var encoder = Base64.getEncoder();
|
|
- return new Deserializer() {
|
|
|
|
- @Override
|
|
|
|
- public DeserializeResult deserialize(RecordHeaders headers, byte[] data) {
|
|
|
|
- return new DeserializeResult(
|
|
|
|
|
|
+ return (headers, data) ->
|
|
|
|
+ new DeserializeResult(
|
|
encoder.encodeToString(data),
|
|
encoder.encodeToString(data),
|
|
DeserializeResult.Type.STRING,
|
|
DeserializeResult.Type.STRING,
|
|
Map.of()
|
|
Map.of()
|
|
);
|
|
);
|
|
- }
|
|
|
|
- };
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|