Merge pull request #1829 from hapifhir/2024-11-gg-validator-npe
fix NPE in validator around Extension context
This commit is contained in:
commit
a5e0605a16
|
@ -1,6 +1,6 @@
|
|||
## Validator Changes
|
||||
|
||||
* no changes
|
||||
* fix NPE in validator around Extension context
|
||||
|
||||
## Other code changes
|
||||
|
||||
|
|
|
@ -2478,22 +2478,26 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
|
|||
}
|
||||
if (ctxt.getType() == ExtensionContextType.ELEMENT) {
|
||||
String en = ctxt.getExpression();
|
||||
contexts.append("e:" + en);
|
||||
String pu = null;
|
||||
if (en.contains("#")) {
|
||||
pu = en.substring(0, en.indexOf("#"));
|
||||
en = en.substring(en.indexOf("#")+1);
|
||||
if (en == null) {
|
||||
// nothing? It's an error in the extension definition, but that's properly reported elsewhere
|
||||
} else {
|
||||
//pu = en;
|
||||
}
|
||||
if (Utilities.existsInList(en, "Element", "Any")) {
|
||||
ok = true;
|
||||
} else if (en.equals("Resource") && container.isResource()) {
|
||||
ok = true;
|
||||
} else if (en.equals("CanonicalResource") && containsAny(VersionUtilities.getExtendedCanonicalResourceNames(context.getVersion()), plist)) {
|
||||
ok = true;
|
||||
} else if (hasElementName(plist, en) && pu == null) {
|
||||
ok = true;
|
||||
contexts.append("e:" + en);
|
||||
if (en.contains("#")) {
|
||||
pu = en.substring(0, en.indexOf("#"));
|
||||
en = en.substring(en.indexOf("#")+1);
|
||||
} else {
|
||||
//pu = en;
|
||||
}
|
||||
if (Utilities.existsInList(en, "Element", "Any")) {
|
||||
ok = true;
|
||||
} else if (en.equals("Resource") && container.isResource()) {
|
||||
ok = true;
|
||||
} else if (en.equals("CanonicalResource") && containsAny(VersionUtilities.getExtendedCanonicalResourceNames(context.getVersion()), plist)) {
|
||||
ok = true;
|
||||
} else if (hasElementName(plist, en) && pu == null) {
|
||||
ok = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!ok) {
|
||||
|
|
Loading…
Reference in New Issue