Skip to content

Commit

Permalink
feat(topic-data): search for tombstones in a topic
Browse files Browse the repository at this point in the history
close #691
  • Loading branch information
tchiotludo committed Jun 21, 2021
1 parent bcb4370 commit a97d65f
Showing 1 changed file with 27 additions and 3 deletions.
30 changes: 27 additions & 3 deletions src/main/java/org/akhq/repositories/RecordRepository.java
Original file line number Diff line number Diff line change
Expand Up @@ -637,15 +637,21 @@ private static boolean searchFilter(BaseOptions options, Record record) {
return search(options.getSearch(), Arrays.asList(record.getKey(), record.getValue()));
} else {
if (options.getSearchByKey() != null) {
if (!search(options.getSearchByKey(), Collections.singletonList(record.getKey()))) return false;
if (!search(options.getSearchByKey(), Collections.singletonList(record.getKey()))) {
return false;
}
}

if (options.getSearchByValue() != null) {
if (!search(options.getSearchByValue(), Collections.singletonList(record.getValue()))) return false;
if (!search(options.getSearchByValue(), Collections.singletonList(record.getValue()))) {
return false;
}
}

if (options.getSearchByHeaderKey() != null) {
if (!search(options.getSearchByHeaderKey(), record.getHeaders().keySet())) return false;
if (!search(options.getSearchByHeaderKey(), record.getHeaders().keySet())) {
return false;
}
}

if (options.getSearchByHeaderValue() != null) {
Expand All @@ -667,6 +673,12 @@ private static boolean search(Search searchFilter, Collection<String> stringsToS
}

private static boolean containsAll(String search, Collection<String> in) {
if (search.equals("null")) {
return in
.stream()
.allMatch(Objects::isNull);
}

String[] split = search.toLowerCase().split("\\s");
for (String s : in) {
if(s != null) {
Expand All @@ -682,6 +694,12 @@ private static boolean containsAll(String search, Collection<String> in) {
}

private static boolean equalsAll(String search, Collection<String> in) {
if (search.equals("null")) {
return in
.stream()
.allMatch(Objects::isNull);
}

String[] split = search.toLowerCase().split("\\s");
for (String s : in) {
if(s != null) {
Expand All @@ -697,6 +715,12 @@ private static boolean equalsAll(String search, Collection<String> in) {
}

private static boolean notContainsAll(String search, Collection<String> in) {
if (search.equals("null")) {
return in
.stream()
.noneMatch(Objects::isNull);
}

String[] split = search.toLowerCase().split("\\s");
for (String s : in) {
if(s != null) {
Expand Down

0 comments on commit a97d65f

Please sign in to comment.