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 @Override
public Response toResponse(Throwable ex) { public Response toResponse(Throwable ex) {
LOG.debug(ex.getMessage()); LOG.debug(ex.getMessage());
ex.printStackTrace();
if (ex instanceof ProcessingException if (ex instanceof ProcessingException
|| ex instanceof IllegalArgumentException || ex instanceof IllegalArgumentException
|| ex instanceof javax.ws.rs.BadRequestException) { || ex instanceof javax.ws.rs.BadRequestException) {

View File

@ -403,7 +403,10 @@ public abstract class EntityRepository<T extends EntityInterface> {
@Transaction @Transaction
public final T getByName(UriInfo uriInfo, String fqn, Fields fields, Include include) throws IOException { 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 @Transaction

View File

@ -75,7 +75,7 @@ public class SubscriptionUtil {
result result
.getData() .getData()
.forEach( .forEach(
(user) -> { user -> {
if (type == CreateEventSubscription.SubscriptionType.EMAIL if (type == CreateEventSubscription.SubscriptionType.EMAIL
|| type == CreateEventSubscription.SubscriptionType.DATA_INSIGHT) { || type == CreateEventSubscription.SubscriptionType.DATA_INSIGHT) {
data.add(user.getEmail()); data.add(user.getEmail());
@ -109,7 +109,7 @@ public class SubscriptionUtil {
List<CollectionDAO.EntityRelationshipRecord> ownerOrFollowers = List<CollectionDAO.EntityRelationshipRecord> ownerOrFollowers =
daoCollection.relationshipDAO().findFrom(entityId.toString(), entityType, relationship.ordinal()); daoCollection.relationshipDAO().findFrom(entityId.toString(), entityType, relationship.ordinal());
ownerOrFollowers.forEach( ownerOrFollowers.forEach(
(owner) -> { owner -> {
if (type == CreateEventSubscription.SubscriptionType.EMAIL if (type == CreateEventSubscription.SubscriptionType.EMAIL
|| type == CreateEventSubscription.SubscriptionType.DATA_INSIGHT) { || type == CreateEventSubscription.SubscriptionType.DATA_INSIGHT) {
if (USER.equals(owner.getType())) { 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 assertReference(expectedOwner, entity.getOwner()); // Inherited owner
entity = getEntity(entity.getId(), "owner", ADMIN_AUTH_HEADERS); entity = getEntity(entity.getId(), "owner", ADMIN_AUTH_HEADERS);
assertReference(expectedOwner, entity.getOwner()); // Inherited owner assertReference(expectedOwner, entity.getOwner()); // Inherited owner
entity = getEntityByName(entity.getFullyQualifiedName(), "owner", ADMIN_AUTH_HEADERS);
assertReference(expectedOwner, entity.getOwner()); // Inherited owner
return entity; return entity;
} }
@ -2748,6 +2750,8 @@ public abstract class EntityResourceTest<T extends EntityInterface, K extends Cr
assertReference(newOwner, entity.getOwner()); // Owner remains the same assertReference(newOwner, entity.getOwner()); // Owner remains the same
entity = getEntity(entity.getId(), "owner", ADMIN_AUTH_HEADERS); entity = getEntity(entity.getId(), "owner", ADMIN_AUTH_HEADERS);
assertReference(newOwner, entity.getOwner()); // Owner remains the same 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 { 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 assertReference(expectedDomain, entity.getDomain()); // Inherited owner
entity = getEntity(entity.getId(), "domain", ADMIN_AUTH_HEADERS); entity = getEntity(entity.getId(), "domain", ADMIN_AUTH_HEADERS);
assertReference(expectedDomain, entity.getDomain()); // Inherited owner assertReference(expectedDomain, entity.getDomain()); // Inherited owner
entity = getEntityByName(entity.getFullyQualifiedName(), "domain", ADMIN_AUTH_HEADERS);
assertReference(expectedDomain, entity.getDomain()); // Inherited owner
return entity; return entity;
} }
@ -2769,5 +2775,7 @@ public abstract class EntityResourceTest<T extends EntityInterface, K extends Cr
assertReference(newDomain, entity.getDomain()); // Domain remains the same assertReference(newDomain, entity.getDomain()); // Domain remains the same
entity = getEntity(entity.getId(), "domain", ADMIN_AUTH_HEADERS); entity = getEntity(entity.getId(), "domain", ADMIN_AUTH_HEADERS);
assertReference(newDomain, entity.getDomain()); // Domain remains the same assertReference(newDomain, entity.getDomain()); // Domain remains the same
entity = getEntityByName(entity.getFullyQualifiedName(), "domain", ADMIN_AUTH_HEADERS);
assertReference(newDomain, entity.getDomain()); // Domain remains the same
} }
} }