better debugging of error strings
This commit is contained in:
parent
d6f267781f
commit
957a71dc41
|
@ -627,7 +627,7 @@ public class CapabilityStatementUtilities {
|
||||||
return cc.getText();
|
return cc.getText();
|
||||||
if (cc.hasCoding())
|
if (cc.hasCoding())
|
||||||
return gen(cc.getCoding().get(0));
|
return gen(cc.getCoding().get(0));
|
||||||
return "??";
|
return "?gen-cc?";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String gen(Coding coding) {
|
private String gen(Coding coding) {
|
||||||
|
@ -635,7 +635,7 @@ public class CapabilityStatementUtilities {
|
||||||
return coding.getDisplay();
|
return coding.getDisplay();
|
||||||
if (coding.hasCode())
|
if (coding.hasCode())
|
||||||
return coding.getCode();
|
return coding.getCode();
|
||||||
return "???";
|
return "?gen-c?";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3384,7 +3384,7 @@ public class ProfileUtilities extends TranslatingUtilities {
|
||||||
extDefn = locateExtension(StructureDefinition.class, eurl);
|
extDefn = locateExtension(StructureDefinition.class, eurl);
|
||||||
if (extDefn == null) {
|
if (extDefn == null) {
|
||||||
genCardinality(gen, element, row, hasDef, used, null);
|
genCardinality(gen, element, row, hasDef, used, null);
|
||||||
row.getCells().add(gen.new Cell(null, null, "?? "+element.getType().get(0).getProfile(), null, null));
|
row.getCells().add(gen.new Cell(null, null, "?gen-e1? "+element.getType().get(0).getProfile(), null, null));
|
||||||
generateDescription(gen, row, element, (ElementDefinition) element.getUserData(DERIVATION_POINTER), used.used, profile.getUrl(), eurl, profile, corePath, imagePath, root, logicalModel, allInvariants, snapshot);
|
generateDescription(gen, row, element, (ElementDefinition) element.getUserData(DERIVATION_POINTER), used.used, profile.getUrl(), eurl, profile, corePath, imagePath, root, logicalModel, allInvariants, snapshot);
|
||||||
} else {
|
} else {
|
||||||
String name = urltail(eurl);
|
String name = urltail(eurl);
|
||||||
|
@ -3574,7 +3574,7 @@ public class ProfileUtilities extends TranslatingUtilities {
|
||||||
if (first) first = false; else typeCell.addPiece(gen.new Piece(null, " | ", null));
|
if (first) first = false; else typeCell.addPiece(gen.new Piece(null, " | ", null));
|
||||||
StructureDefinition psd = context.fetchResource(StructureDefinition.class, pt.getValue());
|
StructureDefinition psd = context.fetchResource(StructureDefinition.class, pt.getValue());
|
||||||
if (psd == null)
|
if (psd == null)
|
||||||
typeCell.addPiece(gen.new Piece(null, "??", null));
|
typeCell.addPiece(gen.new Piece(null, "?gen-e2?", null));
|
||||||
else
|
else
|
||||||
typeCell.addPiece(gen.new Piece(psd.getUserString("path"), psd.getName(), psd.present()));
|
typeCell.addPiece(gen.new Piece(psd.getUserString("path"), psd.getName(), psd.present()));
|
||||||
|
|
||||||
|
@ -3932,7 +3932,7 @@ public class ProfileUtilities extends TranslatingUtilities {
|
||||||
if (ref != null) {
|
if (ref != null) {
|
||||||
ref = ref.substring(0, ref.indexOf(".html"))+"-definitions.html#";
|
ref = ref.substring(0, ref.indexOf(".html"))+"-definitions.html#";
|
||||||
} else {
|
} else {
|
||||||
ref = "??";
|
ref = "?gen-fv?";
|
||||||
}
|
}
|
||||||
StructureDefinition sd = context.fetchTypeDefinition(value.fhirType());
|
StructureDefinition sd = context.fetchTypeDefinition(value.fhirType());
|
||||||
|
|
||||||
|
@ -4254,7 +4254,7 @@ public class ProfileUtilities extends TranslatingUtilities {
|
||||||
case OPEN : return translate("sd.table", "Open");
|
case OPEN : return translate("sd.table", "Open");
|
||||||
case OPENATEND : return translate("sd.table", "Open At End");
|
case OPENATEND : return translate("sd.table", "Open At End");
|
||||||
default:
|
default:
|
||||||
return "??";
|
return "?gen-sr?";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -678,12 +678,12 @@ public class XmlParser extends ParserBase {
|
||||||
return header.substring(i+9, i+12);
|
return header.substring(i+9, i+12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "??";
|
return "?xml-p1?";
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// suppress this error
|
// suppress this error
|
||||||
logError(0, 0, "XML", IssueType.INVALID, e.getMessage(), IssueSeverity.ERROR);
|
logError(0, 0, "XML", IssueType.INVALID, e.getMessage(), IssueSeverity.ERROR);
|
||||||
}
|
}
|
||||||
return "??";
|
return "?xml-p2?";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -217,7 +217,7 @@ public class ExpressionNode {
|
||||||
case ConvertsToDateTime : return "convertsToDateTime";
|
case ConvertsToDateTime : return "convertsToDateTime";
|
||||||
case ConvertsToTime : return "isTime";
|
case ConvertsToTime : return "isTime";
|
||||||
case ConformsTo : return "conformsTo";
|
case ConformsTo : return "conformsTo";
|
||||||
default: return "??";
|
default: return "?custom?";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -309,7 +309,7 @@ public class ExpressionNode {
|
||||||
case In : return "in";
|
case In : return "in";
|
||||||
case Contains : return "contains";
|
case Contains : return "contains";
|
||||||
case MemberOf : return "memberOf";
|
case MemberOf : return "memberOf";
|
||||||
default: return "??";
|
default: return "?custom?";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -534,7 +534,7 @@ public class ExpressionNode {
|
||||||
case Constant: return uniqueId+": "+constant;
|
case Constant: return uniqueId+": "+constant;
|
||||||
case Group: return uniqueId+": (Group)";
|
case Group: return uniqueId+": (Group)";
|
||||||
}
|
}
|
||||||
return "??";
|
return "?exp-kind?";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void write(StringBuilder b) {
|
private void write(StringBuilder b) {
|
||||||
|
|
|
@ -536,17 +536,17 @@ public class FHIRPathEngine {
|
||||||
* evaluate a path and return the matching elements
|
* evaluate a path and return the matching elements
|
||||||
*
|
*
|
||||||
* @param base - the object against which the path is being evaluated
|
* @param base - the object against which the path is being evaluated
|
||||||
* @param ExpressionNode - the parsed ExpressionNode statement to use
|
* @param expressionNode - the parsed ExpressionNode statement to use
|
||||||
* @return
|
* @return
|
||||||
* @throws FHIRException
|
* @throws FHIRException
|
||||||
* @
|
* @
|
||||||
*/
|
*/
|
||||||
public List<Base> evaluate(Object appContext, Base focusResource, Base rootResource, Base base, ExpressionNode ExpressionNode) throws FHIRException {
|
public List<Base> evaluate(Object appContext, Base focusResource, Base rootResource, Base base, ExpressionNode expressionNode) throws FHIRException {
|
||||||
List<Base> list = new ArrayList<Base>();
|
List<Base> list = new ArrayList<Base>();
|
||||||
if (base != null)
|
if (base != null)
|
||||||
list.add(base);
|
list.add(base);
|
||||||
log = new StringBuilder();
|
log = new StringBuilder();
|
||||||
return execute(new ExecutionContext(appContext, focusResource, rootResource, base, null, base), list, ExpressionNode, true);
|
return execute(new ExecutionContext(appContext, focusResource, rootResource, base, null, base), list, expressionNode, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -777,7 +777,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
} else if (wrapped.hasChild("name") && wrapped.getChildValue("name") != null) {
|
} else if (wrapped.hasChild("name") && wrapped.getChildValue("name") != null) {
|
||||||
x.tx(wrapped.getChildValue("name"));
|
x.tx(wrapped.getChildValue("name"));
|
||||||
} else {
|
} else {
|
||||||
x.tx("??");
|
x.tx("?ngen-1?");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1734,7 +1734,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
} else if (e instanceof Period) {
|
} else if (e instanceof Period) {
|
||||||
Period p = (Period) e;
|
Period p = (Period) e;
|
||||||
x.addText(name+": ");
|
x.addText(name+": ");
|
||||||
x.addText(!p.hasStart() ? "??" : p.getStartElement().toHumanDisplay());
|
x.addText(!p.hasStart() ? "?ngen-2?" : p.getStartElement().toHumanDisplay());
|
||||||
x.tx(" --> ");
|
x.tx(" --> ");
|
||||||
x.addText(!p.hasEnd() ? "(ongoing)" : p.getEndElement().toHumanDisplay());
|
x.addText(!p.hasEnd() ? "(ongoing)" : p.getEndElement().toHumanDisplay());
|
||||||
return true;
|
return true;
|
||||||
|
@ -1744,9 +1744,9 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
x.addText(r.getDisplay());
|
x.addText(r.getDisplay());
|
||||||
else if (r.hasReferenceElement()) {
|
else if (r.hasReferenceElement()) {
|
||||||
ResourceWithReference tr = resolveReference(res, r.getReference(), rc);
|
ResourceWithReference tr = resolveReference(res, r.getReference(), rc);
|
||||||
x.addText(tr == null ? r.getReference() : "????"); // getDisplayForReference(tr.getReference()));
|
x.addText(tr == null ? r.getReference() : "?ngen-3"); // getDisplayForReference(tr.getReference()));
|
||||||
} else
|
} else
|
||||||
x.tx("??");
|
x.tx("?ngen-4?");
|
||||||
return true;
|
return true;
|
||||||
} else if (e instanceof Narrative) {
|
} else if (e instanceof Narrative) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -1794,7 +1794,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String displayPeriod(Period p) {
|
public static String displayPeriod(Period p) {
|
||||||
String s = !p.hasStart() ? "??" : p.getStartElement().toHumanDisplay();
|
String s = !p.hasStart() ? "?ngen-5?" : p.getStartElement().toHumanDisplay();
|
||||||
s = s + " --> ";
|
s = s + " --> ";
|
||||||
return s + (!p.hasEnd() ? "(ongoing)" : p.getEndElement().toHumanDisplay());
|
return s + (!p.hasEnd() ? "(ongoing)" : p.getEndElement().toHumanDisplay());
|
||||||
}
|
}
|
||||||
|
@ -2296,13 +2296,13 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
case PCM: return "after breakfast";
|
case PCM: return "after breakfast";
|
||||||
case PCV: return "after dinner";
|
case PCV: return "after dinner";
|
||||||
case WAKE: return "after waking";
|
case WAKE: return "after waking";
|
||||||
default: return "??";
|
default: return "?ngen-6?";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String displayTimeUnits(UnitsOfTime units) {
|
private String displayTimeUnits(UnitsOfTime units) {
|
||||||
if (units == null)
|
if (units == null)
|
||||||
return "??";
|
return "?ngen-7?";
|
||||||
switch (units) {
|
switch (units) {
|
||||||
case A: return "years";
|
case A: return "years";
|
||||||
case D: return "days";
|
case D: return "days";
|
||||||
|
@ -2311,7 +2311,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
case MO: return "months";
|
case MO: return "months";
|
||||||
case S: return "seconds";
|
case S: return "seconds";
|
||||||
case WK: return "weeks";
|
case WK: return "weeks";
|
||||||
default: return "??";
|
default: return "?ngen-8?";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2391,7 +2391,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String displayIdentifier(Identifier ii) {
|
private String displayIdentifier(Identifier ii) {
|
||||||
String s = Utilities.noString(ii.getValue()) ? "??" : ii.getValue();
|
String s = Utilities.noString(ii.getValue()) ? "?ngen-9?" : ii.getValue();
|
||||||
|
|
||||||
if (ii.hasType()) {
|
if (ii.hasType()) {
|
||||||
if (ii.getType().hasText())
|
if (ii.getType().hasText())
|
||||||
|
@ -2455,7 +2455,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
p.addText(Utilities.capitalize(cm.getStatus().toString())+" (not intended for production usage). ");
|
p.addText(Utilities.capitalize(cm.getStatus().toString())+" (not intended for production usage). ");
|
||||||
else
|
else
|
||||||
p.addText(Utilities.capitalize(cm.getStatus().toString())+". ");
|
p.addText(Utilities.capitalize(cm.getStatus().toString())+". ");
|
||||||
p.tx("Published on "+(cm.hasDate() ? cm.getDateElement().toHumanDisplay() : "??")+" by "+cm.getPublisher());
|
p.tx("Published on "+(cm.hasDate() ? cm.getDateElement().toHumanDisplay() : "?ngen-10?")+" by "+cm.getPublisher());
|
||||||
if (!cm.getContact().isEmpty()) {
|
if (!cm.getContact().isEmpty()) {
|
||||||
p.tx(" (");
|
p.tx(" (");
|
||||||
boolean firsti = true;
|
boolean firsti = true;
|
||||||
|
@ -3893,7 +3893,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
return vc.getDisplay();
|
return vc.getDisplay();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "??Lang";
|
return "?ngen-lang?";
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean addDefineRowToTable(XhtmlNode t, ConceptDefinitionComponent c, int level, boolean hasHierarchy, boolean hasDisplay, boolean comment, boolean version, boolean deprecated, List<UsedConceptMap> maps, String system, CodeSystem cs, String lang, List<PropertyComponent> properties, CodeSystemNavigator csNav) throws FHIRFormatError, DefinitionException, IOException {
|
private boolean addDefineRowToTable(XhtmlNode t, ConceptDefinitionComponent c, int level, boolean hasHierarchy, boolean hasDisplay, boolean comment, boolean version, boolean deprecated, List<UsedConceptMap> maps, String system, CodeSystem cs, String lang, List<PropertyComponent> properties, CodeSystemNavigator csNav) throws FHIRFormatError, DefinitionException, IOException {
|
||||||
|
@ -4236,14 +4236,14 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
String ref = (String) vs.getUserData("path");
|
String ref = (String) vs.getUserData("path");
|
||||||
|
|
||||||
ref = adjustForPath(ref);
|
ref = adjustForPath(ref);
|
||||||
XhtmlNode a = li.ah(ref == null ? "??" : ref.replace("\\", "/"));
|
XhtmlNode a = li.ah(ref == null ? "?ngen-11?" : ref.replace("\\", "/"));
|
||||||
a.addText(value);
|
a.addText(value);
|
||||||
} else {
|
} else {
|
||||||
CodeSystem cs = context.fetchCodeSystem(value);
|
CodeSystem cs = context.fetchCodeSystem(value);
|
||||||
if (cs != null) {
|
if (cs != null) {
|
||||||
String ref = (String) cs.getUserData("path");
|
String ref = (String) cs.getUserData("path");
|
||||||
ref = adjustForPath(ref);
|
ref = adjustForPath(ref);
|
||||||
XhtmlNode a = li.ah(ref == null ? "??" : ref.replace("\\", "/"));
|
XhtmlNode a = li.ah(ref == null ? "?ngen-12?" : ref.replace("\\", "/"));
|
||||||
a.addText(value);
|
a.addText(value);
|
||||||
} else if (value.equals("http://snomed.info/sct") || value.equals("http://snomed.info/id")) {
|
} else if (value.equals("http://snomed.info/sct") || value.equals("http://snomed.info/id")) {
|
||||||
XhtmlNode a = li.ah(value);
|
XhtmlNode a = li.ah(value);
|
||||||
|
@ -4397,7 +4397,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
case ISA: return " is-a ";
|
case ISA: return " is-a ";
|
||||||
case ISNOTA: return " is-not-a ";
|
case ISNOTA: return " is-not-a ";
|
||||||
case REGEX: return " matches (by regex) ";
|
case REGEX: return " matches (by regex) ";
|
||||||
case NULL: return " ?? ";
|
case NULL: return " ?ngen-13? ";
|
||||||
case IN: return " in ";
|
case IN: return " in ";
|
||||||
case NOTIN: return " not in ";
|
case NOTIN: return " not in ";
|
||||||
case DESCENDENTOF: return " descends from ";
|
case DESCENDENTOF: return " descends from ";
|
||||||
|
@ -4534,7 +4534,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
if (ref == null)
|
if (ref == null)
|
||||||
ref = (String) cs.getUserData("path");
|
ref = (String) cs.getUserData("path");
|
||||||
if (ref == null)
|
if (ref == null)
|
||||||
return "??.html";
|
return "?ngen-14?.html";
|
||||||
if (!ref.contains(".html"))
|
if (!ref.contains(".html"))
|
||||||
ref = ref + ".html";
|
ref = ref + ".html";
|
||||||
return ref.replace("\\", "/");
|
return ref.replace("\\", "/");
|
||||||
|
@ -4646,7 +4646,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
if (ref.hasIdentifier()) {
|
if (ref.hasIdentifier()) {
|
||||||
return displayIdentifier(ref.getIdentifier());
|
return displayIdentifier(ref.getIdentifier());
|
||||||
}
|
}
|
||||||
return "??";
|
return "?ngen-15?";
|
||||||
}
|
}
|
||||||
|
|
||||||
public String gen(CodeableConcept code) {
|
public String gen(CodeableConcept code) {
|
||||||
|
@ -4861,7 +4861,7 @@ public class NarrativeGenerator implements INarrativeGenerator {
|
||||||
} else if (disp != null) {
|
} else if (disp != null) {
|
||||||
x.tx(disp);
|
x.tx(disp);
|
||||||
} else {
|
} else {
|
||||||
x.tx("??");
|
x.tx("?ngen-16?");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return x;
|
return x;
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class TypesUtilities {
|
||||||
case PRIMITIVE: return "Primitive Type";
|
case PRIMITIVE: return "Primitive Type";
|
||||||
case SPECIAL: return "Special Type";
|
case SPECIAL: return "Special Type";
|
||||||
}
|
}
|
||||||
return "??";
|
return "?tu-class?";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1578,7 +1578,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
|
||||||
} else if (ctxt.getType() == ExtensionContextType.FHIRPATH) {
|
} else if (ctxt.getType() == ExtensionContextType.FHIRPATH) {
|
||||||
contexts.append("p:" + ctxt.getExpression());
|
contexts.append("p:" + ctxt.getExpression());
|
||||||
// The context is all elements that match the FHIRPath query found in the expression.
|
// The context is all elements that match the FHIRPath query found in the expression.
|
||||||
List<Base> res = fpe.evaluate(hostContext, resource, hostContext.getRootResource(), container, fpe.parse(ctxt.getExpression()));
|
List<Base> res = fpe.evaluate(hostContext, resource, hostContext.getRootResource(), resource, fpe.parse(ctxt.getExpression()));
|
||||||
if (res.contains(container)) {
|
if (res.contains(container)) {
|
||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<hapi_fhir_version>4.2.0</hapi_fhir_version>
|
<hapi_fhir_version>4.2.0</hapi_fhir_version>
|
||||||
<validator_test_case_version>1.1.6-SNAPSHOT</validator_test_case_version>
|
<validator_test_case_version>1.1.7-SNAPSHOT</validator_test_case_version>
|
||||||
<junit_jupiter_version>5.6.2</junit_jupiter_version>
|
<junit_jupiter_version>5.6.2</junit_jupiter_version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue