From 3da86f86f8a6e7023c151523114b14e7c825b291 Mon Sep 17 00:00:00 2001 From: Mark Czotter Date: Mon, 24 Jun 2024 15:53:56 +0200 Subject: [PATCH] fix(snomed): properly delegate expand keys to the expander methods... ...when expanding type and destination for owlRelationships. Fixes https://snowowl.atlassian.net/browse/SO-6169 --- .../components/SnomedRefSetMemberApiTest.java | 16 ++++++++++++++-- .../SnomedReferenceSetMemberConverter.java | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/snomed/com.b2international.snowowl.snomed.core.rest.tests/src/com/b2international/snowowl/snomed/core/rest/components/SnomedRefSetMemberApiTest.java b/snomed/com.b2international.snowowl.snomed.core.rest.tests/src/com/b2international/snowowl/snomed/core/rest/components/SnomedRefSetMemberApiTest.java index e227774394..a12d423dd1 100644 --- a/snomed/com.b2international.snowowl.snomed.core.rest.tests/src/com/b2international/snowowl/snomed/core/rest/components/SnomedRefSetMemberApiTest.java +++ b/snomed/com.b2international.snowowl.snomed.core.rest.tests/src/com/b2international/snowowl/snomed/core/rest/components/SnomedRefSetMemberApiTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2023 B2i Healthcare, https://b2ihealthcare.com + * Copyright 2011-2024 B2i Healthcare, https://b2ihealthcare.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -55,6 +55,7 @@ import com.b2international.snowowl.core.request.CommitResult; import com.b2international.snowowl.snomed.common.SnomedConstants.Concepts; import com.b2international.snowowl.snomed.common.SnomedRf2Headers; +import com.b2international.snowowl.snomed.core.domain.SnomedConcept; import com.b2international.snowowl.snomed.core.domain.refset.*; import com.b2international.snowowl.snomed.core.rest.AbstractSnomedApiTest; import com.b2international.snowowl.snomed.core.rest.SnomedApiTestConstants; @@ -425,7 +426,7 @@ public void updateOwlAxiomRefsetMembers() { String memberId = assertCreated(createComponent(branchPath, SnomedComponentType.MEMBER, createRequestBody)); final SnomedReferenceSetMember member = SnomedRequests.prepareGetMember(memberId) - .setExpand("owlRelationships()") + .setExpand("owlRelationships(expand(type(),destination()))") .build(branchPath.getPath()) .execute(getBus()) .getSync(); @@ -436,6 +437,17 @@ public void updateOwlAxiomRefsetMembers() { SnomedOWLRelationship.create("734136001", "900000000000470007", 1) ); + // successful expansion check + assertThat(member.getClassOWLRelationships()) + .extracting(SnomedOWLRelationship::getType) + .extracting(SnomedConcept::isActive) + .containsOnly(true); + + assertThat(member.getClassOWLRelationships()) + .extracting(SnomedOWLRelationship::getDestination) + .extracting(SnomedConcept::isActive) + .containsOnly(true); + final Json updateRequestBody = Json.object( SnomedRf2Headers.FIELD_OWL_EXPRESSION, SnomedApiTestConstants.owlAxiom4(conceptId), "commitComment", "Update OWL Axiom reference set member" diff --git a/snomed/com.b2international.snowowl.snomed.datastore/src/com/b2international/snowowl/snomed/datastore/converter/SnomedReferenceSetMemberConverter.java b/snomed/com.b2international.snowowl.snomed.datastore/src/com/b2international/snowowl/snomed/datastore/converter/SnomedReferenceSetMemberConverter.java index ab7f72434b..ffb1db2618 100644 --- a/snomed/com.b2international.snowowl.snomed.datastore/src/com/b2international/snowowl/snomed/datastore/converter/SnomedReferenceSetMemberConverter.java +++ b/snomed/com.b2international.snowowl.snomed.datastore/src/com/b2international/snowowl/snomed/datastore/converter/SnomedReferenceSetMemberConverter.java @@ -201,7 +201,7 @@ protected SnomedReferenceSetMember toResource(SnomedRefSetMemberIndexEntry entry expand().containsKey(SnomedReferenceSetMember.Expand.OWL_RELATIONSHIPS) && !Strings.isNullOrEmpty(owlExpression)) { - Options expandOptions = expand().getOptions(SnomedReferenceSetMember.Expand.OWL_RELATIONSHIPS); + Options expandOptions = expand().getOptions(SnomedReferenceSetMember.Expand.OWL_RELATIONSHIPS).getOptions("expand"); if (!CompareUtils.isEmpty(entry.getClassAxiomRelationships())) { if (owlExpression.startsWith("EquivalentClasses")) {