diff --git a/src/main/java/org/akhq/repositories/ConnectRepository.java b/src/main/java/org/akhq/repositories/ConnectRepository.java index f04d3636f..cf7c959d6 100644 --- a/src/main/java/org/akhq/repositories/ConnectRepository.java +++ b/src/main/java/org/akhq/repositories/ConnectRepository.java @@ -14,9 +14,7 @@ import org.akhq.models.ConnectPlugin; import org.akhq.modules.KafkaModule; import org.akhq.utils.UserGroupUtils; -import org.sourcelab.kafka.connect.apiclient.request.dto.ConnectorPlugin; -import org.sourcelab.kafka.connect.apiclient.request.dto.ConnectorPluginConfigDefinition; -import org.sourcelab.kafka.connect.apiclient.request.dto.NewConnectorDefinition; +import org.sourcelab.kafka.connect.apiclient.request.dto.*; import org.sourcelab.kafka.connect.apiclient.rest.exceptions.ConcurrentConfigModificationException; import org.sourcelab.kafka.connect.apiclient.rest.exceptions.InvalidRequestException; import org.sourcelab.kafka.connect.apiclient.rest.exceptions.ResourceNotFoundException; @@ -68,24 +66,24 @@ public ConnectDefinition getDefinition(String clusterId, String connectId, Strin ResourceNotFoundException.class }, delay = "3s", attempts = "5") public List getDefinitions(String clusterId, String connectId) { - Collection unfiltered = this.kafkaModule + ConnectorsWithExpandedMetadata unfiltered = this.kafkaModule .getConnectRestClient(clusterId) .get(connectId) - .getConnectors(); - - ArrayList filtered = new ArrayList(); - for (String item : unfiltered) { - if (isMatchRegex(getConnectFilterRegex(), item)) { - filtered.add(item); + .getConnectorsWithAllExpandedMetadata(); + + ArrayList filtered = new ArrayList<>(); + for (ConnectorDefinition item : unfiltered.getAllDefinitions()) { + if (isMatchRegex(getConnectFilterRegex(), item.getName())) { + filtered.add(new ConnectDefinition( + item, + unfiltered.getStatusForConnector(item.getName()) + )); } } - return filtered.stream() - .map(s -> getDefinition(clusterId, connectId, s)) - .collect(Collectors.toList()); + return filtered; } - public Optional getPlugin(String clusterId, String connectId, String className) { return this.kafkaModule .getConnectRestClient(clusterId)