KafkaConnectMapper.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.provectus.kafka.ui.mapper;
  2. import com.provectus.kafka.ui.connect.model.ConnectorStatusConnector;
  3. import com.provectus.kafka.ui.connect.model.ConnectorTask;
  4. import com.provectus.kafka.ui.connect.model.NewConnector;
  5. import com.provectus.kafka.ui.model.ConnectorDTO;
  6. import com.provectus.kafka.ui.model.ConnectorPluginConfigValidationResponseDTO;
  7. import com.provectus.kafka.ui.model.ConnectorPluginDTO;
  8. import com.provectus.kafka.ui.model.ConnectorStatusDTO;
  9. import com.provectus.kafka.ui.model.ConnectorTaskStatusDTO;
  10. import com.provectus.kafka.ui.model.FullConnectorInfoDTO;
  11. import com.provectus.kafka.ui.model.TaskDTO;
  12. import com.provectus.kafka.ui.model.TaskStatusDTO;
  13. import com.provectus.kafka.ui.model.connect.InternalConnectInfo;
  14. import java.util.List;
  15. import org.mapstruct.Mapper;
  16. @Mapper(componentModel = "spring")
  17. public interface KafkaConnectMapper {
  18. NewConnector toClient(com.provectus.kafka.ui.model.NewConnectorDTO newConnector);
  19. ConnectorDTO fromClient(com.provectus.kafka.ui.connect.model.Connector connector);
  20. ConnectorStatusDTO fromClient(ConnectorStatusConnector connectorStatus);
  21. TaskDTO fromClient(ConnectorTask connectorTask);
  22. TaskStatusDTO fromClient(com.provectus.kafka.ui.connect.model.TaskStatus taskStatus);
  23. ConnectorPluginDTO fromClient(
  24. com.provectus.kafka.ui.connect.model.ConnectorPlugin connectorPlugin);
  25. ConnectorPluginConfigValidationResponseDTO fromClient(
  26. com.provectus.kafka.ui.connect.model.ConnectorPluginConfigValidationResponse
  27. connectorPluginConfigValidationResponse);
  28. default FullConnectorInfoDTO fullConnectorInfoFromTuple(InternalConnectInfo connectInfo) {
  29. ConnectorDTO connector = connectInfo.getConnector();
  30. List<TaskDTO> tasks = connectInfo.getTasks();
  31. int failedTasksCount = (int) tasks.stream()
  32. .map(TaskDTO::getStatus)
  33. .map(TaskStatusDTO::getState)
  34. .filter(ConnectorTaskStatusDTO.FAILED::equals)
  35. .count();
  36. return new FullConnectorInfoDTO()
  37. .connect(connector.getConnect())
  38. .name(connector.getName())
  39. .connectorClass((String) connectInfo.getConfig().get("connector.class"))
  40. .type(connector.getType())
  41. .topics(connectInfo.getTopics())
  42. .status(connector.getStatus())
  43. .tasksCount(tasks.size())
  44. .failedTasksCount(failedTasksCount);
  45. }
  46. }