in commons/src/main/java/com/epam/eco/kafkamanager/TopicSearchCriteriaImpl.java [148:173]
public boolean matches(TopicInfo obj) {
Validate.notNull(obj, "Topic Info is null");
Boolean underReplicated = null;
if (ReplicationState.FULLY_REPLICATED == replicationState) {
underReplicated = Boolean.FALSE;
} else if (ReplicationState.UNDER_REPLICATED == replicationState) {
underReplicated = Boolean.TRUE;
}
return
(StringUtils.isBlank(topicName) || StringUtils.containsIgnoreCase(obj.getName(), topicName)) &&
(minPartitionCount == null || obj.getPartitionCount() >= minPartitionCount) &&
(maxPartitionCount == null || obj.getPartitionCount() <= maxPartitionCount) &&
(minReplicationFactor == null || obj.getReplicationFactor() >= minReplicationFactor) &&
(maxReplicationFactor == null || obj.getReplicationFactor() <= maxReplicationFactor) &&
(minConsumerCount == null || matchesMinConsumerCount(obj)) &&
(maxConsumerCount == null || matchesMaxConsumerCount(obj)) &&
(underReplicated == null || obj.hasUnderReplicatedPartitions() == underReplicated) &&
(
StringUtils.isBlank(configString) ||
obj.getConfig().entrySet().containsAll(parseConfigString(configString).entrySet())) &&
(configMap == null || obj.getConfig().entrySet().containsAll(configMap.entrySet())) &&
(StringUtils.isBlank(description) || StringUtils.containsIgnoreCase(
obj.getMetadata().map(Metadata::getDescription).orElse(null), description));
}