diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/GlossaryTermRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/GlossaryTermRepository.java index 492789a0a89..354eac9829c 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/GlossaryTermRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/GlossaryTermRepository.java @@ -102,6 +102,10 @@ public class GlossaryTermRepository extends EntityRepository { @Override public void prepare(GlossaryTerm entity) throws IOException { + // Validate parent term + EntityReference parentTerm = Entity.getEntityReference(entity.getParent()); + entity.setParent(parentTerm); + validateHierarchy(entity); // Validate glossary @@ -111,10 +115,6 @@ public class GlossaryTermRepository extends EntityRepository { // If reviewers is not set in the glossary term, then carry it from the glossary entity.setReviewers(entity.getReviewers() == null ? glossary.getReviewers() : entity.getReviewers()); - // Validate parent term - EntityReference parentTerm = Entity.getEntityReference(entity.getParent()); - entity.setParent(parentTerm); - // Validate related terms EntityUtil.populateEntityReferences(entity.getRelatedTerms()); diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/resources/glossary/GlossaryTermResourceTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/resources/glossary/GlossaryTermResourceTest.java index e0123c0aa17..4c62de80e91 100644 --- a/openmetadata-service/src/test/java/org/openmetadata/service/resources/glossary/GlossaryTermResourceTest.java +++ b/openmetadata-service/src/test/java/org/openmetadata/service/resources/glossary/GlossaryTermResourceTest.java @@ -32,7 +32,6 @@ import static org.openmetadata.service.resources.databases.TableResourceTest.get import static org.openmetadata.service.util.EntityUtil.fieldAdded; import static org.openmetadata.service.util.EntityUtil.fieldDeleted; import static org.openmetadata.service.util.EntityUtil.fieldUpdated; -import static org.openmetadata.service.util.EntityUtil.getEntityReference; import static org.openmetadata.service.util.EntityUtil.getId; import static org.openmetadata.service.util.EntityUtil.toTagLabels; import static org.openmetadata.service.util.TestUtils.ADMIN_AUTH_HEADERS; @@ -366,7 +365,11 @@ public class GlossaryTermResourceTest extends EntityResourceTest reviewers) throws IOException { EntityReference glossaryRef = glossary.getEntityReference(); - EntityReference parentRef = getEntityReference(parent); + // sending required fields only for entity reference + EntityReference parentRef = null; + if (parent != null) { + parentRef = new EntityReference().withId(parent.getId()).withType(GLOSSARY_TERM); + } CreateGlossaryTerm createGlossaryTerm = createRequest(termName, "", "", null).withGlossary(glossaryRef).withParent(parentRef).withReviewers(reviewers); return createAndCheckEntity(createGlossaryTerm, ADMIN_AUTH_HEADERS);