From b68ce95b3f48e37cac117bef9876e6c8318b957d Mon Sep 17 00:00:00 2001 From: James Agnew Date: Tue, 28 Apr 2015 13:58:22 -0400 Subject: [PATCH] Fix #36 - Allow removal of extensions --- .../ca/uhn/fhir/model/api/BaseElement.java | 4 +- .../api/ISupportsUndeclaredExtensions.java | 18 +++++++-- .../src/main/webapp/css/tester.css | 37 ++++++++++--------- src/changes/changes.xml | 4 ++ 4 files changed, 39 insertions(+), 24 deletions(-) diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/model/api/BaseElement.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/model/api/BaseElement.java index c86d26bf2931..57acdcd8d8c7 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/model/api/BaseElement.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/model/api/BaseElement.java @@ -91,7 +91,7 @@ public List getUndeclaredExtensions() { if (myUndeclaredExtensions == null) { myUndeclaredExtensions = new ArrayList(); } - return Collections.unmodifiableList(myUndeclaredExtensions); + return (myUndeclaredExtensions); } @Override @@ -111,7 +111,7 @@ public List getUndeclaredModifierExtensions() { if (myUndeclaredModifierExtensions == null) { myUndeclaredModifierExtensions = new ArrayList(); } - return Collections.unmodifiableList(myUndeclaredModifierExtensions); + return (myUndeclaredModifierExtensions); } /** diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/model/api/ISupportsUndeclaredExtensions.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/model/api/ISupportsUndeclaredExtensions.java index 1c34760264b2..73817e4e2cb5 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/model/api/ISupportsUndeclaredExtensions.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/model/api/ISupportsUndeclaredExtensions.java @@ -27,22 +27,28 @@ public interface ISupportsUndeclaredExtensions extends IElement { /** - * Returns a list containing all undeclared non-modifier extensions + * Returns a list containing all undeclared non-modifier extensions. The returned list + * is mutable, so it may be modified (e.g. to add or remove an extension). */ List getUndeclaredExtensions(); /** - * Returns a list containing all undeclared extensions (modifier and non-modifier) by extension URL + * Returns an immutable list containing all undeclared extensions (modifier and non-modifier) by extension URL + * + * @see #getUndeclaredExtensions() To return a mutable list which may be used to remove extensions */ List getUndeclaredExtensionsByUrl(String theUrl); /** - * Returns an immutable list containing all extensions (modifier and non-modifier) + * Returns an immutable list containing all extensions (modifier and non-modifier). + * + * @see #getUndeclaredExtensions() To return a mutable list which may be used to remove extensions */ List getAllUndeclaredExtensions(); /** - * Returns a list containing all undeclared modifier extensions + * Returns a list containing all undeclared modifier extensions. The returned list + * is mutable, so it may be modified (e.g. to add or remove an extension). */ List getUndeclaredModifierExtensions(); @@ -65,6 +71,8 @@ public interface ISupportsUndeclaredExtensions extends IElement { /** * Adds an extension to this object + * + * @see #getUndeclaredExtensions() To return a mutable list which may be used to remove extensions */ ExtensionDt addUndeclaredExtension(boolean theIsModifier, String theUrl, IBaseDatatype theValue); @@ -72,6 +80,8 @@ public interface ISupportsUndeclaredExtensions extends IElement { * Adds an extension to this object. This method is intended for use when * an extension is being added which will contain child extensions, as opposed to * a datatype. + * + * @see #getUndeclaredExtensions() To return a mutable list which may be used to remove extensions */ ExtensionDt addUndeclaredExtension(boolean theIsModifier, String theUrl); diff --git a/hapi-fhir-testpage-overlay/src/main/webapp/css/tester.css b/hapi-fhir-testpage-overlay/src/main/webapp/css/tester.css index 8486c654c256..5dc99a9565b0 100644 --- a/hapi-fhir-testpage-overlay/src/main/webapp/css/tester.css +++ b/hapi-fhir-testpage-overlay/src/main/webapp/css/tester.css @@ -11,8 +11,8 @@ fieldset[disabled].btn { /* Move down content because we have a fixed navbar that is 50px tall */ body { - padding-top: 50px; - overflow-x: hidden; + padding-top: 50px; + overflow-x: hidden; } .clientCodeBox @@ -144,6 +144,7 @@ PRE.resultBodyPre { background-color: transparent; overflow: visible; /*white-space: normal;*/ + white-space: pre-wrap; } /* @@ -151,16 +152,16 @@ PRE.resultBodyPre { */ .sub-header { - padding-bottom: 10px; - border-bottom: 1px solid #eee; + padding-bottom: 10px; + border-bottom: 1px solid #eee; } body .syntaxhighlighter .line { - white-space: pre-wrap !important; /* make code wrap */ + white-space: pre-wrap !important; /* make code wrap */ } .syntaxhighlight { - white-space: pre-wrap; + white-space: pre-wrap; } /* @@ -216,14 +217,14 @@ body .syntaxhighlighter .line { padding: 20px; } @media (min-width: 768px) { - .main { - padding-top: 10px; - padding-right: 10px; - padding-left: 10px; - } + .main { + padding-top: 10px; + padding-right: 10px; + padding-left: 10px; + } } .main .page-header { - margin-top: 0; + margin-top: 0; } .navBarButtonLabel { @@ -235,18 +236,18 @@ body .syntaxhighlighter .line { */ .placeholders { - margin-bottom: 30px; - text-align: center; + margin-bottom: 30px; + text-align: center; } .placeholders h4 { - margin-bottom: 0; + margin-bottom: 0; } .placeholder { - margin-bottom: 20px; + margin-bottom: 20px; } .placeholder img { - display: inline-block; - border-radius: 50%; + display: inline-block; + border-radius: 50%; } DIV.queryParameter { diff --git a/src/changes/changes.xml b/src/changes/changes.xml index edadc6769562..c33acf94e847 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -164,6 +164,10 @@ enter partial dates, or dates without times, or even test out invalid date options. + + Make BaseElement#getUndeclaredExtensions() and BaseElement#getUndeclaredExtensions() return + a mutable list so that it is possible to delete extensions from a resource instance. +