From 375c8cb46d55d630576c42d26b3c53a84ab22f65 Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Tue, 1 Jun 2021 07:53:40 -0400 Subject: [PATCH] fixes for eclipse (#524) rip --- org.hl7.fhir.convertors/pom.xml | 7 ++ .../SourceElementComponentWrapper.java | 12 +++ .../org/hl7/fhir/convertors/SpecPackage.java | 22 ++++++ .../fhir/convertors/StringReplacement.java | 11 +++ .../fhir/convertors/TransformContextR2R3.java | 12 +++ .../hl7/fhir/convertors/TypeLinkProvider.java | 5 ++ .../advisors/impl/BaseAdvisor_10_30.java | 36 +++++++++ .../advisors/impl/BaseAdvisor_10_40.java | 40 ++++++++++ .../advisors/impl/BaseAdvisor_10_50.java | 44 +++++++++++ .../advisors/impl/BaseAdvisor_14_30.java | 37 +++++++++ .../advisors/impl/BaseAdvisor_14_40.java | 43 +++++++++++ .../advisors/impl/BaseAdvisor_14_50.java | 34 ++++++++ .../advisors/impl/BaseAdvisor_30_40.java | 33 ++++++++ .../advisors/impl/BaseAdvisor_30_50.java | 30 ++++++++ .../advisors/impl/BaseAdvisor_40_50.java | 30 ++++++++ .../advisors/interfaces/BaseAdvisor.java | 8 ++ .../advisors/interfaces/BaseAdvisor30.java | 54 +++++++++++++ .../advisors/interfaces/BaseAdvisor40.java | 53 +++++++++++++ .../advisors/interfaces/BaseAdvisor50.java | 53 +++++++++++++ .../convertors/misc/IGPackConverter102.java | 7 +- .../convertors/misc/IGR2ConvertorAdvisor.java | 3 +- .../misc/IGR2ConvertorAdvisor5.java | 3 +- .../hl7/fhir/convertors/misc/PR2Handler.java | 5 +- .../SourceElementComponentWrapper.kt | 7 -- .../org/hl7/fhir/convertors/SpecPackage.kt | 14 ---- .../hl7/fhir/convertors/StringReplacement.kt | 3 - .../fhir/convertors/TransformContextR2R3.kt | 6 -- .../hl7/fhir/convertors/TypeLinkProvider.kt | 5 -- .../advisors/impl/BaseAdvisor_10_30.kt | 33 -------- .../advisors/impl/BaseAdvisor_10_40.kt | 50 ------------ .../advisors/impl/BaseAdvisor_10_50.kt | 43 ----------- .../advisors/impl/BaseAdvisor_14_30.kt | 34 -------- .../advisors/impl/BaseAdvisor_14_40.kt | 44 ----------- .../advisors/impl/BaseAdvisor_14_50.kt | 25 ------ .../advisors/impl/BaseAdvisor_30_40.kt | 25 ------ .../advisors/impl/BaseAdvisor_30_50.kt | 25 ------ .../advisors/impl/BaseAdvisor_40_50.kt | 25 ------ .../advisors/interfaces/BaseAdvisor.kt | 11 --- .../interfaces/bundle/BundleAdvisor30.kt | 63 --------------- .../interfaces/bundle/BundleAdvisor40.kt | 64 --------------- .../interfaces/bundle/BundleAdvisor50.kt | 59 -------------- .../codesystem/CodeSystemAdvisor30.kt | 77 ------------------- .../codesystem/CodeSystemAdvisor40.kt | 77 ------------------- .../codesystem/CodeSystemAdvisor50.kt | 71 ----------------- .../extension/ExtensionAdvisor30.kt | 73 ------------------ .../extension/ExtensionAdvisor40.kt | 73 ------------------ .../extension/ExtensionAdvisor50.kt | 73 ------------------ .../hl7/fhir/convertors/loaders/BaseLoader.kt | 4 - .../advisors/support/ExpressionAdvisor40.java | 35 +++++++++ .../advisors/support/ExpressionAdvisor40.kt | 29 ------- .../advisors/support/ExpressionAdvisor50.java | 39 ++++++++++ .../advisors/support/ExpressionAdvisor50.kt | 31 -------- .../StructureDefinition30_50Test.java | 2 +- .../fhir/validation/NativeHostServices.java | 5 +- pom.xml | 73 +----------------- 55 files changed, 654 insertions(+), 1126 deletions(-) create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SourceElementComponentWrapper.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecPackage.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/StringReplacement.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TransformContextR2R3.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TypeLinkProvider.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor30.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor40.java create mode 100644 org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor50.java delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/SourceElementComponentWrapper.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/SpecPackage.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/StringReplacement.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/TransformContextR2R3.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/TypeLinkProvider.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor30.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor40.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor50.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor30.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor40.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor50.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor30.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor40.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor50.kt delete mode 100644 org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/loaders/BaseLoader.kt create mode 100644 org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor40.java delete mode 100644 org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor40.kt create mode 100644 org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor50.java delete mode 100644 org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor50.kt diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index d1967dd69..d3e2ffce9 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -86,6 +86,13 @@ true + + org.projectlombok + lombok + 1.18.16 + provided + + org.junit.jupiter diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SourceElementComponentWrapper.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SourceElementComponentWrapper.java new file mode 100644 index 000000000..82b861926 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SourceElementComponentWrapper.java @@ -0,0 +1,12 @@ +package org.hl7.fhir.convertors; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class SourceElementComponentWrapper { + public T comp; + public String source; + public String target; +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecPackage.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecPackage.java new file mode 100644 index 000000000..7388e5fe1 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecPackage.java @@ -0,0 +1,22 @@ +package org.hl7.fhir.convertors; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hl7.fhir.r5.model.StructureDefinition; +import org.hl7.fhir.r5.model.ValueSet; + +import java.util.HashMap; +import java.util.Map; + +@AllArgsConstructor +@NoArgsConstructor +@Data +public class SpecPackage { + private Map valuesets = new HashMap(); + private Map expansions = new HashMap(); + private Map types = new HashMap(); + private Map resources = new HashMap(); + private Map extensions = new HashMap(); + private Map profiles = new HashMap(); +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/StringReplacement.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/StringReplacement.java new file mode 100644 index 000000000..ce3b4880e --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/StringReplacement.java @@ -0,0 +1,11 @@ +package org.hl7.fhir.convertors; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@AllArgsConstructor +@Data +public class StringReplacement { + public String source; + public String replacement; +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TransformContextR2R3.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TransformContextR2R3.java new file mode 100644 index 000000000..b89cd3be1 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TransformContextR2R3.java @@ -0,0 +1,12 @@ +package org.hl7.fhir.convertors; + +import lombok.AllArgsConstructor; +import lombok.Data; +import org.hl7.fhir.dstu3.context.SimpleWorkerContext; + +@AllArgsConstructor +@Data +public class TransformContextR2R3 { + private SimpleWorkerContext context; + private String id; +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TypeLinkProvider.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TypeLinkProvider.java new file mode 100644 index 000000000..ec27f3bb9 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TypeLinkProvider.java @@ -0,0 +1,5 @@ +package org.hl7.fhir.convertors; + +public interface TypeLinkProvider { + String getLink(String var1); +} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.java new file mode 100644 index 000000000..1c2f5a55b --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.java @@ -0,0 +1,36 @@ +package org.hl7.fhir.convertors.advisors.impl; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor30; +import org.hl7.fhir.dstu3.model.CodeSystem; +import org.hl7.fhir.dstu3.model.ValueSet; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class BaseAdvisor_10_30 extends BaseAdvisor30 { + + private final List cslist = new ArrayList<>(); + private final List ignoredUrls = new ArrayList<>(Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown")); + + public BaseAdvisor_10_30() {} + + public BaseAdvisor_10_30(Boolean failFast) { + this.failFast = failFast; + } + + public final List getCslist() { + return this.cslist; + } + + public boolean ignoreExtension(@NotNull String path, @NotNull String url) { + return this.ignoredUrls.contains(url); + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) { + tgtcs.setId(source.getId()); + tgtcs.setValueSet(source.getUrl()); + this.cslist.add(tgtcs); + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.java new file mode 100644 index 000000000..e3e245049 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.java @@ -0,0 +1,40 @@ +package org.hl7.fhir.convertors.advisors.impl; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; +import org.hl7.fhir.r4.model.*; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class BaseAdvisor_10_40 extends BaseAdvisor40 { + + private final List cslist = new ArrayList<>(); + private final List ignoredUrls = new ArrayList<>(Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown")); + private final List> ignoredExtensionTypes = new ArrayList<>(Collections.singletonList(Expression.class)); + + public BaseAdvisor_10_40() {} + + public BaseAdvisor_10_40(Boolean failFast) { + this.failFast = failFast; + } + + public final List getCslist() { + return this.cslist; + } + + public boolean ignoreExtension(@NotNull String path, @NotNull String url) { + return this.ignoredUrls.contains(url); + } + + public boolean ignoreType(@NotNull String path, @NotNull Type type) { + return ignoredExtensionTypes.contains(type.getClass()); + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) { + tgtcs.setId(source.getId()); + tgtcs.setValueSet(source.getUrl()); + this.cslist.add(tgtcs); + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.java new file mode 100644 index 000000000..dddf80519 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.java @@ -0,0 +1,44 @@ +package org.hl7.fhir.convertors.advisors.impl; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; +import org.hl7.fhir.dstu2.model.Extension; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.DataType; +import org.hl7.fhir.r5.model.Expression; +import org.hl7.fhir.r5.model.ValueSet; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class BaseAdvisor_10_50 extends BaseAdvisor50 { + + private final List cslist = new ArrayList<>(); + private final List ignoredUrls = new ArrayList<>(Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown")); + private final List> ignoredExtensionTypes = new ArrayList<>(Collections.singletonList(Expression.class)); + + public BaseAdvisor_10_50() {} + + public BaseAdvisor_10_50(Boolean failFast) { + this.failFast = failFast; + } + + public final List getCslist() { + return this.cslist; + } + + public boolean ignoreExtension(@NotNull String path, @NotNull String url) { + return this.ignoredUrls.contains(url); + } + + public boolean ignoreType(@NotNull String path, @NotNull DataType type) { + return ignoredExtensionTypes.contains(type.getClass()); + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) { + tgtcs.setId(source.getId()); + tgtcs.setValueSet(source.getUrl()); + this.cslist.add(tgtcs); + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.java new file mode 100644 index 000000000..3346fdbf5 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.java @@ -0,0 +1,37 @@ +package org.hl7.fhir.convertors.advisors.impl; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor30; +import org.hl7.fhir.dstu2016may.model.Extension; +import org.hl7.fhir.dstu3.model.CodeSystem; +import org.hl7.fhir.dstu3.model.ValueSet; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class BaseAdvisor_14_30 extends BaseAdvisor30 { + + private final List cslist = new ArrayList<>(); + private final List ignoredUrls = new ArrayList<>(Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown")); + + public BaseAdvisor_14_30() {} + + public BaseAdvisor_14_30(Boolean failFast) { + this.failFast = failFast; + } + + public final List getCslist() { + return this.cslist; + } + + public boolean ignoreExtension(@NotNull String path, @NotNull String url) { + return this.ignoredUrls.contains(url); + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) { + tgtcs.setId(source.getId()); + tgtcs.setValueSet(source.getUrl()); + this.cslist.add(tgtcs); + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.java new file mode 100644 index 000000000..f5b3cd45f --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.java @@ -0,0 +1,43 @@ +package org.hl7.fhir.convertors.advisors.impl; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; +import org.hl7.fhir.r4.model.CodeSystem; +import org.hl7.fhir.r4.model.Expression; +import org.hl7.fhir.r4.model.Type; +import org.hl7.fhir.r4.model.ValueSet; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class BaseAdvisor_14_40 extends BaseAdvisor40 { + + private final List cslist = new ArrayList<>(); + private final List ignoredUrls = new ArrayList<>(Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown")); + private final List> ignoredExtensionTypes = new ArrayList<>(Collections.singletonList(Expression.class)); + + public BaseAdvisor_14_40() {} + + public BaseAdvisor_14_40(Boolean failFast) { + this.failFast = failFast; + } + + public final List getCslist() { + return this.cslist; + } + + public boolean ignoreExtension(@NotNull String path, @NotNull String url) { + return this.ignoredUrls.contains(url); + } + + public boolean ignoreType(@NotNull String path, @NotNull Type type) { + return ignoredExtensionTypes.contains(type.getClass()); + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) { + tgtcs.setId(source.getId()); + tgtcs.setValueSet(source.getUrl()); + this.cslist.add(tgtcs); + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.java new file mode 100644 index 000000000..b4651a4d8 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.java @@ -0,0 +1,34 @@ +package org.hl7.fhir.convertors.advisors.impl; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; +import org.hl7.fhir.dstu2.model.Extension; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.DataType; +import org.hl7.fhir.r5.model.Expression; +import org.hl7.fhir.r5.model.ValueSet; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class BaseAdvisor_14_50 extends BaseAdvisor50 { + + private final List cslist = new ArrayList<>(); + + public BaseAdvisor_14_50() {} + + public BaseAdvisor_14_50(Boolean failFast) { + this.failFast = failFast; + } + + public final List getCslist() { + return this.cslist; + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) { + tgtcs.setId(source.getId()); + tgtcs.setValueSet(source.getUrl()); + this.cslist.add(tgtcs); + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.java new file mode 100644 index 000000000..e5c93af62 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.java @@ -0,0 +1,33 @@ +package org.hl7.fhir.convertors.advisors.impl; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; +import org.hl7.fhir.r4.model.CodeSystem; +import org.hl7.fhir.r4.model.Expression; +import org.hl7.fhir.r4.model.Type; +import org.hl7.fhir.r4.model.ValueSet; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class BaseAdvisor_30_40 extends BaseAdvisor40 { + + private final List cslist = new ArrayList<>(); + + public BaseAdvisor_30_40() {} + + public BaseAdvisor_30_40(Boolean failFast) { + this.failFast = failFast; + } + + public final List getCslist() { + return this.cslist; + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) { + tgtcs.setId(source.getId()); + tgtcs.setValueSet(source.getUrl()); + this.cslist.add(tgtcs); + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.java new file mode 100644 index 000000000..5e0ca4376 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.java @@ -0,0 +1,30 @@ +package org.hl7.fhir.convertors.advisors.impl; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.ValueSet; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; + +public class BaseAdvisor_30_50 extends BaseAdvisor50 { + + private final List cslist = new ArrayList<>(); + + public final List getCslist() { + return this.cslist; + } + + public BaseAdvisor_30_50() {} + + public BaseAdvisor_30_50(Boolean failFast) { + this.failFast = failFast; + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) { + tgtcs.setId(source.getId()); + tgtcs.setValueSet(source.getUrl()); + this.cslist.add(tgtcs); + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java new file mode 100644 index 000000000..cc88c9969 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java @@ -0,0 +1,30 @@ +package org.hl7.fhir.convertors.advisors.impl; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.ValueSet; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; + +public class BaseAdvisor_40_50 extends BaseAdvisor50 { + + private final List cslist = new ArrayList<>(); + + public BaseAdvisor_40_50() {} + + public BaseAdvisor_40_50(Boolean failFast) { + this.failFast = failFast; + } + + public final List getCslist() { + return this.cslist; + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) { + tgtcs.setId(source.getId()); + tgtcs.setValueSet(source.getUrl()); + this.cslist.add(tgtcs); + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor.java new file mode 100644 index 000000000..161a35455 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor.java @@ -0,0 +1,8 @@ +package org.hl7.fhir.convertors.advisors.interfaces; + +public abstract class BaseAdvisor { + public boolean failFast = true; + public boolean failFastOnNullOrUnknownEntry() { + return this.failFast; + } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor30.java new file mode 100644 index 000000000..b33c3c0cf --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor30.java @@ -0,0 +1,54 @@ +package org.hl7.fhir.convertors.advisors.interfaces; + +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.IBaseExtension; +import org.hl7.fhir.dstu3.model.*; +import org.hl7.fhir.r5.model.FhirPublication; +import org.jetbrains.annotations.NotNull; + +public abstract class BaseAdvisor30 extends BaseAdvisor { + + public boolean ignoreEntry(@NotNull Bundle.BundleEntryComponent src, @NotNull FhirPublication publication) { + return false; + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) throws FHIRException { } + + public CodeSystem getCodeSystem(@NotNull ValueSet src) throws FHIRException { + return null; + } + + public boolean ignoreExtension(@NotNull String path, @NotNull Extension ext) throws FHIRException { + return ((ext.getUrl() != null) && (this.ignoreExtension(path, ext.getUrl())) + || (this.ignoreType(path, ext.getValue()))); + } + + public boolean ignoreExtension(@NotNull String path, @NotNull T ext) throws FHIRException { + return ((ext.getUrl() != null) && this.ignoreExtension(path, ext.getUrl())) + || (this.ignoreType(path, ext.getValue())); + } + + public boolean ignoreExtension(@NotNull String path, @NotNull String url) throws FHIRException { + return false; + } + + public boolean ignoreType(@NotNull String path, @NotNull Type type) throws FHIRException { + return false; + } + + public boolean ignoreType(@NotNull String path, @NotNull Object type) throws FHIRException { + return false; + } + + public boolean useAdvisorForExtension(@NotNull String path, @NotNull Extension ext) throws FHIRException { + return false; + } + + public boolean useAdvisorForExtension(@NotNull String path, @NotNull T ext) throws FHIRException { + return false; + } + + public void handleExtension(@NotNull String path, @NotNull Extension src, @NotNull T tgt) throws FHIRException { } + + public void handleExtension(@NotNull String path, @NotNull T src, @NotNull Extension tgt) throws FHIRException { } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor40.java new file mode 100644 index 000000000..7a1f1c2c2 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor40.java @@ -0,0 +1,53 @@ +package org.hl7.fhir.convertors.advisors.interfaces; + +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.IBaseExtension; +import org.hl7.fhir.r4.model.*; +import org.jetbrains.annotations.NotNull; + +public abstract class BaseAdvisor40 extends BaseAdvisor { + + public boolean ignoreEntry(@NotNull Bundle.BundleEntryComponent src, @NotNull org.hl7.fhir.r5.model.FhirPublication targetVersion) { + return false; + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) throws FHIRException { } + + public CodeSystem getCodeSystem(@NotNull ValueSet src) throws FHIRException { + return null; + } + + public boolean ignoreExtension(@NotNull String path, @NotNull Extension ext) throws FHIRException { + return ((ext.getUrl() != null) && (this.ignoreExtension(path, ext.getUrl())) + || (this.ignoreType(path, ext.getValue()))); + } + + public boolean ignoreExtension(@NotNull String path, @NotNull T ext) throws FHIRException { + return ((ext.getUrl() != null) && this.ignoreExtension(path, ext.getUrl())) + || (this.ignoreType(path, ext.getValue())); + } + + public boolean ignoreExtension(@NotNull String path, @NotNull String url) throws FHIRException { + return false; + } + + public boolean ignoreType(@NotNull String path, @NotNull Type type) throws FHIRException { + return false; + } + + public boolean ignoreType(@NotNull String path, @NotNull Object type) throws FHIRException { + return false; + } + + public boolean useAdvisorForExtension(@NotNull String path, @NotNull Extension ext) throws FHIRException { + return false; + } + + public boolean useAdvisorForExtension(@NotNull String path, @NotNull T ext) throws FHIRException { + return false; + } + + public void handleExtension(@NotNull String path, @NotNull Extension src, @NotNull T tgt) throws FHIRException { } + + public void handleExtension(@NotNull String path, @NotNull T src, @NotNull Extension tgt) throws FHIRException { } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor50.java new file mode 100644 index 000000000..53facabc0 --- /dev/null +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor50.java @@ -0,0 +1,53 @@ +package org.hl7.fhir.convertors.advisors.interfaces; + +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.IBaseExtension; +import org.hl7.fhir.r5.model.*; +import org.jetbrains.annotations.NotNull; + +public abstract class BaseAdvisor50 extends BaseAdvisor { + + public boolean ignoreEntry(@NotNull Bundle.BundleEntryComponent src, @NotNull FhirPublication targetVersion) { + return false; + } + + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) throws FHIRException { } + + public CodeSystem getCodeSystem(@NotNull ValueSet src) throws FHIRException { + return null; + } + + public boolean ignoreExtension(@NotNull String path, @NotNull Extension ext) throws FHIRException { + return ((ext.getUrl() != null) && (this.ignoreExtension(path, ext.getUrl())) + || (this.ignoreType(path, ext.getValue()))); + } + + public boolean ignoreExtension(@NotNull String path, @NotNull T ext) throws FHIRException { + return ((ext.getUrl() != null) && this.ignoreExtension(path, ext.getUrl())) + || (this.ignoreType(path, ext.getValue())); + } + + public boolean ignoreExtension(@NotNull String path, @NotNull String url) throws FHIRException { + return false; + } + + public boolean ignoreType(@NotNull String path, @NotNull DataType type) throws FHIRException { + return false; + } + + public boolean ignoreType(@NotNull String path, @NotNull Object type) throws FHIRException { + return false; + } + + public boolean useAdvisorForExtension(@NotNull String path, @NotNull Extension ext) throws FHIRException { + return false; + } + + public boolean useAdvisorForExtension(@NotNull String path, @NotNull T ext) throws FHIRException { + return false; + } + + public void handleExtension(@NotNull String path, @NotNull Extension src, @NotNull T tgt) throws FHIRException { } + + public void handleExtension(@NotNull String path, @NotNull T src, @NotNull Extension tgt) throws FHIRException { } +} diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter102.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter102.java index e4cfdf4af..1de541003 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter102.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter102.java @@ -49,6 +49,7 @@ import org.hl7.fhir.dstu3.model.ValueSet; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.FhirPublication; import org.hl7.fhir.utilities.Utilities; +import org.jetbrains.annotations.NotNull; public class IGPackConverter102 extends BaseAdvisor_10_30 { @@ -85,18 +86,18 @@ public class IGPackConverter102 extends BaseAdvisor_10_30 { } @Override - public boolean ignoreEntry(BundleEntryComponent src, FhirPublication publication) { + public boolean ignoreEntry(@NotNull BundleEntryComponent src, @NotNull FhirPublication publication) { return false; } @Override - public void handleCodeSystem(CodeSystem tgtcs, ValueSet vs) { + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet vs) { cslist.addEntry().setFullUrl(tgtcs.getUrl()).setResource(tgtcs); } @Override - public CodeSystem getCodeSystem(ValueSet src) { + public CodeSystem getCodeSystem(@NotNull ValueSet src) { return null; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor.java index 47a63a925..2102b78d3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor.java @@ -32,10 +32,11 @@ package org.hl7.fhir.convertors.misc; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; import org.hl7.fhir.r4.model.CodeSystem; import org.hl7.fhir.r4.model.ValueSet; +import org.jetbrains.annotations.NotNull; public class IGR2ConvertorAdvisor extends BaseAdvisor_10_40 { @Override - public void handleCodeSystem(CodeSystem cs, ValueSet vs) { + public void handleCodeSystem(@NotNull CodeSystem cs, @NotNull ValueSet vs) { cs.setId(vs.getId()); } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor5.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor5.java index aa4c7914a..dc610631b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor5.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor5.java @@ -33,11 +33,12 @@ package org.hl7.fhir.convertors.misc; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50; import org.hl7.fhir.r5.model.CodeSystem; import org.hl7.fhir.r5.model.ValueSet; +import org.jetbrains.annotations.NotNull; public class IGR2ConvertorAdvisor5 extends BaseAdvisor_10_50 { @Override - public void handleCodeSystem(CodeSystem cs, ValueSet vs) { + public void handleCodeSystem(@NotNull CodeSystem cs, @NotNull ValueSet vs) { cs.setId(vs.getId()); } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PR2Handler.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PR2Handler.java index e471477e0..df064acb4 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PR2Handler.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PR2Handler.java @@ -6,6 +6,7 @@ import org.hl7.fhir.r4.model.Bundle; import org.hl7.fhir.r4.model.CodeSystem; import org.hl7.fhir.r4.model.ValueSet; import org.hl7.fhir.r5.model.FhirPublication; +import org.jetbrains.annotations.NotNull; class PR2Handler extends BaseAdvisor_10_40 { @@ -15,12 +16,12 @@ class PR2Handler extends BaseAdvisor_10_40 { } @Override - public void handleCodeSystem(CodeSystem tgtcs, ValueSet source) throws FHIRException { + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) throws FHIRException { throw new Error("Not done yet"); } @Override - public CodeSystem getCodeSystem(ValueSet src) throws FHIRException { + public CodeSystem getCodeSystem(@NotNull ValueSet src) throws FHIRException { throw new Error("Not done yet"); } diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/SourceElementComponentWrapper.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/SourceElementComponentWrapper.kt deleted file mode 100644 index 52d02d91f..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/SourceElementComponentWrapper.kt +++ /dev/null @@ -1,7 +0,0 @@ -package org.hl7.fhir.convertors - -data class SourceElementComponentWrapper( - var comp: A, - var source: String, - var target: String -) \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/SpecPackage.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/SpecPackage.kt deleted file mode 100644 index ea07e4433..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/SpecPackage.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.hl7.fhir.convertors - -import org.hl7.fhir.r5.model.StructureDefinition -import org.hl7.fhir.r5.model.ValueSet -import java.util.HashMap - -data class SpecPackage ( - var valuesets: Map = HashMap(), - var expansions: Map = HashMap(), - var types: Map = HashMap(), - var resources: Map = HashMap(), - var extensions: Map = HashMap(), - var profiles: Map = HashMap() -) diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/StringReplacement.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/StringReplacement.kt deleted file mode 100644 index f0488ff36..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/StringReplacement.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.hl7.fhir.convertors - -data class StringReplacement(var source: String, var replacement: String) diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/TransformContextR2R3.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/TransformContextR2R3.kt deleted file mode 100644 index a8648d0b5..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/TransformContextR2R3.kt +++ /dev/null @@ -1,6 +0,0 @@ -package org.hl7.fhir.convertors - -import org.hl7.fhir.dstu3.context.SimpleWorkerContext - -data class TransformContextR2R3(val context: SimpleWorkerContext, val id: String) - diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/TypeLinkProvider.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/TypeLinkProvider.kt deleted file mode 100644 index 518ccb4cd..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/TypeLinkProvider.kt +++ /dev/null @@ -1,5 +0,0 @@ -package org.hl7.fhir.convertors - -interface TypeLinkProvider { - fun getLink(typeName: String?): String? -} diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.kt deleted file mode 100644 index 2ad18793e..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.hl7.fhir.convertors.advisors.impl - -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor -import org.hl7.fhir.convertors.advisors.interfaces.bundle.BundleAdvisor30 -import org.hl7.fhir.convertors.advisors.interfaces.codesystem.CodeSystemAdvisor30 -import org.hl7.fhir.convertors.advisors.interfaces.extension.ExtensionAdvisor30 -import org.hl7.fhir.dstu3.model.CodeSystem -import org.hl7.fhir.dstu3.model.ValueSet -import java.util.* - -open class BaseAdvisor_10_30(val failFast: Boolean = true) : BaseAdvisor, BundleAdvisor30, CodeSystemAdvisor30, - ExtensionAdvisor30 { - - val cslist = ArrayList() - - private val ignoredUrls = listOf( - "http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown", - ) - - override fun failFastOnNullOrUnknownEntry(): Boolean { - return failFast - } - - override fun ignoreExtension(path: String, url: String): Boolean { - return ignoredUrls.contains(url) - } - - override fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) { - tgtcs.id = source.id - tgtcs.valueSet = source.url - cslist.add(tgtcs) - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.kt deleted file mode 100644 index 7588aaf9c..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.kt +++ /dev/null @@ -1,50 +0,0 @@ -package org.hl7.fhir.convertors.advisors.impl - -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor -import org.hl7.fhir.convertors.advisors.interfaces.bundle.BundleAdvisor40 -import org.hl7.fhir.convertors.advisors.interfaces.codesystem.CodeSystemAdvisor40 -import org.hl7.fhir.convertors.advisors.interfaces.extension.ExtensionAdvisor40 -import org.hl7.fhir.r4.model.CodeSystem -import org.hl7.fhir.r4.model.Expression -import org.hl7.fhir.r4.model.Type -import org.hl7.fhir.r4.model.ValueSet -import java.util.* - -open class BaseAdvisor_10_40(val failFast: Boolean = true) : BaseAdvisor, BundleAdvisor40, CodeSystemAdvisor40, - ExtensionAdvisor40 { - - val cslist = ArrayList() - - private val ignoredUrls = listOf( - //todo put only in capabilty statement - //todo methods to convert extension should always take path - "http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown", - ) - - private val ignoredExtensionTypes = listOf( - Expression::class.java, - ) - - override fun failFastOnNullOrUnknownEntry(): Boolean { - return failFast - } - - //todo path - Observation.value - // "http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown" - // - override fun ignoreExtension(path: String, url: String): Boolean { - return ignoredUrls.contains(url) - } - - - override fun ignoreType(path: String, type: Type): Boolean { - return ignoredExtensionTypes.contains(type::class.java) - } - - override fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) { - tgtcs.id = source.id - tgtcs.valueSet = source.url - cslist.add(tgtcs) - } - -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.kt deleted file mode 100644 index 94f1a9f6a..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.kt +++ /dev/null @@ -1,43 +0,0 @@ -package org.hl7.fhir.convertors.advisors.impl - -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor -import org.hl7.fhir.convertors.advisors.interfaces.bundle.BundleAdvisor50 -import org.hl7.fhir.convertors.advisors.interfaces.codesystem.CodeSystemAdvisor50 -import org.hl7.fhir.convertors.advisors.interfaces.extension.ExtensionAdvisor50 -import org.hl7.fhir.r5.model.CodeSystem -import org.hl7.fhir.r5.model.DataType -import org.hl7.fhir.r5.model.Expression -import org.hl7.fhir.r5.model.ValueSet -import java.util.* - -open class BaseAdvisor_10_50(val failFast: Boolean = true) : BaseAdvisor, BundleAdvisor50, CodeSystemAdvisor50, - ExtensionAdvisor50 { - - val cslist = ArrayList() - - private val ignoredUrls = listOf( - "http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown", - ) - - private val ignoredExtensionTypes = listOf( - Expression::class.java, - ) - - override fun failFastOnNullOrUnknownEntry(): Boolean { - return failFast - } - - override fun ignoreExtension(path: String, url: String): Boolean { - return ignoredUrls.contains(url) - } - - override fun ignoreType(path: String, type: DataType): Boolean { - return ignoredExtensionTypes.contains(type::class.java) - } - - override fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) { - tgtcs.id = source.id - tgtcs.valueSet = source.url - cslist.add(tgtcs) - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.kt deleted file mode 100644 index cb7235978..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.hl7.fhir.convertors.advisors.impl - -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor -import org.hl7.fhir.convertors.advisors.interfaces.bundle.BundleAdvisor30 -import org.hl7.fhir.convertors.advisors.interfaces.codesystem.CodeSystemAdvisor30 -import org.hl7.fhir.convertors.advisors.interfaces.extension.ExtensionAdvisor30 -import org.hl7.fhir.dstu3.model.CodeSystem -import org.hl7.fhir.dstu3.model.ValueSet -import java.util.* - -open class BaseAdvisor_14_30(val failFast: Boolean = true) : BaseAdvisor, BundleAdvisor30, CodeSystemAdvisor30, - ExtensionAdvisor30 { - - val cslist = ArrayList() - - private val ignoredUrls = listOf( - "http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown", - ) - - override fun failFastOnNullOrUnknownEntry(): Boolean { - return failFast - } - - override fun ignoreExtension(path: String, url: String): Boolean { - return ignoredUrls.contains(url) - } - - override fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) { - tgtcs.id = source.id - tgtcs.valueSet = source.url - cslist.add(tgtcs) - } - -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.kt deleted file mode 100644 index 32b2294b8..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.kt +++ /dev/null @@ -1,44 +0,0 @@ -package org.hl7.fhir.convertors.advisors.impl - -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor -import org.hl7.fhir.convertors.advisors.interfaces.bundle.BundleAdvisor40 -import org.hl7.fhir.convertors.advisors.interfaces.codesystem.CodeSystemAdvisor40 -import org.hl7.fhir.convertors.advisors.interfaces.extension.ExtensionAdvisor40 -import org.hl7.fhir.r4.model.CodeSystem -import org.hl7.fhir.r4.model.Expression -import org.hl7.fhir.r4.model.Type -import org.hl7.fhir.r4.model.ValueSet -import java.util.* - -open class BaseAdvisor_14_40(val failFast: Boolean = true) : BaseAdvisor, BundleAdvisor40, CodeSystemAdvisor40, - ExtensionAdvisor40 { - - val cslist = ArrayList() - - private val ignoredUrls = listOf( - "http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown", - ) - - private val ignoredExtensionTypes = listOf( - Expression::class.java, - ) - - override fun failFastOnNullOrUnknownEntry(): Boolean { - return failFast - } - - override fun ignoreExtension(path: String, url: String): Boolean { - return ignoredUrls.contains(url) - } - - override fun ignoreType(path: String, type: Type): Boolean { - return ignoredExtensionTypes.contains(type::class.java) - } - - override fun handleCodeSystem(tgtcs: org.hl7.fhir.r4.model.CodeSystem, source: ValueSet) { - tgtcs.id = source.id - tgtcs.valueSet = source.url - cslist.add(tgtcs) - } - -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.kt deleted file mode 100644 index caa33ca5c..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.hl7.fhir.convertors.advisors.impl - -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor -import org.hl7.fhir.convertors.advisors.interfaces.bundle.BundleAdvisor50 -import org.hl7.fhir.convertors.advisors.interfaces.codesystem.CodeSystemAdvisor50 -import org.hl7.fhir.convertors.advisors.interfaces.extension.ExtensionAdvisor50 -import org.hl7.fhir.r5.model.CodeSystem -import org.hl7.fhir.r5.model.ValueSet -import java.util.* - -open class BaseAdvisor_14_50(val failFast: Boolean = true) : BaseAdvisor, BundleAdvisor50, CodeSystemAdvisor50, - ExtensionAdvisor50 { - - val cslist = ArrayList() - - override fun failFastOnNullOrUnknownEntry(): Boolean { - return failFast - } - - override fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) { - tgtcs.id = source.id - tgtcs.valueSet = source.url - cslist.add(tgtcs) - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.kt deleted file mode 100644 index 19f3fb024..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.hl7.fhir.convertors.advisors.impl - -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor -import org.hl7.fhir.convertors.advisors.interfaces.bundle.BundleAdvisor40 -import org.hl7.fhir.convertors.advisors.interfaces.codesystem.CodeSystemAdvisor40 -import org.hl7.fhir.convertors.advisors.interfaces.extension.ExtensionAdvisor40 -import org.hl7.fhir.r4.model.CodeSystem -import org.hl7.fhir.r4.model.ValueSet -import java.util.* - -open class BaseAdvisor_30_40(val failFast: Boolean = true) : BaseAdvisor, BundleAdvisor40, CodeSystemAdvisor40, - ExtensionAdvisor40 { - - val cslist = ArrayList() - - override fun failFastOnNullOrUnknownEntry(): Boolean { - return failFast - } - - override fun handleCodeSystem(tgtcs: CodeSystem, srcvs: ValueSet) { - tgtcs.id = srcvs.id - tgtcs.valueSet = srcvs.url - cslist.add(tgtcs) - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.kt deleted file mode 100644 index 88bd91d1b..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.hl7.fhir.convertors.advisors.impl - -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor -import org.hl7.fhir.convertors.advisors.interfaces.bundle.BundleAdvisor50 -import org.hl7.fhir.convertors.advisors.interfaces.codesystem.CodeSystemAdvisor50 -import org.hl7.fhir.convertors.advisors.interfaces.extension.ExtensionAdvisor50 -import org.hl7.fhir.r5.model.CodeSystem -import org.hl7.fhir.r5.model.ValueSet -import java.util.* - -open class BaseAdvisor_30_50(val failFast: Boolean = true) : BaseAdvisor, BundleAdvisor50, CodeSystemAdvisor50, - ExtensionAdvisor50 { - - val cslist = ArrayList() - - override fun failFastOnNullOrUnknownEntry(): Boolean { - return failFast - } - - override fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) { - tgtcs.id = source.id - tgtcs.valueSet = source.url - cslist.add(tgtcs) - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.kt deleted file mode 100644 index 71862a152..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.hl7.fhir.convertors.advisors.impl - -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor -import org.hl7.fhir.convertors.advisors.interfaces.bundle.BundleAdvisor50 -import org.hl7.fhir.convertors.advisors.interfaces.codesystem.CodeSystemAdvisor50 -import org.hl7.fhir.convertors.advisors.interfaces.extension.ExtensionAdvisor50 -import org.hl7.fhir.r5.model.CodeSystem -import org.hl7.fhir.r5.model.ValueSet -import java.util.* - -open class BaseAdvisor_40_50(val failFast: Boolean = true) : BaseAdvisor, BundleAdvisor50, CodeSystemAdvisor50, - ExtensionAdvisor50 { - - val cslist = ArrayList() - - override fun failFastOnNullOrUnknownEntry(): Boolean { - return failFast - } - - override fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) { - tgtcs.id = source.id - tgtcs.valueSet = source.url - cslist.add(tgtcs) - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor.kt deleted file mode 100644 index 04dd52605..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces - -interface BaseAdvisor { - - /** - * During conversion, we may be provided with a null, or unknown Resource. This method returns true if the implementer - * wants to fail fast in an unknown or null state. - */ - @JvmDefault - fun failFastOnNullOrUnknownEntry(): Boolean -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor30.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor30.kt deleted file mode 100644 index 7cf8bc56f..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor30.kt +++ /dev/null @@ -1,63 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces.bundle - -import org.hl7.fhir.dstu3.model.Bundle -import org.hl7.fhir.r5.model.FhirPublication - -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -*/ /** - * This interface is passed into the version conversion routines when on of the - * converters is producing or converting R3 resources. - * - * The interface allows users of the code to - * 1. manage the life cycle of new resources created (or needed) during the conversion process - * 2. manage how unknown content etc is handled - * - * @author grahame - */ -interface BundleAdvisor30 { - - /** - * When processing a bundle during conversion, we can choose whether to ignore an entry in the bundle. We return - * true when it's a resource that isn't handled, and you don't want to convert. - * - * Different conversions require differing behaviors, so users can determine how they want to handle conversion - * for different target [FhirPublication] versions by switching on the the passed in version. - * - * If implementing this advisor, by default, always return false unless you have a specific reason not to convert - * a [Bundle.BundleEntryComponent]. - * - * @param src [Bundle.BundleEntryComponent] to ignore - * @param targetVersion [FhirPublication] of the target version - * @return [Boolean] True, if we are going to ignore this [Bundle.BundleEntryComponent] in this conversion operation. - */ - @JvmDefault - fun ignoreEntry(src: Bundle.BundleEntryComponent, targetVersion: FhirPublication): Boolean { - return false - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor40.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor40.kt deleted file mode 100644 index ddb5cff9a..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor40.kt +++ /dev/null @@ -1,64 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces.bundle - -import org.hl7.fhir.exceptions.FHIRException -import org.hl7.fhir.r4.model.* -import org.hl7.fhir.r5.model.FhirPublication - -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -*/ /** - * This interface is passed into the version conversion routines when on of the - * converters is producing or converting R4 resources. - * - * The interface allows users of the code to - * 1. manage the life cycle of new resources created (or needed) during the conversion process - * 2. manage how unknown content etc is handled - * - * @author grahame - */ -interface BundleAdvisor40 { - - /** - * When processing a bundle during conversion, we can choose whether to ignore an entry in the bundle. We return - * true when it's a resource that isn't handled, and you don't want to convert. - * - * Different conversions require differing behaviors, so users can determine how they want to handle conversion - * for different target [FhirPublication] versions by switching on the the passed in version. - * - * If implementing this advisor, by default, always return false unless you have a specific reason not to convert - * a [Bundle.BundleEntryComponent]. - * - * @param src [Bundle.BundleEntryComponent] to ignore - * @param targetVersion [FhirPublication] of the target version - * @return [Boolean] True, if we are going to ignore this [Bundle.BundleEntryComponent] in this conversion operation. - */ - @JvmDefault - fun ignoreEntry(src: Bundle.BundleEntryComponent, targetVersion: FhirPublication): Boolean { - return false - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor50.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor50.kt deleted file mode 100644 index 8741495ee..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/bundle/BundleAdvisor50.kt +++ /dev/null @@ -1,59 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces.bundle - -import org.hl7.fhir.exceptions.FHIRException -import org.hl7.fhir.r5.model.Expression -import org.hl7.fhir.r5.model.Extension -import org.hl7.fhir.r5.model.Bundle -import org.hl7.fhir.r5.model.CodeSystem -import org.hl7.fhir.r5.model.FhirPublication -import org.hl7.fhir.r5.model.ValueSet - -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -*/ -interface BundleAdvisor50 { - - /** - * When processing a bundle during conversion, we can choose whether to ignore an entry in the bundle. We return - * true when it's a resource that isn't handled, and you don't want to convert. - * - * Different conversions require differing behaviors, so users can determine how they want to handle conversion - * for different target [FhirPublication] versions by switching on the the passed in version. - * - * If implementing this advisor, by default, always return false unless you have a specific reason not to convert - * a [Bundle.BundleEntryComponent]. - * - * @param src [Bundle.BundleEntryComponent] to ignore - * @param targetVersion [FhirPublication] of the target version - * @return [Boolean] True, if we are going to ignore this [Bundle.BundleEntryComponent] in this conversion operation. - */ - @JvmDefault - fun ignoreEntry(src: Bundle.BundleEntryComponent?, targetVersion: FhirPublication): Boolean { - return false - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor30.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor30.kt deleted file mode 100644 index 31c9aa9ac..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor30.kt +++ /dev/null @@ -1,77 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces.codesystem - -import org.hl7.fhir.dstu3.model.CodeSystem -import org.hl7.fhir.dstu3.model.ValueSet -import org.hl7.fhir.exceptions.FHIRException -import java.util.ArrayList - -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -*/ /** - * This interface is passed into the version conversion routines when on of the - * converters is producing or converting R3 resources. - * - * The interface allows users of the code to - * 1. manage the life cycle of new resources created (or needed) during the conversion process - * 2. manage how unknown content etc is handled - * - * @author grahame - */ -interface CodeSystemAdvisor30 { - - /** - * In R2, code systems are internal to value sets, but in subsequent versions, they - * exist as separate resources. The convertor will create the code system, and then - * call this routine for the host to decide what to do with it - * - * It can make it a contained resource, or it can put it somewhere else - * - * @param tgtcs - * @param source - * @throws FHIRException - */ - @JvmDefault - @Throws(FHIRException::class) - fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) {} - - /** - * when converting from R3 to R2, and converting a value set, the convertor will need - * to find the code system a value set is referring to, so it can include it inline. - * - * This routine should find the actual resource - * - * @param src - * @return - * @throws FHIRException - */ - @JvmDefault - @Throws(FHIRException::class) - fun getCodeSystem(src: ValueSet): CodeSystem? { - return null - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor40.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor40.kt deleted file mode 100644 index 270884b10..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor40.kt +++ /dev/null @@ -1,77 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces.codesystem - -import org.hl7.fhir.exceptions.FHIRException -import org.hl7.fhir.r4.model.* -import org.hl7.fhir.r5.model.FhirPublication - -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -*/ /** - * This interface is passed into the version conversion routines when on of the - * converters is producing or converting R4 resources. - * - * The interface allows users of the code to - * 1. manage the life cycle of new resources created (or needed) during the conversion process - * 2. manage how unknown content etc is handled - * - * @author grahame - */ -interface CodeSystemAdvisor40 { - - /** - * In R2, code systems are internal to value sets, but in subsequent versions, they - * exist as separate resources. The convertor will create the code system, and then - * call this routine for the host to decide what to do with it - * - * It can make it a contained resource, or it can put it somewhere else - * - * @param tgtcs - * @param source - * @throws FHIRException - */ - @JvmDefault - @Throws(FHIRException::class) - fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) {} - - /** - * when converting from R4 to R2, and converting a value set, the convertor will need - * to find the code system a value set is referring to, so it can include it inline. - * - * This routine should find the actual resource - * - * @param src - * @return - * @throws FHIRException - */ - @JvmDefault - @Throws(FHIRException::class) - fun getCodeSystem(src: ValueSet?): CodeSystem? { - return null - } - -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor50.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor50.kt deleted file mode 100644 index f689778a3..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/codesystem/CodeSystemAdvisor50.kt +++ /dev/null @@ -1,71 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces.codesystem - -import org.hl7.fhir.exceptions.FHIRException -import org.hl7.fhir.r5.model.Expression -import org.hl7.fhir.r5.model.Extension -import org.hl7.fhir.r5.model.Bundle -import org.hl7.fhir.r5.model.CodeSystem -import org.hl7.fhir.r5.model.FhirPublication -import org.hl7.fhir.r5.model.ValueSet - -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -*/ -interface CodeSystemAdvisor50 { - - /** - * In R2, code systems are internal to value sets, but in subsequent versions, they - * exist as separate resources. The convertor will create the code system, and then - * call this routine for the host to decide what to do with it - * - * It can make it a contained resource, or it can put it somewhere else - * - * @param tgtcs - * @param source - * @throws FHIRException - */ - @JvmDefault - @Throws(FHIRException::class) - fun handleCodeSystem(tgtcs: CodeSystem, source: ValueSet) {} - - /** - * when converting from R5 to R2, and converting a value set, the convertor will need - * to find the code system a value set is referring to, so it can include it inline. - * - * This routine should find the actual resource - * - * @param src - * @return - * @throws FHIRException - */ - @JvmDefault - @Throws(FHIRException::class) - fun getCodeSystem(src: ValueSet): CodeSystem? { - return null - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor30.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor30.kt deleted file mode 100644 index ea1061bbf..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor30.kt +++ /dev/null @@ -1,73 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces.extension - -import org.hl7.fhir.exceptions.FHIRException -import org.hl7.fhir.instance.model.api.IBaseExtension -import org.hl7.fhir.dstu3.model.Extension -import org.hl7.fhir.dstu3.model.Type - -/** - * When converting an Extension from R4, value types support in the source version are not always supported - * in the target version. For example, if when converting a source R4 Extension to DSTU2, the [Expression] type in the - * source is not supported in the target version. - * - * The default behavior for such conversions of this type is to treat the operation as a 'lossy' conversion, - * ignoring all non-supported fields. However, if identified ahead of time, developers can utilize a convertor - * advisor to process these unsupported [Extension] as they see fit. - * - */ -interface ExtensionAdvisor30> { - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreExtension(path: String, ext: Extension): Boolean { - return ignoreExtension(path, ext.url) || ignoreType(path, ext.value) - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreExtension(path: String, ext: T): Boolean { - return ignoreExtension(path, ext.url) || ignoreType(path, ext.value) - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreExtension(path: String, url: String): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreType(path: String, type: Any): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreType(path: String, type: Type): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun useAdvisorForExtension(path: String, ext: Extension): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun useAdvisorForExtension(path: String, ext: T): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun handleExtension(path: String, src: Extension, tgt: T) { - // Override to add code to handle specific extensions - } - - @JvmDefault - @Throws(FHIRException::class) - fun handleExtension(path: String, src: T, tgt: Extension) { - // Override to add code to handle specific extensions - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor40.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor40.kt deleted file mode 100644 index e870f6a44..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor40.kt +++ /dev/null @@ -1,73 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces.extension - -import org.hl7.fhir.exceptions.FHIRException -import org.hl7.fhir.instance.model.api.IBaseExtension -import org.hl7.fhir.r4.model.Extension -import org.hl7.fhir.r4.model.Type - -/** - * When converting an Extension from R4, value types support in the source version are not always supported - * in the target version. For example, if when converting a source R4 Extension to DSTU2, the [Expression] type in the - * source is not supported in the target version. - * - * The default behavior for such conversions of this type is to treat the operation as a 'lossy' conversion, - * ignoring all non-supported fields. However, if identified ahead of time, developers can utilize a convertor - * advisor to process these unsupported [Extension] as they see fit. - * - */ -interface ExtensionAdvisor40> { - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreExtension(path: String, ext: Extension): Boolean { - return ext.url?.let { ignoreExtension(path, ext.url) } ?: false || ext.value?.let { ignoreType(path, ext.value) } ?: false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreExtension(path: String, ext: T): Boolean { - return ext.url?.let { ignoreExtension(path, ext.url) } ?: false || ext.value?.let { ignoreType(path, ext.value) } ?: false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreExtension(path: String, url: String): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreType(path: String, type: Any): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreType(path: String, type: Type): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun useAdvisorForExtension(path: String, ext: Extension): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun useAdvisorForExtension(path: String, ext: T): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun handleExtension(path: String, src: Extension, tgt: T) { - // Override to add code to handle specific extensions - } - - @JvmDefault - @Throws(FHIRException::class) - fun handleExtension(path: String, src: T, tgt: Extension) { - // Override to add code to handle specific extensions - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor50.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor50.kt deleted file mode 100644 index bc86fe986..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/advisors/interfaces/extension/ExtensionAdvisor50.kt +++ /dev/null @@ -1,73 +0,0 @@ -package org.hl7.fhir.convertors.advisors.interfaces.extension - -import org.hl7.fhir.exceptions.FHIRException -import org.hl7.fhir.instance.model.api.IBaseExtension -import org.hl7.fhir.r5.model.DataType -import org.hl7.fhir.r5.model.Extension - -/** - * When converting an Extension from R4, value types support in the source version are not always supported - * in the target version. For example, if when converting a source R4 Extension to DSTU2, the [Expression] type in the - * source is not supported in the target version. - * - * The default behavior for such conversions of this type is to treat the operation as a 'lossy' conversion, - * ignoring all non-supported fields. However, if identified ahead of time, developers can utilize a convertor - * advisor to process these unsupported [Extension] as they see fit. - * - */ -interface ExtensionAdvisor50> { - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreExtension(path: String, ext: Extension): Boolean { - return ext.url?.let { ignoreExtension(path, ext.url) } ?: false || ext.value?.let { ignoreType(path, ext.value) } ?: false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreExtension(path: String, ext: T): Boolean { - return ext.url?.let { ignoreExtension(path, ext.url) } ?: false || ext.value?.let { ignoreType(path, ext.value) } ?: false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreExtension(path: String, url: String): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreType(path: String, type: DataType): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun ignoreType(path: String, type: Any): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun useAdvisorForExtension(path: String, ext: Extension): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun useAdvisorForExtension(path: String, ext: T): Boolean { - return false - } - - @JvmDefault - @Throws(FHIRException::class) - fun handleExtension(path: String, src: Extension, tgt: T) { - // Override to add code to handle specific extensions - } - - @JvmDefault - @Throws(FHIRException::class) - fun handleExtension(path: String, src: T, tgt: Extension) { - // Override to add code to handle specific extensions - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/loaders/BaseLoader.kt b/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/loaders/BaseLoader.kt deleted file mode 100644 index 71f44846b..000000000 --- a/org.hl7.fhir.convertors/src/main/kotlin/org/hl7/fhir/convertors/loaders/BaseLoader.kt +++ /dev/null @@ -1,4 +0,0 @@ -package org.hl7.fhir.convertors.loaders - -class BaseLoader { -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor40.java b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor40.java new file mode 100644 index 000000000..981ddbad8 --- /dev/null +++ b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor40.java @@ -0,0 +1,35 @@ +package org.hl7.fhir.convertors.advisors.support; + +import kotlin.jvm.internal.Intrinsics; +import org.hl7.fhir.convertors.VersionConvertor_10_40; +import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; +import org.hl7.fhir.dstu2.model.StringType; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.IBaseExtension; +import org.hl7.fhir.r4.model.Expression; +import org.hl7.fhir.r4.model.Extension; +import org.hl7.fhir.r4.model.Type; +import org.jetbrains.annotations.NotNull; + +public final class ExpressionAdvisor40 extends BaseAdvisor_10_40 { + public boolean useAdvisorForExtension(@NotNull String path, @NotNull Extension ext) throws FHIRException { + return ext.hasValue() && ext.getValue() instanceof Expression; + } + + public void handleExtension(@NotNull String path, @NotNull Extension src, @NotNull org.hl7.fhir.dstu2.model.Extension tgt) throws FHIRException { + if (src.getValue() instanceof Expression) { + StringType type = new StringType(); + if (src.getValue() == null) { + throw new NullPointerException("null cannot be cast to non-null type org.hl7.fhir.r4.model.Expression"); + } else { + type.setValueAsString(((Expression)src.getValue()).getExpression()); + tgt.setValue((org.hl7.fhir.dstu2.model.Type)type); + if (src.hasUrlElement()) { + tgt.setUrlElement(VersionConvertor_10_40.convertUri(src.getUrlElement())); + } + } + } else { + throw new FHIRException("Unknown extension type passed in to custom convertor method."); + } + } +} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor40.kt b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor40.kt deleted file mode 100644 index cf8498e4f..000000000 --- a/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor40.kt +++ /dev/null @@ -1,29 +0,0 @@ -package org.hl7.fhir.convertors.advisors.support - -import org.hl7.fhir.convertors.VersionConvertor_10_40 -import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40 -import org.hl7.fhir.dstu2.model.StringType -import org.hl7.fhir.exceptions.FHIRException -import org.hl7.fhir.r4.model.Expression -import org.hl7.fhir.r4.model.Extension - -class ExpressionAdvisor40 : BaseAdvisor_10_40() { - - @Throws(FHIRException::class) - override fun useAdvisorForExtension(path: String, ext: Extension): Boolean { - return ext.hasValue() && ext.value is Expression - } - - @Throws(FHIRException::class) - override fun handleExtension(path:String, src: Extension, tgt: org.hl7.fhir.dstu2.model.Extension) { - when { - (src.value is Expression) -> { - val type = StringType() - type.valueAsString = (src.value as Expression).expression - tgt.setValue(type) - if (src.hasUrlElement()) tgt.urlElement = VersionConvertor_10_40.convertUri(src.urlElement) - } - else -> throw FHIRException("Unknown extension type passed in to custom convertor method.") - } - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor50.java b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor50.java new file mode 100644 index 000000000..12d0fbc68 --- /dev/null +++ b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor50.java @@ -0,0 +1,39 @@ +package org.hl7.fhir.convertors.advisors.support; + +import kotlin.jvm.internal.Intrinsics; +import org.hl7.fhir.convertors.VersionConvertor_10_40; +import org.hl7.fhir.convertors.VersionConvertor_10_50; +import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; +import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50; +import org.hl7.fhir.dstu2.model.Extension; +import org.hl7.fhir.dstu2.model.StringType; +import org.hl7.fhir.dstu2.model.Type; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.IBaseExtension; +import org.hl7.fhir.r5.model.DataType; +import org.hl7.fhir.r5.model.Expression; +import org.jetbrains.annotations.NotNull; + +public class ExpressionAdvisor50 extends BaseAdvisor_10_50 { + + public boolean useAdvisorForExtension(@NotNull String path, @NotNull org.hl7.fhir.r5.model.Extension ext) { + return ext.hasValue() && ext.getValue() instanceof org.hl7.fhir.r5.model.Expression; + } + + public void handleExtension(@NotNull String path, @NotNull org.hl7.fhir.r5.model.Extension src, @NotNull org.hl7.fhir.dstu2.model.Extension tgt) { + if (src.getValue() instanceof org.hl7.fhir.r5.model.Expression) { + StringType type = new StringType(); + if (src.getValue() == null) { + throw new NullPointerException("null cannot be cast to non-null type org.hl7.fhir.r5.model.Expression"); + } else { + type.setValueAsString(((Expression) src.getValue()).getExpression()); + tgt.setValue((Type)type); + if (src.hasUrlElement()) { + tgt.setUrlElement(VersionConvertor_10_50.convertUri(src.getUrlElement())); + } + } + } else { + throw new FHIRException("Unknown extension type passed in to custom convertor method."); + } + } +} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor50.kt b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor50.kt deleted file mode 100644 index 86f8a9054..000000000 --- a/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/advisors/support/ExpressionAdvisor50.kt +++ /dev/null @@ -1,31 +0,0 @@ -package org.hl7.fhir.convertors.advisors.support - -import org.hl7.fhir.convertors.VersionConvertor_10_50 -import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50 -import org.hl7.fhir.dstu2.model.StringType -import org.hl7.fhir.exceptions.FHIRException -import org.hl7.fhir.r5.model.Expression -import org.hl7.fhir.r5.model.Extension - -open class ExpressionAdvisor50 : BaseAdvisor_10_50() { - - override fun useAdvisorForExtension(path: String, ext: org.hl7.fhir.dstu2.model.Extension): Boolean { - return super.useAdvisorForExtension(path, ext) - } - - override fun useAdvisorForExtension(path: String, ext: Extension): Boolean { - return ext.hasValue() && ext.value is Expression - } - - override fun handleExtension(path: String, src: Extension, tgt: org.hl7.fhir.dstu2.model.Extension) { - when { - (src.value is Expression) -> { - val type = StringType() - type.valueAsString = (src.value as Expression).expression - tgt.setValue(type) - if (src.hasUrlElement()) tgt.urlElement = VersionConvertor_10_50.convertUri(src.urlElement) - } - else -> throw FHIRException("Unknown extension type passed in to custom convertor method.") - } - } -} \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/conv30_50/StructureDefinition30_50Test.java b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/conv30_50/StructureDefinition30_50Test.java index 51f5873c0..4d56c465e 100644 --- a/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/conv30_50/StructureDefinition30_50Test.java +++ b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/conv30_50/StructureDefinition30_50Test.java @@ -17,7 +17,7 @@ public class StructureDefinition30_50Test { InputStream dstu3_expected_output = this.getClass().getResourceAsStream("/0_structuredefinition_30.json"); org.hl7.fhir.r5.model.StructureDefinition r5_actual = (org.hl7.fhir.r5.model.StructureDefinition) new org.hl7.fhir.r5.formats.JsonParser().parse(r5_input); - org.hl7.fhir.dstu3.model.Resource dstu3_conv = VersionConvertor_30_50.convertResource(r5_actual, true); + org.hl7.fhir.dstu3.model.Resource dstu3_conv = VersionConvertor_30_50.convertResource(r5_actual); org.hl7.fhir.dstu3.formats.JsonParser dstu3_parser = new org.hl7.fhir.dstu3.formats.JsonParser(); org.hl7.fhir.dstu3.model.Resource dstu3_expected = dstu3_parser.parse(dstu3_expected_output); diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/NativeHostServices.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/NativeHostServices.java index a5d7530f0..001e07bc7 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/NativeHostServices.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/NativeHostServices.java @@ -76,6 +76,7 @@ import org.hl7.fhir.utilities.VersionUtilities; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; +import org.jetbrains.annotations.NotNull; /** * This class allows you to host the java validator in another service, and use the services it has in a wider context. The way it works is @@ -103,10 +104,10 @@ public class NativeHostServices { private class NH_10_50_Advisor extends BaseAdvisor_10_50 { @Override - public void handleCodeSystem(CodeSystem tgtcs, ValueSet source) throws FHIRException {} + public void handleCodeSystem(@NotNull CodeSystem tgtcs, @NotNull ValueSet source) throws FHIRException {} @Override - public CodeSystem getCodeSystem(ValueSet src) throws FHIRException { + public CodeSystem getCodeSystem(@NotNull ValueSet src) throws FHIRException { throw new FHIRException("Code systems cannot be handled at this time"); // what to do? need thread local storage? } } diff --git a/pom.xml b/pom.xml index 3389a0356..92fac9a82 100644 --- a/pom.xml +++ b/pom.xml @@ -19,13 +19,12 @@ 5.1.0 - 1.1.64-SNAPSHOT + 1.1.63 5.7.1 1.7.1 3.0.0-M4 0.8.5 1.5.1 - 1.5.0 HL7 Core Artifacts @@ -82,17 +81,6 @@ 1.2.3 test - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - ${kotlin.version} - - - org.jetbrains.kotlin - kotlin-test - ${kotlin.version} - test - @@ -168,41 +156,6 @@ true - - org.jetbrains.kotlin - kotlin-maven-plugin - 1.5.0 - - - compile - - compile - - - - -Xjvm-default=all - - - ${project.basedir}/src/main/kotlin - ${project.basedir}/src/main/java - - - - - test-compile - test-compile - - - -Xjvm-default=all - - - ${project.basedir}/src/test/kotlin - ${project.basedir}/src/test/java - - - - - org.apache.maven.plugins maven-compiler-plugin @@ -411,30 +364,6 @@ org.apache.maven.plugins maven-deploy-plugin - - org.jetbrains.kotlin - kotlin-maven-plugin - ${kotlin.version} - - - compile - compile - - compile - - - - test-compile - test-compile - - test-compile - - - - - 1.8 - -