Skip to content

Commit e854995

Browse files
TheWorkshopComfhussonnois
TheWorkshopCom
authored andcommitted
feat(filters): add built-in ExcludeFieldsMatchingPatternFilter
1 parent 6752c23 commit e854995

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.regex.Pattern;
2323
import org.apache.kafka.common.config.ConfigDef;
2424

25-
public class ExcludeFieldsMatchingPatternsConfig extends CommonFilterConfig {
25+
public class ExcludeFieldsMatchingPatternConfig extends CommonFilterConfig {
2626
public static final String EXCLUDE_FIELDS_REGEX_CONFIG = "regex";
2727

2828
private static final String EXCLUDE_FIELDS_REGEX_CONFIG_DOC = "Regexp pattern applied to a field value to determine if the fields should be propagated or not.";
@@ -31,7 +31,7 @@ public class ExcludeFieldsMatchingPatternsConfig extends CommonFilterConfig {
3131

3232
private static final String EXCLUDE_FIELDS_BLOCK_FIELD_CONFIG_DOC = "If true, omits propagating the field downstream. Otherwise, propagates the field with a null value";
3333

34-
public ExcludeFieldsMatchingPatternsConfig(Map<?, ?> originals) {
34+
public ExcludeFieldsMatchingPatternConfig(Map<?, ?> originals) {
3535
super(configDef(), originals);
3636
}
3737

Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
package io.streamthoughts.kafka.connect.filepulse.filter;
2020

21-
import io.streamthoughts.kafka.connect.filepulse.config.ExcludeFieldsMatchingPatternsConfig;
21+
import io.streamthoughts.kafka.connect.filepulse.config.ExcludeFieldsMatchingPatternConfig;
2222
import io.streamthoughts.kafka.connect.filepulse.data.TypedStruct;
2323
import io.streamthoughts.kafka.connect.filepulse.data.TypedValue;
2424
import io.streamthoughts.kafka.connect.filepulse.reader.RecordsIterable;
@@ -27,19 +27,19 @@
2727
import java.util.regex.Matcher;
2828
import org.apache.kafka.common.config.ConfigDef;
2929

30-
public class ExcludeFieldsMatchingPatternsFilter extends AbstractRecordFilter<ExcludeFieldsMatchingPatternsFilter> {
30+
public class ExcludeFieldsMatchingPatternFilter extends AbstractRecordFilter<ExcludeFieldsMatchingPatternFilter> {
3131

32-
private ExcludeFieldsMatchingPatternsConfig config;
32+
private ExcludeFieldsMatchingPatternConfig config;
3333

3434
@Override
3535
public ConfigDef configDef() {
36-
return ExcludeFieldsMatchingPatternsConfig.configDef();
36+
return ExcludeFieldsMatchingPatternConfig.configDef();
3737
}
3838

3939
@Override
4040
public void configure(Map<String, ?> configs) {
4141
super.configure(configs);
42-
this.config = new ExcludeFieldsMatchingPatternsConfig(configs);
42+
this.config = new ExcludeFieldsMatchingPatternConfig(configs);
4343
}
4444

4545
@Override
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
*/
1919
package io.streamthoughts.kafka.connect.filepulse.filter;
2020

21-
import static io.streamthoughts.kafka.connect.filepulse.config.ExcludeFieldsMatchingPatternsConfig.EXCLUDE_FIELDS_BLOCK_FIELD_CONFIG;
22-
import static io.streamthoughts.kafka.connect.filepulse.config.ExcludeFieldsMatchingPatternsConfig.EXCLUDE_FIELDS_REGEX_CONFIG;
21+
import static io.streamthoughts.kafka.connect.filepulse.config.ExcludeFieldsMatchingPatternConfig.EXCLUDE_FIELDS_BLOCK_FIELD_CONFIG;
22+
import static io.streamthoughts.kafka.connect.filepulse.config.ExcludeFieldsMatchingPatternConfig.EXCLUDE_FIELDS_REGEX_CONFIG;
2323
import static org.junit.jupiter.api.Assertions.assertEquals;
2424
import static org.junit.jupiter.api.Assertions.assertFalse;
2525
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -32,12 +32,12 @@
3232
import java.util.Map;
3333
import org.junit.jupiter.api.Test;
3434

35-
class ExcludeFieldsMatchingPatternsFilterTest {
35+
class ExcludeFieldsMatchingPatternFilterTest {
3636

3737
@Test
3838
void when_record_null_apply_should_return_empty_iterable() {
3939
FilterContext context = mock(FilterContext.class);
40-
ExcludeFieldsMatchingPatternsFilter filter = new ExcludeFieldsMatchingPatternsFilter();
40+
ExcludeFieldsMatchingPatternFilter filter = new ExcludeFieldsMatchingPatternFilter();
4141
filter.configure(Map.of(EXCLUDE_FIELDS_REGEX_CONFIG, "[a-z]"));
4242

4343
RecordsIterable<TypedStruct> iterable = filter.apply(context, null, false);
@@ -48,7 +48,7 @@ void when_record_null_apply_should_return_empty_iterable() {
4848
@Test
4949
void when_record_apply_should_propagate_null_for_fields_matching_regex_and_propagate_all_other_fields() {
5050
FilterContext context = mock(FilterContext.class);
51-
ExcludeFieldsMatchingPatternsFilter filter = new ExcludeFieldsMatchingPatternsFilter();
51+
ExcludeFieldsMatchingPatternFilter filter = new ExcludeFieldsMatchingPatternFilter();
5252
filter.configure(Map.of(EXCLUDE_FIELDS_REGEX_CONFIG, Fixture.nullFieldRegex));
5353

5454
TypedStruct typedStruct = TypedStruct.create()
@@ -77,7 +77,7 @@ void when_record_apply_should_propagate_null_for_fields_matching_regex_and_propa
7777
@Test
7878
void when_record_apply_should_block_fields_matching_regex_and_propagate_all_other_fields() {
7979
FilterContext context = mock(FilterContext.class);
80-
ExcludeFieldsMatchingPatternsFilter filter = new ExcludeFieldsMatchingPatternsFilter();
80+
ExcludeFieldsMatchingPatternFilter filter = new ExcludeFieldsMatchingPatternFilter();
8181
filter.configure(Map.of(EXCLUDE_FIELDS_REGEX_CONFIG, Fixture.nullFieldRegex,
8282
EXCLUDE_FIELDS_BLOCK_FIELD_CONFIG, "true"));
8383

0 commit comments

Comments
 (0)