From 29f49ee7835f1b38ab2279e47264b3ad6ae43c21 Mon Sep 17 00:00:00 2001 From: 07Himank <112613760+07Himank@users.noreply.github.com> Date: Tue, 4 Apr 2023 17:03:57 +0530 Subject: [PATCH] Ingestion pipeline by service type task (#10914) * working on ingestion getList Issue * filter ingestion pipeline by pipelineType * revoked docker conf * removed old changes and formatted * . * addressing comments --------- Co-authored-by: Himank Mehta --- .../service/OpenMetadataApplication.java | 4 +++ .../service/jdbi3/ListFilter.java | 19 ++++++++++++ .../resources/databases/DatasourceConfig.java | 30 +++++++++++++++++++ .../IngestionPipelineResource.java | 11 +++++-- 4 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/resources/databases/DatasourceConfig.java diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java b/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java index 8eed634a705..fd7cad7daa7 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/OpenMetadataApplication.java @@ -81,6 +81,7 @@ import org.openmetadata.service.monitoring.EventMonitor; import org.openmetadata.service.monitoring.EventMonitorFactory; import org.openmetadata.service.monitoring.EventMonitorPublisher; import org.openmetadata.service.resources.CollectionRegistry; +import org.openmetadata.service.resources.databases.DatasourceConfig; import org.openmetadata.service.secrets.SecretsManager; import org.openmetadata.service.secrets.SecretsManagerFactory; import org.openmetadata.service.secrets.SecretsManagerUpdateService; @@ -151,6 +152,9 @@ public class OpenMetadataApplication extends Application>'pipelineType' = '%s'", pipelineType) + : String.format("json->>'pipelineType' = '%s%%'", tableName, pipelineType); + } + private String getCategoryPrefixCondition(String tableName, String category) { category = escape(category); return tableName == null diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/databases/DatasourceConfig.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/databases/DatasourceConfig.java new file mode 100644 index 00000000000..695d55f1bfe --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/databases/DatasourceConfig.java @@ -0,0 +1,30 @@ +package org.openmetadata.service.resources.databases; + +import io.dropwizard.db.DataSourceFactory; +import org.openmetadata.service.OpenMetadataApplicationConfig; +import org.openmetadata.service.jdbi3.locator.ConnectionType; + +public class DatasourceConfig { + private static DatasourceConfig INSTANCE; + private static volatile boolean INITIALIZED = false; + private static DataSourceFactory dataSourceFactory; + + public static void initialize(OpenMetadataApplicationConfig config) { + if (!INITIALIZED) { + INSTANCE = new DatasourceConfig(); + dataSourceFactory = config.getDataSourceFactory(); + INITIALIZED = true; + } + } + + public static DatasourceConfig getInstance() { + return INSTANCE; + } + + public Boolean isMySQL() { + if (dataSourceFactory.getDriverClass().equals(ConnectionType.MYSQL.label)) { + return true; + } + return false; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/services/ingestionpipelines/IngestionPipelineResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/services/ingestionpipelines/IngestionPipelineResource.java index 8ab670b2d06..a737eaa44d8 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/services/ingestionpipelines/IngestionPipelineResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/services/ingestionpipelines/IngestionPipelineResource.java @@ -14,7 +14,8 @@ package org.openmetadata.service.resources.services.ingestionpipelines; import static org.openmetadata.common.utils.CommonUtil.listOrEmpty; -import static org.openmetadata.service.Entity.*; +import static org.openmetadata.service.Entity.FIELD_OWNER; +import static org.openmetadata.service.Entity.FIELD_PIPELINE_STATUS; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.Hidden; @@ -152,6 +153,11 @@ public class IngestionPipelineResource extends EntityResource ingestionPipelines = super.listInternal(uriInfo, securityContext, fieldsParam, filter, limitParam, before, after);