From 0004e06a5d7768499526d27d1d35547b6b645e5d Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 7 Jul 2023 05:00:51 +1000 Subject: [PATCH] fix npe rendering extensions + improve base64 presentation --- .../main/java/org/hl7/fhir/r5/renderers/DataRenderer.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java index dcbd29dd1..dc5d52178 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java @@ -420,7 +420,7 @@ public class DataRenderer extends Renderer implements CodeResolver { private String getExtensionLabel(Extension ext) { StructureDefinition sd = context.getWorker().fetchResource(StructureDefinition.class, ext.getUrl()); - if (sd != null && ext.getValue().isPrimitive() && sd.hasSnapshot()) { + if (sd != null && ext.hasValue() && ext.getValue().isPrimitive() && sd.hasSnapshot()) { for (ElementDefinition ed : sd.getSnapshot().getElement()) { if (Utilities.existsInList(ed.getPath(), "Extension", "Extension.value[x]") && ed.hasLabel()) { return ed.getLabel(); @@ -728,7 +728,8 @@ public class DataRenderer extends Renderer implements CodeResolver { } else if (type instanceof MarkdownType) { addMarkdown(x, ((MarkdownType) type).asStringValue()); } else if (type instanceof Base64BinaryType) { - x.tx("(base64 data)"); + Base64BinaryType b64 = (Base64BinaryType) type; + x.tx("(base64 data - "+(b64.getValue() == null ? "0" : b64.getValue().length)+" bytes)"); } else if (type.isPrimitive()) { x.tx(type.primitiveValue()); } else {