diff --git a/catalog-rest-service/src/main/java/org/openmetadata/catalog/jdbi3/DashboardServiceRepository.java b/catalog-rest-service/src/main/java/org/openmetadata/catalog/jdbi3/DashboardServiceRepository.java index 41fb98d374e..0f861ff4ad2 100644 --- a/catalog-rest-service/src/main/java/org/openmetadata/catalog/jdbi3/DashboardServiceRepository.java +++ b/catalog-rest-service/src/main/java/org/openmetadata/catalog/jdbi3/DashboardServiceRepository.java @@ -18,6 +18,8 @@ import static org.openmetadata.catalog.Entity.FIELD_OWNER; import com.fasterxml.jackson.core.JsonProcessingException; import java.io.IOException; import java.net.URI; +import java.util.ArrayList; +import java.util.List; import java.util.UUID; import org.openmetadata.catalog.Entity; import org.openmetadata.catalog.entity.services.DashboardService; @@ -25,6 +27,8 @@ import org.openmetadata.catalog.resources.services.dashboard.DashboardServiceRes import org.openmetadata.catalog.type.ChangeDescription; import org.openmetadata.catalog.type.DashboardConnection; import org.openmetadata.catalog.type.EntityReference; +import org.openmetadata.catalog.type.Include; +import org.openmetadata.catalog.type.Relationship; import org.openmetadata.catalog.util.EntityInterface; import org.openmetadata.catalog.util.EntityUtil.Fields; @@ -45,6 +49,7 @@ public class DashboardServiceRepository extends EntityRepository getIngestionPipelines(DashboardService service) throws IOException { + List ingestionPipelineIds = + findTo(service.getId(), Entity.DASHBOARD_SERVICE, Relationship.CONTAINS, Entity.INGESTION_PIPELINE); + List ingestionPipelines = new ArrayList<>(); + for (String ingestionPipelineId : ingestionPipelineIds) { + ingestionPipelines.add( + daoCollection + .ingestionPipelineDAO() + .findEntityReferenceById(UUID.fromString(ingestionPipelineId), Include.ALL)); + } + return ingestionPipelines; + } + public static class DashboardServiceEntityInterface extends EntityInterface { public DashboardServiceEntityInterface(DashboardService entity) { super(Entity.DASHBOARD_SERVICE, entity); diff --git a/catalog-rest-service/src/main/java/org/openmetadata/catalog/jdbi3/MessagingServiceRepository.java b/catalog-rest-service/src/main/java/org/openmetadata/catalog/jdbi3/MessagingServiceRepository.java index 6889edde8b3..8ab65899550 100644 --- a/catalog-rest-service/src/main/java/org/openmetadata/catalog/jdbi3/MessagingServiceRepository.java +++ b/catalog-rest-service/src/main/java/org/openmetadata/catalog/jdbi3/MessagingServiceRepository.java @@ -17,12 +17,16 @@ import static org.openmetadata.catalog.Entity.FIELD_OWNER; import java.io.IOException; import java.net.URI; +import java.util.ArrayList; +import java.util.List; import java.util.UUID; import org.openmetadata.catalog.Entity; import org.openmetadata.catalog.entity.services.MessagingService; import org.openmetadata.catalog.resources.services.messaging.MessagingServiceResource; import org.openmetadata.catalog.type.ChangeDescription; import org.openmetadata.catalog.type.EntityReference; +import org.openmetadata.catalog.type.Include; +import org.openmetadata.catalog.type.Relationship; import org.openmetadata.catalog.util.EntityInterface; import org.openmetadata.catalog.util.EntityUtil.Fields; @@ -43,6 +47,7 @@ public class MessagingServiceRepository extends EntityRepository getIngestionPipelines(MessagingService service) throws IOException { + List ingestionPipelineIds = + findTo(service.getId(), Entity.MESSAGING_SERVICE, Relationship.CONTAINS, Entity.INGESTION_PIPELINE); + List ingestionPipelines = new ArrayList<>(); + for (String ingestionPipelineId : ingestionPipelineIds) { + ingestionPipelines.add( + daoCollection + .ingestionPipelineDAO() + .findEntityReferenceById(UUID.fromString(ingestionPipelineId), Include.ALL)); + } + return ingestionPipelines; + } + public static class MessagingServiceEntityInterface extends EntityInterface { public MessagingServiceEntityInterface(MessagingService entity) { super(Entity.MESSAGING_SERVICE, entity); diff --git a/catalog-rest-service/src/main/java/org/openmetadata/catalog/resources/services/ingestionpipelines/IngestionPipelineResource.java b/catalog-rest-service/src/main/java/org/openmetadata/catalog/resources/services/ingestionpipelines/IngestionPipelineResource.java index 05a3414a12b..8d6c7d58c6c 100644 --- a/catalog-rest-service/src/main/java/org/openmetadata/catalog/resources/services/ingestionpipelines/IngestionPipelineResource.java +++ b/catalog-rest-service/src/main/java/org/openmetadata/catalog/resources/services/ingestionpipelines/IngestionPipelineResource.java @@ -119,7 +119,7 @@ public class IngestionPipelineResource extends EntityResource { public static SourceConfig DATABASE_METADATA_CONFIG; + public static SourceConfig DASHBOARD_METADATA_CONFIG; + public static SourceConfig MESSAGING_METADATA_CONFIG; public static AirflowConfiguration AIRFLOW_CONFIG; public static DatabaseServiceResourceTest DATABASE_SERVICE_RESOURCE_TEST; @@ -94,9 +97,17 @@ public class IngestionPipelineResourceTest extends EntityResourceTest