ISSUE-925 Added delete,compact topics config (#926)

* ISSUE-925 Added delete,compact topics config

* Fixed checkstyle
This commit is contained in:
German Osin 2021-10-04 17:19:25 +03:00 committed by GitHub
parent 81a6564183
commit 07a9528d39
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,27 +2,37 @@ package com.provectus.kafka.ui.model;
import com.provectus.kafka.ui.exception.IllegalEntityStateException;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public enum CleanupPolicy {
DELETE("delete"),
COMPACT("compact"),
COMPACT_DELETE("compact,delete"),
COMPACT_DELETE(Arrays.asList("compact,delete", "delete,compact")),
UNKNOWN("unknown");
private final String cleanUpPolicy;
private final List<String> cleanUpPolicy;
CleanupPolicy(String cleanUpPolicy) {
this(Collections.singletonList(cleanUpPolicy));
}
CleanupPolicy(List<String> cleanUpPolicy) {
this.cleanUpPolicy = cleanUpPolicy;
}
public String getCleanUpPolicy() {
return cleanUpPolicy;
return cleanUpPolicy.get(0);
}
public static CleanupPolicy fromString(String string) {
return Arrays.stream(CleanupPolicy.values())
.filter(v -> v.cleanUpPolicy.equals(string.replace(" ", "")))
.findFirst()
.filter(v ->
v.cleanUpPolicy.stream().anyMatch(
s -> s.equals(string.replace(" ", "")
)
)
).findFirst()
.orElseThrow(() ->
new IllegalEntityStateException("Unknown cleanup policy value: " + string));
}