Fixes #12741 Getting entity by name does not return inherited properties (#12742)

This commit is contained in:
Suresh Srinivas 2023-08-04 03:46:06 -07:00 committed by GitHub
parent ed7f74c7b2
commit dc819d0369
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 4 deletions

View File

@ -42,7 +42,6 @@ public class CatalogGenericExceptionMapper implements ExceptionMapper<Throwable>
@Override
public Response toResponse(Throwable ex) {
LOG.debug(ex.getMessage());
ex.printStackTrace();
if (ex instanceof ProcessingException
|| ex instanceof IllegalArgumentException
|| ex instanceof javax.ws.rs.BadRequestException) {

View File

@ -403,7 +403,10 @@ public abstract class EntityRepository<T extends EntityInterface> {
@Transaction
public final T getByName(UriInfo uriInfo, String fqn, Fields fields, Include include) throws IOException {
return withHref(uriInfo, setFieldsInternal(dao.findEntityByName(fqn, include), fields));
T entity = dao.findEntityByName(fqn, include);
setFieldsInternal(entity, fields);
setInheritedFields(entity, fields);
return withHref(uriInfo, entity);
}
@Transaction

View File

@ -75,7 +75,7 @@ public class SubscriptionUtil {
result
.getData()
.forEach(
(user) -> {
user -> {
if (type == CreateEventSubscription.SubscriptionType.EMAIL
|| type == CreateEventSubscription.SubscriptionType.DATA_INSIGHT) {
data.add(user.getEmail());
@ -109,7 +109,7 @@ public class SubscriptionUtil {
List<CollectionDAO.EntityRelationshipRecord> ownerOrFollowers =
daoCollection.relationshipDAO().findFrom(entityId.toString(), entityType, relationship.ordinal());
ownerOrFollowers.forEach(
(owner) -> {
owner -> {
if (type == CreateEventSubscription.SubscriptionType.EMAIL
|| type == CreateEventSubscription.SubscriptionType.DATA_INSIGHT) {
if (USER.equals(owner.getType())) {

View File

@ -2734,6 +2734,8 @@ public abstract class EntityResourceTest<T extends EntityInterface, K extends Cr
assertReference(expectedOwner, entity.getOwner()); // Inherited owner
entity = getEntity(entity.getId(), "owner", ADMIN_AUTH_HEADERS);
assertReference(expectedOwner, entity.getOwner()); // Inherited owner
entity = getEntityByName(entity.getFullyQualifiedName(), "owner", ADMIN_AUTH_HEADERS);
assertReference(expectedOwner, entity.getOwner()); // Inherited owner
return entity;
}
@ -2748,6 +2750,8 @@ public abstract class EntityResourceTest<T extends EntityInterface, K extends Cr
assertReference(newOwner, entity.getOwner()); // Owner remains the same
entity = getEntity(entity.getId(), "owner", ADMIN_AUTH_HEADERS);
assertReference(newOwner, entity.getOwner()); // Owner remains the same
entity = getEntityByName(entity.getFullyQualifiedName(), "owner", ADMIN_AUTH_HEADERS);
assertReference(newOwner, entity.getOwner()); // Owner remains the same
}
public T assertDomainInheritance(K createRequest, EntityReference expectedDomain) throws HttpResponseException {
@ -2755,6 +2759,8 @@ public abstract class EntityResourceTest<T extends EntityInterface, K extends Cr
assertReference(expectedDomain, entity.getDomain()); // Inherited owner
entity = getEntity(entity.getId(), "domain", ADMIN_AUTH_HEADERS);
assertReference(expectedDomain, entity.getDomain()); // Inherited owner
entity = getEntityByName(entity.getFullyQualifiedName(), "domain", ADMIN_AUTH_HEADERS);
assertReference(expectedDomain, entity.getDomain()); // Inherited owner
return entity;
}
@ -2769,5 +2775,7 @@ public abstract class EntityResourceTest<T extends EntityInterface, K extends Cr
assertReference(newDomain, entity.getDomain()); // Domain remains the same
entity = getEntity(entity.getId(), "domain", ADMIN_AUTH_HEADERS);
assertReference(newDomain, entity.getDomain()); // Domain remains the same
entity = getEntityByName(entity.getFullyQualifiedName(), "domain", ADMIN_AUTH_HEADERS);
assertReference(newDomain, entity.getDomain()); // Domain remains the same
}
}