Skip to content

Commit 4bfb8bf

Browse files
Merge pull request #987 from HL7/custom-resource
Custom resource
2 parents 3471359 + b89e5b1 commit 4bfb8bf

20 files changed

+509
-274
lines changed

org.hl7.fhir.publisher.core/src/main/java/org/hl7/fhir/igtools/publisher/CodeSystemValidator.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWIS
4040
import org.hl7.fhir.r5.model.CodeSystem;
4141
import org.hl7.fhir.r5.model.CodeSystem.ConceptDefinitionComponent;
4242
import org.hl7.fhir.r5.utils.XVerExtensionManager;
43+
import org.hl7.fhir.r5.utils.validation.ValidatorSession;
4344
import org.hl7.fhir.utilities.validation.ValidationMessage;
4445
import org.hl7.fhir.utilities.validation.ValidationMessage.IssueType;
4546
import org.hl7.fhir.validation.BaseValidator;
@@ -52,8 +53,8 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWIS
5253
*/
5354
public class CodeSystemValidator extends BaseValidator {
5455

55-
public CodeSystemValidator(IWorkerContext context, XVerExtensionManager xverManager) {
56-
super(context, xverManager, false);
56+
public CodeSystemValidator(IWorkerContext context, XVerExtensionManager xverManager, ValidatorSession session) {
57+
super(context, xverManager, false, session);
5758
}
5859

5960
public List<ValidationMessage> validate(CodeSystem cs, boolean forBuild) {

org.hl7.fhir.publisher.core/src/main/java/org/hl7/fhir/igtools/publisher/FetchedResource.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import org.hl7.fhir.r5.elementmodel.Element;
2929
import org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent;
30+
import org.hl7.fhir.r5.utils.UserDataNames;
3031
import org.hl7.fhir.r5.model.Resource;
3132
import org.hl7.fhir.utilities.json.model.JsonObject;
3233
import org.hl7.fhir.utilities.validation.ValidationMessage;
@@ -60,6 +61,7 @@ public class FetchedResource {
6061
private boolean hasTranslations;
6162
private String resourceName;
6263
private String resourceDescription;
64+
private boolean regenAfterValidation;
6365

6466
public FetchedResource(String nameForErrors) {
6567
super();
@@ -352,5 +354,22 @@ public String getBestName() {
352354
return resourceDescription;
353355
}
354356
}
357+
358+
public boolean isRegenAfterValidation() {
359+
return regenAfterValidation;
360+
}
361+
362+
public void setRegenAfterValidation(boolean regenAfterValidation) {
363+
this.regenAfterValidation = regenAfterValidation;
364+
}
365+
366+
public boolean isCustomResource() {
367+
if (getResource() != null) {
368+
return getResource().hasUserData(UserDataNames.loader_custom_resource);
369+
} else {
370+
return getElement().getProperty().getStructure().hasUserData(UserDataNames.loader_custom_resource);
371+
}
372+
}
373+
355374

356375
}

org.hl7.fhir.publisher.core/src/main/java/org/hl7/fhir/igtools/publisher/IGKnowledgeProvider.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
4848
import org.hl7.fhir.r5.model.StructureDefinition.TypeDerivationRule;
4949
import org.hl7.fhir.r5.model.ValueSet;
50+
import org.hl7.fhir.r5.utils.UserDataNames;
5051
import org.hl7.fhir.r5.utils.XVerExtensionManager;
5152
import org.hl7.fhir.utilities.LoincLinker;
5253
import org.hl7.fhir.utilities.Utilities;
@@ -426,7 +427,7 @@ else if ((bc.getUrl().startsWith(canonical) || (altCanonical != null && bc.getUr
426427
if (r.getConfig() == null)
427428
findConfiguration(f, r);
428429
JsonObject e = r.getConfig();
429-
bc.setUserData("config", e);
430+
bc.setUserData(UserDataNames.pub_resource_config, e);
430431
String base = getProperty(r, "base");
431432
if (base != null)
432433
bc.setWebPath(doReplacements(base, r, null, null));
@@ -449,7 +450,7 @@ public void checkForPath(FetchedFile f, FetchedResource r, Element res) throws F
449450
if (r.getConfig() == null)
450451
findConfiguration(f, r);
451452
JsonObject e = r.getConfig();
452-
res.setUserData("config", e);
453+
res.setUserData(UserDataNames.pub_resource_config, e);
453454
String base = getProperty(r, "base");
454455
if (base != null)
455456
res.setWebPath(doReplacements(base, r, null, null));
@@ -586,7 +587,7 @@ else if (ref.equals("http://www.iso.org/iso/country_codes.htm"))
586587
br.url = vs.getWebPath();
587588
br.display = vs.getName();
588589
br.uri = vs.getVersionedUrl();
589-
br.external = vs.hasUserData("External.Link");
590+
br.external = vs.hasUserData(UserDataNames.render_external_link);
590591
}
591592
} else {
592593
if (ref.startsWith("http://hl7.org/fhir/ValueSet/")) {
@@ -595,7 +596,7 @@ else if (ref.equals("http://www.iso.org/iso/country_codes.htm"))
595596
br.url = vs.getWebPath();
596597
br.display = vs.getName();
597598
br.uri = vs.getUrl();
598-
br.external = vs.hasUserData("External.Link");
599+
br.external = vs.hasUserData(UserDataNames.render_external_link);
599600
} else {
600601
String nvref = ref;
601602
if (nvref.contains("|")) {
@@ -641,7 +642,7 @@ else if (ref.equals("http://www.iso.org/iso/country_codes.htm"))
641642
br.display = vs.getName();
642643
}
643644
br.uri = vs.getUrl();
644-
br.external = vs.hasUserData("External.Link");
645+
br.external = vs.hasUserData(UserDataNames.render_external_link);
645646
} else if (ref.startsWith("http://cts.nlm.nih.gov/fhir/ValueSet/")) {
646647
String oid = ref.substring("http://cts.nlm.nih.gov/fhir/ValueSet/".length());
647648
br.url = "https://vsac.nlm.nih.gov/valueset/"+oid+"/expansion";

0 commit comments

Comments
 (0)