From 0782dc28b64bc994622f6749aaef35583b850c32 Mon Sep 17 00:00:00 2001 From: IceS2 Date: Wed, 20 Aug 2025 10:32:51 +0200 Subject: [PATCH] Add deploy pipeline method to ingestion pipeline repository (#22999) * Adding deployIngestionPipeline method to the IngestionPipelineRepository * Add Missing entityspecificUpdate * Fix updating relationships * Made updateProcessingEngine protected * Update updateFrom and updateTo relationship to be able to just delete a relationship if we update it to null --- .../service/jdbi3/EntityRepository.java | 21 +++++--- .../jdbi3/IngestionPipelineRepository.java | 53 +++++++++++++++++-- 2 files changed, 63 insertions(+), 11 deletions(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java index 138e41faa99..6cec00c1437 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java @@ -4571,13 +4571,15 @@ public abstract class EntityRepository { deleteTo(fromId, fromEntityType, relationshipType, toEntityType); } // Add relationships from updated - addRelationship( - fromId, - updatedToRef.getId(), - fromEntityType, - toEntityType, - relationshipType, - bidirectional); + if (updatedToRef != null) { + addRelationship( + fromId, + updatedToRef.getId(), + fromEntityType, + toEntityType, + relationshipType, + bidirectional); + } } /** @@ -4652,7 +4654,10 @@ public abstract class EntityRepository { deleteTo(toId, toEntityType, relationshipType, fromEntityType); // Add relationships from updated - addRelationship(updatedFromRef.getId(), toId, fromEntityType, toEntityType, relationshipType); + if (updatedFromRef != null) { + addRelationship( + updatedFromRef.getId(), toId, fromEntityType, toEntityType, relationshipType); + } } public final void storeUpdate() { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IngestionPipelineRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IngestionPipelineRepository.java index ef81ae7407e..2e0137b9b46 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IngestionPipelineRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IngestionPipelineRepository.java @@ -15,6 +15,7 @@ package org.openmetadata.service.jdbi3; import static org.openmetadata.schema.type.EventType.ENTITY_FIELDS_CHANGED; import static org.openmetadata.schema.type.EventType.ENTITY_UPDATED; +import static org.openmetadata.service.Entity.INGESTION_PIPELINE; import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.UriInfo; @@ -30,9 +31,11 @@ import lombok.extern.slf4j.Slf4j; import org.jdbi.v3.sqlobject.transaction.Transaction; import org.json.JSONObject; import org.openmetadata.schema.EntityInterface; +import org.openmetadata.schema.ServiceEntityInterface; import org.openmetadata.schema.entity.applications.configuration.ApplicationConfig; import org.openmetadata.schema.entity.services.ingestionPipelines.AirflowConfig; import org.openmetadata.schema.entity.services.ingestionPipelines.IngestionPipeline; +import org.openmetadata.schema.entity.services.ingestionPipelines.PipelineServiceClientResponse; import org.openmetadata.schema.entity.services.ingestionPipelines.PipelineStatus; import org.openmetadata.schema.entity.services.ingestionPipelines.PipelineType; import org.openmetadata.schema.metadataIngestion.ApplicationPipeline; @@ -233,9 +236,17 @@ public class IngestionPipelineRepository extends EntityRepository