Onboarding Application Changes for OSS (#19203)

(cherry picked from commit d60327c448a0ac0e14c11ad4976bb405437fe4c9)
This commit is contained in:
Mohit Yadav 2025-01-03 13:49:34 +05:30 committed by mohitdeuex
parent 26829f73d9
commit 3e88f1ca30
5 changed files with 39 additions and 7 deletions

View File

@ -1155,6 +1155,21 @@ public abstract class EntityRepository<T extends EntityInterface> {
return response; return response;
} }
@SuppressWarnings("unused")
@Transaction
public final DeleteResponse<T> deleteByNameIfExists(
String updatedBy, String name, boolean recursive, boolean hardDelete) {
name = quoteFqn ? quoteName(name) : name;
T entity = findByNameOrNull(name, ALL);
if (entity != null) {
DeleteResponse<T> response = deleteInternalByName(updatedBy, name, recursive, hardDelete);
postDelete(response.entity());
return response;
} else {
return new DeleteResponse<>(null, ENTITY_DELETED);
}
}
@Transaction @Transaction
public final DeleteResponse<T> deleteByName( public final DeleteResponse<T> deleteByName(
String updatedBy, String name, boolean recursive, boolean hardDelete) { String updatedBy, String name, boolean recursive, boolean hardDelete) {

View File

@ -17,6 +17,7 @@ import static org.openmetadata.common.utils.CommonUtil.listOrEmpty;
import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty; import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty;
import static org.openmetadata.service.Entity.DASHBOARD; import static org.openmetadata.service.Entity.DASHBOARD;
import static org.openmetadata.service.Entity.MLMODEL; import static org.openmetadata.service.Entity.MLMODEL;
import static org.openmetadata.service.Entity.getEntityReference;
import static org.openmetadata.service.resources.tags.TagLabelUtil.checkMutuallyExclusive; import static org.openmetadata.service.resources.tags.TagLabelUtil.checkMutuallyExclusive;
import static org.openmetadata.service.util.EntityUtil.entityReferenceMatch; import static org.openmetadata.service.util.EntityUtil.entityReferenceMatch;
import static org.openmetadata.service.util.EntityUtil.mlFeatureMatch; import static org.openmetadata.service.util.EntityUtil.mlFeatureMatch;
@ -149,8 +150,7 @@ public class MlModelRepository extends EntityRepository<MlModel> {
private void validateMlDataSource(MlFeatureSource source) { private void validateMlDataSource(MlFeatureSource source) {
if (source.getDataSource() != null) { if (source.getDataSource() != null) {
Entity.getEntityReferenceById( Entity.getEntityReference(source.getDataSource(), Include.NON_DELETED);
source.getDataSource().getType(), source.getDataSource().getId(), Include.NON_DELETED);
} }
} }
@ -211,7 +211,7 @@ public class MlModelRepository extends EntityRepository<MlModel> {
.getFeatureSources() .getFeatureSources()
.forEach( .forEach(
mlFeatureSource -> { mlFeatureSource -> {
EntityReference targetEntity = mlFeatureSource.getDataSource(); EntityReference targetEntity = getEntityReference(mlFeatureSource.getDataSource(), Include.ALL);
if (targetEntity != null) { if (targetEntity != null) {
addRelationship( addRelationship(
targetEntity.getId(), targetEntity.getId(),

View File

@ -29,7 +29,6 @@ import static org.openmetadata.service.util.EntityUtil.taskMatch;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.commons.lang3.tuple.Triple; import org.apache.commons.lang3.tuple.Triple;
import org.jdbi.v3.sqlobject.transaction.Transaction; import org.jdbi.v3.sqlobject.transaction.Transaction;
import org.openmetadata.schema.EntityInterface; import org.openmetadata.schema.EntityInterface;
@ -173,8 +172,7 @@ public class PipelineRepository extends EntityRepository<Pipeline> {
PipelineStatus.class); PipelineStatus.class);
} }
public RestUtil.PutResponse<?> addPipelineStatus( public RestUtil.PutResponse<?> addPipelineStatus(String fqn, PipelineStatus pipelineStatus) {
UriInfo uriInfo, String fqn, PipelineStatus pipelineStatus) {
// Validate the request content // Validate the request content
Pipeline pipeline = daoCollection.pipelineDAO().findEntityByName(fqn); Pipeline pipeline = daoCollection.pipelineDAO().findEntityByName(fqn);
pipeline.setService(getContainer(pipeline.getId())); pipeline.setService(getContainer(pipeline.getId()));

View File

@ -425,7 +425,7 @@ public class PipelineResource extends EntityResource<Pipeline, PipelineRepositor
OperationContext operationContext = OperationContext operationContext =
new OperationContext(entityType, MetadataOperation.EDIT_STATUS); new OperationContext(entityType, MetadataOperation.EDIT_STATUS);
authorizer.authorize(securityContext, operationContext, getResourceContextByName(fqn)); authorizer.authorize(securityContext, operationContext, getResourceContextByName(fqn));
return repository.addPipelineStatus(uriInfo, fqn, pipelineStatus).toResponse(); return repository.addPipelineStatus(fqn, pipelineStatus).toResponse();
} }
@GET @GET

View File

@ -39,6 +39,7 @@ import java.io.StringReader;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -640,6 +641,24 @@ public final class JsonUtils {
} }
} }
@SuppressWarnings("unused")
public static Map<String, Object> getMapFromJson(String json) {
return (Map<String, Object>) (JsonUtils.readValue(json, Map.class));
}
@SuppressWarnings("unused")
public static <T> T convertObjectWithFilteredFields(
Object input, Set<String> fields, Class<T> clazz) {
Map<String, Object> inputMap = JsonUtils.getMap(input);
Map<String, Object> result = new HashMap<>();
for (String field : fields) {
if (inputMap.containsKey(field)) {
result.put(field, inputMap.get(field));
}
}
return JsonUtils.convertValue(result, clazz);
}
public static JsonPatch convertFgeToJavax(com.github.fge.jsonpatch.JsonPatch fgeJsonPatch) { public static JsonPatch convertFgeToJavax(com.github.fge.jsonpatch.JsonPatch fgeJsonPatch) {
String jsonString = fgeJsonPatch.toString(); String jsonString = fgeJsonPatch.toString();