fixes after more testing

This commit is contained in:
Grahame Grieve 2023-02-10 16:18:33 +11:00
parent 11c887edc5
commit bd424e7b60
3 changed files with 34 additions and 8 deletions

View File

@ -1662,6 +1662,9 @@ public class ProfileUtilities extends TranslatingUtilities {
if (isLikelySourceURLReference(url, resourceNames, baseFilenames, localFilenames)) { if (isLikelySourceURLReference(url, resourceNames, baseFilenames, localFilenames)) {
b.append("]("); b.append("](");
b.append(basePath); b.append(basePath);
if (!Utilities.noString(basePath) && !basePath.endsWith("/")) {
b.append("/");
}
i = i + 1; i = i + 1;
} else { } else {
b.append("]("); b.append("](");
@ -1740,8 +1743,11 @@ public class ProfileUtilities extends TranslatingUtilities {
url.startsWith("loinc.html") || url.startsWith("loinc.html") ||
url.startsWith("http.html") || url.startsWith("http.html") ||
url.startsWith("references") || url.startsWith("references") ||
url.startsWith("license.html") ||
url.startsWith("narrative.html") || url.startsWith("narrative.html") ||
url.startsWith("search.html") || url.startsWith("search.html") ||
url.startsWith("security.html") ||
url.startsWith("versions.html") ||
url.startsWith("patient-operation-match.html") || url.startsWith("patient-operation-match.html") ||
(url.startsWith("extension-") && url.contains(".html")) || (url.startsWith("extension-") && url.contains(".html")) ||
url.startsWith("resource-definitions.html"); url.startsWith("resource-definitions.html");

View File

@ -1327,25 +1327,39 @@ public class Element extends Base {
super.copyValues(dst); super.copyValues(dst);
Element dest = (Element) dst; Element dest = (Element) dst;
dest.comments.clear(); if (comments != null) {
dest.comments.addAll(comments); dest.comments = new ArrayList<>();
dest.comments.addAll(comments);
} else {
dest.comments = null;
}
dest.value = value; dest.value = value;
dest.children.clear(); if (children != null) {
dest.children.addAll(children); dest.children = new ArrayList<>();
dest.children.addAll(children);
} else {
dest.children = null;
}
dest.line = line; dest.line = line;
dest.col = col; dest.col = col;
dest.xhtml = xhtml; dest.xhtml = xhtml;
dest.explicitType = explicitType; dest.explicitType = explicitType;
dest.hasParentForValidator = false; dest.hasParentForValidator = false;
dest.path = path; dest.path = path;
dest.messages.clear(); dest.messages = null;
dest.prohibited = prohibited; dest.prohibited = prohibited;
dest.required = required; dest.required = required;
dest.childMap.clear(); dest.childMap = null;
dest.descendentCount = descendentCount; dest.descendentCount = descendentCount;
dest.instanceId = instanceId; dest.instanceId = instanceId;
dest.isNull = isNull; dest.isNull = isNull;
dest.source = source; dest.source = source;
} }
public Base setProperty(String name, Base value) throws FHIRException {
setChildValue(name, value.primitiveValue());
return this;
}
} }

View File

@ -3894,7 +3894,10 @@ public class FHIRPathEngine {
} }
private List<Base> funcLowBoundary(ExecutionContext context, List<Base> focus, ExpressionNode expr) { private List<Base> funcLowBoundary(ExecutionContext context, List<Base> focus, ExpressionNode expr) {
if (focus.size() != 1) { if (focus.size() == 0) {
return makeNull();
}
if (focus.size() > 1) {
throw makeExceptionPlural(focus.size(), expr, I18nConstants.FHIRPATH_FOCUS, "lowBoundary", focus.size()); throw makeExceptionPlural(focus.size(), expr, I18nConstants.FHIRPATH_FOCUS, "lowBoundary", focus.size());
} }
int precision = 0; int precision = 0;
@ -3929,7 +3932,10 @@ public class FHIRPathEngine {
} }
private List<Base> funcHighBoundary(ExecutionContext context, List<Base> focus, ExpressionNode expr) { private List<Base> funcHighBoundary(ExecutionContext context, List<Base> focus, ExpressionNode expr) {
if (focus.size() != 1) { if (focus.size() == 0) {
return makeNull();
}
if (focus.size() > 1) {
throw makeExceptionPlural(focus.size(), expr, I18nConstants.FHIRPATH_FOCUS, "highBoundary", focus.size()); throw makeExceptionPlural(focus.size(), expr, I18nConstants.FHIRPATH_FOCUS, "highBoundary", focus.size());
} }
int precision = 0; int precision = 0;