mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-10-31 10:39:30 +00:00 
			
		
		
		
	Fixing merge errors
This commit is contained in:
		
							parent
							
								
									db38f08735
								
							
						
					
					
						commit
						589067265f
					
				| @ -28,8 +28,6 @@ import org.openmetadata.catalog.util.EntityInterface; | |||||||
| import org.openmetadata.catalog.util.EntityUtil; | import org.openmetadata.catalog.util.EntityUtil; | ||||||
| import org.openmetadata.catalog.util.EntityUtil.Fields; | import org.openmetadata.catalog.util.EntityUtil.Fields; | ||||||
| import org.openmetadata.catalog.util.JsonUtils; | import org.openmetadata.catalog.util.JsonUtils; | ||||||
| import org.slf4j.Logger; |  | ||||||
| import org.slf4j.LoggerFactory; |  | ||||||
| 
 | 
 | ||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
| import java.net.URI; | import java.net.URI; | ||||||
| @ -42,7 +40,6 @@ import java.util.UUID; | |||||||
| import static org.openmetadata.catalog.exception.CatalogExceptionMessage.entityNotFound; | import static org.openmetadata.catalog.exception.CatalogExceptionMessage.entityNotFound; | ||||||
| 
 | 
 | ||||||
| public class IngestionRepository extends EntityRepository<Ingestion> { | public class IngestionRepository extends EntityRepository<Ingestion> { | ||||||
|   private static final Logger LOG = LoggerFactory.getLogger(IngestionRepository.class); |  | ||||||
|   private static final Fields INGESTION_UPDATE_FIELDS = new Fields(IngestionResource.FIELD_LIST, |   private static final Fields INGESTION_UPDATE_FIELDS = new Fields(IngestionResource.FIELD_LIST, | ||||||
|           "owner,tags"); |           "owner,tags"); | ||||||
|   private static final Fields INGESTION_PATCH_FIELDS = new Fields(IngestionResource.FIELD_LIST, |   private static final Fields INGESTION_PATCH_FIELDS = new Fields(IngestionResource.FIELD_LIST, | ||||||
| @ -50,7 +47,7 @@ public class IngestionRepository extends EntityRepository<Ingestion> { | |||||||
|   private final CollectionDAO dao; |   private final CollectionDAO dao; | ||||||
| 
 | 
 | ||||||
|   public IngestionRepository(CollectionDAO dao) { |   public IngestionRepository(CollectionDAO dao) { | ||||||
|     super(Ingestion.class, dao.ingestionDAO(), dao, INGESTION_PATCH_FIELDS, INGESTION_UPDATE_FIELDS); |     super(Entity.INGESTION, Ingestion.class, dao.ingestionDAO(), dao, INGESTION_PATCH_FIELDS, INGESTION_UPDATE_FIELDS); | ||||||
|     this.dao = dao; |     this.dao = dao; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @ -269,6 +266,9 @@ public class IngestionRepository extends EntityRepository<Ingestion> { | |||||||
|     @Override |     @Override | ||||||
|     public void setOwner(EntityReference owner) { entity.setOwner(owner); } |     public void setOwner(EntityReference owner) { entity.setOwner(owner); } | ||||||
| 
 | 
 | ||||||
|  |     @Override | ||||||
|  |     public Ingestion withHref(URI href) { return entity.withHref(href); } | ||||||
|  | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void setTags(List<TagLabel> tags) { |     public void setTags(List<TagLabel> tags) { | ||||||
|       entity.setTags(tags); |       entity.setTags(tags); | ||||||
|  | |||||||
| @ -421,7 +421,7 @@ public class TableResource { | |||||||
|     SecurityUtil.checkAdminOrBotRole(authorizer, securityContext); |     SecurityUtil.checkAdminOrBotRole(authorizer, securityContext); | ||||||
|     Fields fields = new Fields(FIELD_LIST, "tableQueries"); |     Fields fields = new Fields(FIELD_LIST, "tableQueries"); | ||||||
|     dao.addQuery(UUID.fromString(id), sqlQuery); |     dao.addQuery(UUID.fromString(id), sqlQuery); | ||||||
|     Table table = dao.get(id, fields); |     Table table = dao.get(uriInfo, id, fields); | ||||||
|     return addHref(uriInfo, table); |     return addHref(uriInfo, table); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -27,6 +27,7 @@ import io.swagger.v3.oas.annotations.media.Schema; | |||||||
| import io.swagger.v3.oas.annotations.parameters.RequestBody; | import io.swagger.v3.oas.annotations.parameters.RequestBody; | ||||||
| import io.swagger.v3.oas.annotations.responses.ApiResponse; | import io.swagger.v3.oas.annotations.responses.ApiResponse; | ||||||
| import org.openmetadata.catalog.CatalogApplicationConfig; | import org.openmetadata.catalog.CatalogApplicationConfig; | ||||||
|  | import org.openmetadata.catalog.Entity; | ||||||
| import org.openmetadata.catalog.api.operations.workflows.CreateIngestion; | import org.openmetadata.catalog.api.operations.workflows.CreateIngestion; | ||||||
| import org.openmetadata.catalog.ingestion.AirflowRESTClient; | import org.openmetadata.catalog.ingestion.AirflowRESTClient; | ||||||
| import org.openmetadata.catalog.jdbi3.CollectionDAO; | import org.openmetadata.catalog.jdbi3.CollectionDAO; | ||||||
| @ -37,7 +38,6 @@ import org.openmetadata.catalog.security.CatalogAuthorizer; | |||||||
| import org.openmetadata.catalog.security.SecurityUtil; | import org.openmetadata.catalog.security.SecurityUtil; | ||||||
| import org.openmetadata.catalog.type.EntityHistory; | import org.openmetadata.catalog.type.EntityHistory; | ||||||
| import org.openmetadata.catalog.type.EntityReference; | import org.openmetadata.catalog.type.EntityReference; | ||||||
| import org.openmetadata.catalog.util.EntityUtil; |  | ||||||
| import org.openmetadata.catalog.util.EntityUtil.Fields; | import org.openmetadata.catalog.util.EntityUtil.Fields; | ||||||
| import org.openmetadata.catalog.util.RestUtil; | import org.openmetadata.catalog.util.RestUtil; | ||||||
| import org.openmetadata.catalog.util.RestUtil.PutResponse; | import org.openmetadata.catalog.util.RestUtil.PutResponse; | ||||||
| @ -68,11 +68,9 @@ import java.io.UnsupportedEncodingException; | |||||||
| import java.security.GeneralSecurityException; | import java.security.GeneralSecurityException; | ||||||
| import java.text.ParseException; | import java.text.ParseException; | ||||||
| import java.util.Arrays; | import java.util.Arrays; | ||||||
| import java.util.Collections; |  | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Objects; | import java.util.Objects; | ||||||
| import java.util.Optional; |  | ||||||
| import java.util.UUID; | import java.util.UUID; | ||||||
| 
 | 
 | ||||||
| @Path("operations/v1/ingestion") | @Path("operations/v1/ingestion") | ||||||
| @ -91,15 +89,10 @@ public class IngestionResource { | |||||||
|         ref.withHref(RestUtil.getHref(uriInfo, INGESTION_COLLECTION_PATH, ref.getId())); |         ref.withHref(RestUtil.getHref(uriInfo, INGESTION_COLLECTION_PATH, ref.getId())); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public static List<Ingestion> addHref(UriInfo uriInfo, List<Ingestion> ingestions) { |  | ||||||
|         Optional.ofNullable(ingestions).orElse(Collections.emptyList()).forEach(i -> addHref(uriInfo, i)); |  | ||||||
|         return ingestions; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     public static Ingestion addHref(UriInfo uriInfo, Ingestion ingestion) { |     public static Ingestion addHref(UriInfo uriInfo, Ingestion ingestion) { | ||||||
|         ingestion.setHref(RestUtil.getHref(uriInfo, INGESTION_COLLECTION_PATH, ingestion.getId())); |         ingestion.setHref(RestUtil.getHref(uriInfo, INGESTION_COLLECTION_PATH, ingestion.getId())); | ||||||
|         EntityUtil.addHref(uriInfo, ingestion.getOwner()); |         Entity.withHref(uriInfo, ingestion.getOwner()); | ||||||
|         EntityUtil.addHref(uriInfo, ingestion.getService()); |         Entity.withHref(uriInfo, ingestion.getService()); | ||||||
|         return ingestion; |         return ingestion; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -165,11 +158,10 @@ public class IngestionResource { | |||||||
| 
 | 
 | ||||||
|         ResultList<Ingestion> ingestions; |         ResultList<Ingestion> ingestions; | ||||||
|         if (before != null) { // Reverse paging |         if (before != null) { // Reverse paging | ||||||
|             ingestions = dao.listBefore(fields, null, limitParam, before); // Ask for one extra entry |             ingestions = dao.listBefore(uriInfo, fields, null, limitParam, before); // Ask for one extra entry | ||||||
|         } else { // Forward paging or first page |         } else { // Forward paging or first page | ||||||
|             ingestions = dao.listAfter(fields, null, limitParam, after); |             ingestions = dao.listAfter(uriInfo, fields, null, limitParam, after); | ||||||
|         } |         } | ||||||
|         addHref(uriInfo, ingestions.getData()); |  | ||||||
|         return ingestions; |         return ingestions; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -206,7 +198,7 @@ public class IngestionResource { | |||||||
|                              schema = @Schema(type = "string", example = FIELDS)) |                              schema = @Schema(type = "string", example = FIELDS)) | ||||||
|                      @QueryParam("fields") String fieldsParam) throws IOException, ParseException { |                      @QueryParam("fields") String fieldsParam) throws IOException, ParseException { | ||||||
|         Fields fields = new Fields(FIELD_LIST, fieldsParam); |         Fields fields = new Fields(FIELD_LIST, fieldsParam); | ||||||
|         return addHref(uriInfo, dao.get(id, fields)); |         return dao.get(uriInfo, id, fields); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @GET |     @GET | ||||||
| @ -246,8 +238,7 @@ public class IngestionResource { | |||||||
|                                    schema = @Schema(type = "string", example = FIELDS)) |                                    schema = @Schema(type = "string", example = FIELDS)) | ||||||
|                            @QueryParam("fields") String fieldsParam) throws IOException, ParseException { |                            @QueryParam("fields") String fieldsParam) throws IOException, ParseException { | ||||||
|         Fields fields = new Fields(FIELD_LIST, fieldsParam); |         Fields fields = new Fields(FIELD_LIST, fieldsParam); | ||||||
|         Ingestion ingestion = dao.getByName(fqn, fields); |         return dao.getByName(uriInfo, fqn, fields); | ||||||
|         return addHref(uriInfo, ingestion); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -266,7 +257,7 @@ public class IngestionResource { | |||||||
|         Ingestion ingestion = getIngestion(securityContext, create); |         Ingestion ingestion = getIngestion(securityContext, create); | ||||||
|         deploy(ingestion); |         deploy(ingestion); | ||||||
|         // write to db only when the deployment is successful |         // write to db only when the deployment is successful | ||||||
|         ingestion = addHref(uriInfo, dao.create(ingestion)); |         ingestion = dao.create(uriInfo, ingestion); | ||||||
|         return Response.created(ingestion.getHref()).entity(ingestion).build(); |         return Response.created(ingestion.getHref()).entity(ingestion).build(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -288,11 +279,10 @@ public class IngestionResource { | |||||||
|                                                            "]")})) |                                                            "]")})) | ||||||
|                                            JsonPatch patch) throws IOException, ParseException { |                                            JsonPatch patch) throws IOException, ParseException { | ||||||
|         Fields fields = new Fields(FIELD_LIST, FIELDS); |         Fields fields = new Fields(FIELD_LIST, FIELDS); | ||||||
|         Ingestion ingestion = dao.get(id, fields); |         Ingestion ingestion = dao.get(uriInfo, id, fields); | ||||||
|         SecurityUtil.checkAdminRoleOrPermissions(authorizer, securityContext, |         SecurityUtil.checkAdminRoleOrPermissions(authorizer, securityContext, | ||||||
|                 dao.getOwnerReference(ingestion)); |                 dao.getOwnerReference(ingestion)); | ||||||
|         ingestion = dao.patch(UUID.fromString(id), securityContext.getUserPrincipal().getName(), patch); |         return dao.patch(uriInfo, UUID.fromString(id), securityContext.getUserPrincipal().getName(), patch); | ||||||
|         return addHref(uriInfo, ingestion); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @PUT |     @PUT | ||||||
| @ -310,9 +300,8 @@ public class IngestionResource { | |||||||
|         Ingestion ingestion = getIngestion(securityContext, create); |         Ingestion ingestion = getIngestion(securityContext, create); | ||||||
|         deploy(ingestion); |         deploy(ingestion); | ||||||
|         // write to db only when the deployment is successful |         // write to db only when the deployment is successful | ||||||
|         PutResponse<Ingestion> response = dao.createOrUpdate(ingestion); |         PutResponse<Ingestion> response = dao.createOrUpdate(uriInfo, ingestion); | ||||||
|         ingestion = addHref(uriInfo, response.getEntity()); |         return response.toResponse(); | ||||||
|         return Response.status(response.getStatus()).entity(ingestion).build(); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @POST |     @POST | ||||||
| @ -328,9 +317,9 @@ public class IngestionResource { | |||||||
|     public Ingestion triggerIngestion(@Context UriInfo uriInfo, @PathParam("id") String id, |     public Ingestion triggerIngestion(@Context UriInfo uriInfo, @PathParam("id") String id, | ||||||
|                                    @Context SecurityContext securityContext) throws IOException, ParseException { |                                    @Context SecurityContext securityContext) throws IOException, ParseException { | ||||||
|         Fields fields = new Fields(FIELD_LIST, ""); |         Fields fields = new Fields(FIELD_LIST, ""); | ||||||
|         Ingestion ingestion = dao.get(id, fields); |         Ingestion ingestion = dao.get(uriInfo, id, fields); | ||||||
|         airflowRESTClient.runPipeline(ingestion.getName()); |         airflowRESTClient.runPipeline(ingestion.getName()); | ||||||
|         return addHref(uriInfo, dao.get(id, fields)); |         return dao.get(uriInfo, id, fields); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -630,16 +630,7 @@ public abstract class EntityResourceTest<T> extends CatalogApplicationTest { | |||||||
|     validateUpdatedEntity(updated, request, authHeaders); |     validateUpdatedEntity(updated, request, authHeaders); | ||||||
|     validateChangeDescription(updated, updateType, changeDescription); |     validateChangeDescription(updated, updateType, changeDescription); | ||||||
|     validateEntityHistory(entityInterface.getId(), updateType, changeDescription, authHeaders); |     validateEntityHistory(entityInterface.getId(), updateType, changeDescription, authHeaders); | ||||||
| 
 |     validateLatestVersion(entityInterface, updateType, changeDescription, authHeaders); | ||||||
|     // GET ../entity/{id}/versions/{versionId} to get specific versions of the entity |  | ||||||
|     // Get the latest version of the entity from the versions API and ensure it is correct |  | ||||||
|     latestVersion = getVersion(entityInterface.getId(), entityInterface.getVersion(), authHeaders); |  | ||||||
|     validateChangeDescription(latestVersion, updateType, changeDescription); |  | ||||||
|     if (updateType != NO_CHANGE && updateType != UpdateType.CREATED){ |  | ||||||
|       // Get the previous version of the entity from the versions API and ensure it is correct |  | ||||||
|       T previousVersion = getVersion(entityInterface.getId(), changeDescription.getPreviousVersion(), authHeaders); |  | ||||||
|       assertEquals(changeDescription.getPreviousVersion(), getEntityInterface(previousVersion).getVersion()); |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     // GET the newly updated entity and validate |     // GET the newly updated entity and validate | ||||||
|     T getEntity = getEntity(entityInterface.getId(), authHeaders); |     T getEntity = getEntity(entityInterface.getId(), authHeaders); | ||||||
| @ -667,6 +658,21 @@ public abstract class EntityResourceTest<T> extends CatalogApplicationTest { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   private void validateLatestVersion(EntityInterface entityInterface, UpdateType updateType, | ||||||
|  |                                      ChangeDescription expectedChangeDescription, | ||||||
|  |                                      Map<String, String> authHeaders) throws IOException { | ||||||
|  |     // GET ../entity/{id}/versions/{versionId} to get specific versions of the entity | ||||||
|  |     // Get the latest version of the entity from the versions API and ensure it is correct | ||||||
|  |     T latestVersion = getVersion(entityInterface.getId(), entityInterface.getVersion(), authHeaders); | ||||||
|  |     validateChangeDescription(latestVersion, updateType, expectedChangeDescription); | ||||||
|  |     if (updateType != NO_CHANGE && updateType != UpdateType.CREATED) { | ||||||
|  |       // Get the previous version of the entity from the versions API and ensure it is correct | ||||||
|  |       T previousVersion = getVersion(entityInterface.getId(), expectedChangeDescription.getPreviousVersion(), authHeaders); | ||||||
|  |       assertEquals(expectedChangeDescription.getPreviousVersion(), getEntityInterface(previousVersion).getVersion()); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|   protected final T patchEntityAndCheck(T updated, String originalJson, Map<String, String> authHeaders, |   protected final T patchEntityAndCheck(T updated, String originalJson, Map<String, String> authHeaders, | ||||||
|                                      UpdateType updateType, ChangeDescription expectedChange) |                                      UpdateType updateType, ChangeDescription expectedChange) | ||||||
|           throws IOException { |           throws IOException { | ||||||
|  | |||||||
| @ -62,7 +62,7 @@ public class IngestionResourceTest extends EntityResourceTest<Ingestion> { | |||||||
|     public static ConnectorConfig INGESTION_CONFIG; |     public static ConnectorConfig INGESTION_CONFIG; | ||||||
| 
 | 
 | ||||||
|     public IngestionResourceTest() { |     public IngestionResourceTest() { | ||||||
|         super(Ingestion.class, IngestionResource.IngestionList.class, "ingestion", |         super(Entity.INGESTION, Ingestion.class, IngestionResource.IngestionList.class, "ingestion", | ||||||
|                 IngestionResource.FIELDS, false, true, true); |                 IngestionResource.FIELDS, false, true, true); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -99,7 +99,7 @@ public class IngestionResourceTest extends EntityResourceTest<Ingestion> { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void validatePatchedEntity(Ingestion expected, Ingestion updated, Map<String, String> authHeaders) |     public void compareEntities(Ingestion expected, Ingestion updated, Map<String, String> authHeaders) | ||||||
|             throws HttpResponseException { |             throws HttpResponseException { | ||||||
|         validateCommonEntityFields(getEntityInterface(updated), expected.getDescription(), |         validateCommonEntityFields(getEntityInterface(updated), expected.getDescription(), | ||||||
|                 TestUtils.getPrincipal(authHeaders), expected.getOwner()); |                 TestUtils.getPrincipal(authHeaders), expected.getOwner()); | ||||||
| @ -120,7 +120,6 @@ public class IngestionResourceTest extends EntityResourceTest<Ingestion> { | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         assertCommonFieldChange(fieldName, expected, actual); |         assertCommonFieldChange(fieldName, expected, actual); | ||||||
| 
 |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 sureshms
						sureshms