use of com.nedap.archie.aom.terminology.ValueSet in project archetype-languageserver by nedap.
the class ArchetypeHoverInfo method getTerms.
private List<TerminologyCodeWithArchetypeTerm> getTerms(CTerminologyCode cTermCode, DocumentSymbol terminologyCode, Archetype archetypeForTerms) {
List<TerminologyCodeWithArchetypeTerm> result = new ArrayList();
ArchetypeTerminology terminology = archetypeForTerms.getTerminology(cTermCode);
String language = ArchieLanguageConfiguration.getMeaningAndDescriptionLanguage();
String defaultLanguage = ArchieLanguageConfiguration.getDefaultMeaningAndDescriptionLanguage();
String constraint = terminologyCode.getName();
if (constraint.startsWith("at")) {
ArchetypeTerm termDefinition = terminology.getTermDefinition(language, constraint);
if (termDefinition == null) {
termDefinition = terminology.getTermDefinition(defaultLanguage, constraint);
}
if (termDefinition != null) {
result.add(new TerminologyCodeWithArchetypeTerm(constraint, termDefinition));
}
} else if (constraint.startsWith("ac")) {
ValueSet acValueSet = terminology.getValueSets().get(constraint);
if (acValueSet != null) {
for (String atCode : acValueSet.getMembers()) {
ArchetypeTerm termDefinition = terminology.getTermDefinition(language, atCode);
if (termDefinition == null) {
termDefinition = terminology.getTermDefinition(defaultLanguage, atCode);
}
if (termDefinition != null) {
result.add(new TerminologyCodeWithArchetypeTerm(atCode, termDefinition));
}
}
}
}
return result;
}
Aggregations