fix bug in rendering and alter load order for StructureDefinitions
This commit is contained in:
parent
bf39445d87
commit
e604e89290
|
@ -3037,8 +3037,8 @@ public class ProfileUtilities extends TranslatingUtilities {
|
||||||
if (!useTableForFixedValues || definition.getFixed().isPrimitive())
|
if (!useTableForFixedValues || definition.getFixed().isPrimitive())
|
||||||
c.getPieces().add(checkForNoChange(definition.getFixed(), gen.new Piece(null, buildJson(definition.getFixed()), null).addStyle("color: darkgreen")));
|
c.getPieces().add(checkForNoChange(definition.getFixed(), gen.new Piece(null, buildJson(definition.getFixed()), null).addStyle("color: darkgreen")));
|
||||||
else {
|
else {
|
||||||
c.getPieces().add(checkForNoChange(definition.getPattern(), gen.new Piece(null, "As shown", null).addStyle("color: darkgreen")));
|
c.getPieces().add(checkForNoChange(definition.getFixed(), gen.new Piece(null, "As shown", null).addStyle("color: darkgreen")));
|
||||||
genFixedValue(gen, row, definition.getPattern(), snapshot, false, corePath);
|
genFixedValue(gen, row, definition.getFixed(), snapshot, false, corePath);
|
||||||
}
|
}
|
||||||
if (isCoded(definition.getFixed()) && !hasDescription(definition.getFixed())) {
|
if (isCoded(definition.getFixed()) && !hasDescription(definition.getFixed())) {
|
||||||
Piece p = describeCoded(gen, definition.getFixed());
|
Piece p = describeCoded(gen, definition.getFixed());
|
||||||
|
|
|
@ -1115,5 +1115,15 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
public void setUcumService(UcumService ucumService) {
|
public void setUcumService(UcumService ucumService) {
|
||||||
this.ucumService = ucumService;
|
this.ucumService = ucumService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<StructureDefinition> getStructures() {
|
||||||
|
List<StructureDefinition> res = new ArrayList<>();
|
||||||
|
synchronized (lock) { // tricky, because you need to lock this as well, but it's really not in use yet
|
||||||
|
res.addAll(structures.values());
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,9 +22,11 @@ package org.hl7.fhir.r5.context;
|
||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.fhir.ucum.UcumService;
|
import org.fhir.ucum.UcumService;
|
||||||
|
import org.hl7.fhir.exceptions.DefinitionException;
|
||||||
import org.hl7.fhir.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.exceptions.TerminologyServiceException;
|
import org.hl7.fhir.exceptions.TerminologyServiceException;
|
||||||
import org.hl7.fhir.r5.formats.IParser;
|
import org.hl7.fhir.r5.formats.IParser;
|
||||||
|
@ -210,8 +212,10 @@ public interface IWorkerContext {
|
||||||
public List<String> getResourceNames();
|
public List<String> getResourceNames();
|
||||||
public Set<String> getResourceNamesAsSet();
|
public Set<String> getResourceNamesAsSet();
|
||||||
public List<String> getTypeNames();
|
public List<String> getTypeNames();
|
||||||
public List<StructureDefinition> allStructures();
|
public List<StructureDefinition> allStructures(); // ensure snapshot exists...
|
||||||
|
public List<StructureDefinition> getStructures();
|
||||||
public List<MetadataResource> allConformanceResources();
|
public List<MetadataResource> allConformanceResources();
|
||||||
|
public void generateSnapshot(StructureDefinition p) throws DefinitionException, FHIRException;
|
||||||
|
|
||||||
// -- Terminology services ------------------------------------------------------
|
// -- Terminology services ------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -117,13 +117,15 @@ public abstract class ParserBase {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// first pass: only look at base definitions
|
// first pass: only look at base definitions
|
||||||
for (StructureDefinition sd : context.allStructures()) {
|
for (StructureDefinition sd : context.getStructures()) {
|
||||||
if (sd.getUrl().equals("http://hl7.org/fhir/StructureDefinition/"+name)) {
|
if (sd.getUrl().equals("http://hl7.org/fhir/StructureDefinition/"+name)) {
|
||||||
|
context.generateSnapshot(sd);
|
||||||
return sd;
|
return sd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (StructureDefinition sd : context.allStructures()) {
|
for (StructureDefinition sd : context.getStructures()) {
|
||||||
if (name.equals(sd.getType()) && sd.getDerivation() == TypeDerivationRule.SPECIALIZATION) {
|
if (name.equals(sd.getType()) && sd.getDerivation() == TypeDerivationRule.SPECIALIZATION) {
|
||||||
|
context.generateSnapshot(sd);
|
||||||
return sd;
|
return sd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue