|
16 | 16 | package com.b2international.snowowl.snomed.datastore.request; |
17 | 17 |
|
18 | 18 | import static com.b2international.index.revision.Revision.Fields.ID; |
19 | | -import static com.b2international.snowowl.snomed.common.SnomedConstants.Concepts.CONCEPT_MODEL_DATA_ATTRIBUTE; |
20 | | -import static com.b2international.snowowl.snomed.common.SnomedConstants.Concepts.UNAPPROVED_ATTRIBUTE; |
21 | | -import static com.b2international.snowowl.snomed.common.SnomedConstants.Concepts.CONCEPT_MODEL_OBJECT_ATTRIBUTE; |
22 | 19 | import static com.b2international.snowowl.snomed.datastore.index.entry.SnomedRefSetMemberIndexEntry.Fields.MRCM_RULE_REFSET_ID; |
23 | 20 |
|
24 | 21 | import java.util.HashSet; |
|
29 | 26 |
|
30 | 27 | import com.b2international.commons.options.Options; |
31 | 28 | import com.b2international.snomed.ecl.Ecl; |
| 29 | +import com.b2international.snowowl.core.ApplicationContext; |
| 30 | +import com.b2international.snowowl.core.config.SnowOwlConfiguration; |
32 | 31 | import com.b2international.snowowl.core.domain.BranchContext; |
33 | 32 | import com.b2international.snowowl.core.request.SearchResourceRequest; |
34 | 33 | import com.b2international.snowowl.snomed.common.SnomedRf2Headers; |
35 | 34 | import com.b2international.snowowl.snomed.core.MrcmAttributeType; |
36 | 35 | import com.b2international.snowowl.snomed.core.domain.SnomedConcept; |
37 | 36 | import com.b2international.snowowl.snomed.core.domain.refset.SnomedRefSetType; |
38 | 37 | import com.b2international.snowowl.snomed.core.domain.refset.SnomedReferenceSetMembers; |
| 38 | +import com.b2international.snowowl.snomed.datastore.config.SnomedCoreConfiguration; |
| 39 | +import com.b2international.snowowl.snomed.datastore.config.SnomedMrcmConfig; |
39 | 40 | import com.b2international.snowowl.snomed.datastore.index.entry.SnomedConceptDocument; |
40 | 41 |
|
41 | 42 | /** |
@@ -89,15 +90,23 @@ public SnomedReferenceSetMembers doExecute(BranchContext context) { |
89 | 90 |
|
90 | 91 | final String eclConstraint; |
91 | 92 |
|
| 93 | + SnomedMrcmConfig mrcmConfiguration = ApplicationContext.getInstance() |
| 94 | + .getServiceChecked(SnowOwlConfiguration.class) |
| 95 | + .getModuleConfig(SnomedCoreConfiguration.class) |
| 96 | + .getMrcmConfiguration(); |
| 97 | + |
| 98 | + String allowedDataAttributesExpression = mrcmConfiguration.getAllowedDataAttributesExpression(); |
| 99 | + String allowedObjectAttributesExpression = mrcmConfiguration.getAllowedObjectAttributesExpression(); |
| 100 | + |
92 | 101 | switch (attributeType) { |
93 | 102 | case DATA: |
94 | | - eclConstraint = String.format("<%s", CONCEPT_MODEL_DATA_ATTRIBUTE); |
| 103 | + eclConstraint = allowedDataAttributesExpression; |
95 | 104 | break; |
96 | 105 | case OBJECT: |
97 | | - eclConstraint = String.format("<%s OR <%s", CONCEPT_MODEL_OBJECT_ATTRIBUTE, UNAPPROVED_ATTRIBUTE); |
| 106 | + eclConstraint = allowedObjectAttributesExpression; |
98 | 107 | break; |
99 | 108 | case ALL: |
100 | | - eclConstraint = String.format("<%s OR <%s OR <%s", CONCEPT_MODEL_OBJECT_ATTRIBUTE, UNAPPROVED_ATTRIBUTE, CONCEPT_MODEL_DATA_ATTRIBUTE); |
| 109 | + eclConstraint = Ecl.or(allowedDataAttributesExpression, allowedObjectAttributesExpression); |
101 | 110 | break; |
102 | 111 | default: |
103 | 112 | eclConstraint = Ecl.ANY; |
|
0 commit comments