Skip to content

Commit

Permalink
Merge pull request #1033 from HL7/2025-02-gg-compiles-fixes
Browse files Browse the repository at this point in the history
2025 02 gg compiles fixes
  • Loading branch information
grahamegrieve authored Feb 4, 2025
2 parents 41133a0 + 77a1436 commit 7cb965b
Show file tree
Hide file tree
Showing 65 changed files with 1,009 additions and 814 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
import org.hl7.fhir.r5.model.ValueSet;
import org.hl7.fhir.r5.model.ValueSet.ConceptSetComponent;
import org.hl7.fhir.r5.utils.ToolingExtensions;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.FileUtilities;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.xml.XMLUtil;
import org.openehr.referencemodels.BuiltinReferenceModels;
Expand Down Expand Up @@ -115,7 +115,7 @@ public ArchetypeImporter(IWorkerContext context, String canonicalBase) throws Pa
byte[] tf = context.getBinaryForKey("openehr_terminology.xml");
if (tf == null) {
// hack temp workaround
tf = TextFile.fileToBytes("/Users/grahamegrieve/Downloads/openehr_terminology.xml");
tf = FileUtilities.fileToBytes("/Users/grahamegrieve/Downloads/openehr_terminology.xml");
}
terminology = XMLUtil.parseToDom(tf).getDocumentElement();
}
Expand All @@ -126,7 +126,7 @@ public void checkArchetype(byte[] content, String name) throws ParserConfigurati
}

public void checkArchetype(InputStream stream, String name) throws ParserConfigurationException, SAXException, IOException, ADLParseException {
byte[] cnt = TextFile.streamToBytes(stream);
byte[] cnt = FileUtilities.streamToBytes(stream);
try {
archetype = load20(new ByteArrayInputStream(cnt));
} catch (Exception e20) {
Expand All @@ -149,7 +149,7 @@ public ProcessedArchetype importArchetype(byte[] content, String name) throws Pa
public ProcessedArchetype importArchetype(InputStream stream, String name) throws ParserConfigurationException, SAXException, IOException, ADLParseException {
atMap.clear();

byte[] cnt = TextFile.streamToBytes(stream);
byte[] cnt = FileUtilities.streamToBytes(stream);
try {
archetype = load20(new ByteArrayInputStream(cnt));
} catch (Exception e20) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.hl7.fhir.r5.formats.IParser.OutputStyle;
import org.hl7.fhir.r5.formats.JsonParser;
import org.hl7.fhir.r5.model.Bundle;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.FileUtilities;
import org.xml.sax.SAXException;

import com.nedap.archie.adlparser.ADLParseException;
Expand All @@ -26,7 +26,7 @@ public void test() throws FileNotFoundException, ADLParseException, IOException,
ProcessedArchetype pa = ai.importArchetype(new FileInputStream("/Users/grahamegrieve/Downloads/openEHR-EHR-OBSERVATION.blood_pressure.v2.adl"), "openEHR-EHR-OBSERVATION.blood_pressure.v2.adl");
System.out.println();
String json = new JsonParser().setOutputStyle(OutputStyle.PRETTY).composeString(pa.getBnd());
TextFile.stringToFile(json, "/Users/grahamegrieve/temp/igs/FHIR-sample-ig#master/input/resources/Bundle-openEHR-EHR-OBSERVATION.blood-pressure.v2.json");
FileUtilities.stringToFile(json, "/Users/grahamegrieve/temp/igs/FHIR-sample-ig#master/input/resources/Bundle-openEHR-EHR-OBSERVATION.blood-pressure.v2.json");
System.out.println("Done");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import org.hl7.fhir.r5.utils.IGHelper;
import org.hl7.fhir.r5.utils.ToolingExtensions;
import org.hl7.fhir.utilities.FhirPublication;
import org.hl7.fhir.utilities.FileUtilities;
import org.hl7.fhir.utilities.IniFile;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.json.model.JsonArray;
Expand Down Expand Up @@ -77,14 +78,14 @@ public class ConfigFileConverter {
public void convert(String configFile, IWorkerContext context, FilesystemPackageCacheManager pcm) throws Exception {
JsonObject configuration = org.hl7.fhir.utilities.json.parser.JsonParser.parseObjectFromFile(configFile);
if (configuration.has("redirect")) { // redirect to support auto-build for complex projects with IG folder in subdirectory
String redirectFile = Utilities.path(Utilities.getDirectoryForFile(configFile), configuration.asString("redirect"));
String redirectFile = Utilities.path(FileUtilities.getDirectoryForFile(configFile), configuration.asString("redirect"));
configFile = redirectFile;
configuration = org.hl7.fhir.utilities.json.parser.JsonParser.parseObjectFromFile(redirectFile);
}
String version = ostr(configuration, "version");
if (Utilities.noString(version))
version = Constants.VERSION;
String rootDir = Utilities.getDirectoryForFile(configFile);
String rootDir = FileUtilities.getDirectoryForFile(configFile);
if (Utilities.noString(rootDir))
rootDir = getCurentDirectory();
// We need the root to be expressed as a full path. getDirectoryForFile will do that in general, but not in Eclipse
Expand Down Expand Up @@ -147,7 +148,7 @@ public void convert(String configFile, IWorkerContext context, FilesystemPackage
String sct = str(configuration, "sct-edition", "http://snomed.info/sct/900000000000207008");
p.addParameter("system-version", "http://snomed.info/sct|" + sct);
p.addParameter("activeOnly", "true".equals(ostr(configuration, "no-inactive-codes")));
new JsonParser().compose(new FileOutputStream(Utilities.path(Utilities.getDirectoryForFile(igName), "ig-expansion-parameters.json")), ig);
new JsonParser().compose(new FileOutputStream(Utilities.path(FileUtilities.getDirectoryForFile(igName), "ig-expansion-parameters.json")), ig);
p = new Parameters();
p.addParameter("broken-links", "true".equals(ostr(configuration, "broken-links")));
p.addParameter("check-aggregation", "true".equals(ostr(configuration, "check-aggregation")));
Expand All @@ -163,7 +164,7 @@ public void convert(String configFile, IWorkerContext context, FilesystemPackage
for (JsonElement e : (JsonArray) paths.get("special-urls"))
p.addParameter("special-url", e.asJsonPrimitive().asString());
}
new JsonParser().compose(new FileOutputStream(Utilities.path(Utilities.getDirectoryForFile(igName), "ig-validation-parameters.json")), ig);
new JsonParser().compose(new FileOutputStream(Utilities.path(FileUtilities.getDirectoryForFile(igName), "ig-validation-parameters.json")), ig);
if (paths.get("spreadsheets") instanceof JsonArray) {
for (JsonElement e : (JsonArray) paths.get("spreadsheets"))
ig.addExtension(ToolingExtensions.EXT_IGP_SPREADSHEET, new StringType(e.asJsonPrimitive().asString()));
Expand Down Expand Up @@ -238,9 +239,9 @@ public void convert(String configFile, IWorkerContext context, FilesystemPackage
}
}

String newfile = Utilities.path(Utilities.getDirectoryForFile(igName), "ig-new.json");
String newfile = Utilities.path(FileUtilities.getDirectoryForFile(igName), "ig-new.json");
new JsonParser().setOutputStyle(OutputStyle.PRETTY).compose(new FileOutputStream(newfile), ig);
newfile = Utilities.path(Utilities.getDirectoryForFile(igName), "ig-new.xml");
newfile = Utilities.path(FileUtilities.getDirectoryForFile(igName), "ig-new.xml");
new XmlParser().setOutputStyle(OutputStyle.PRETTY).compose(new FileOutputStream(newfile), ig);
IniFile ini = new IniFile(Utilities.path(rootDir, "ig.ini"));
ini.setStringProperty("IG", "ig", newfile.substring(rootDir.length() + 1), null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import org.hl7.fhir.exceptions.FHIRFormatError;
import org.hl7.fhir.r4.model.CanonicalType;
import org.hl7.fhir.r4.model.ValueSet.ConceptSetComponent;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.FileUtilities;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.VersionUtilities;
import org.hl7.fhir.utilities.json.model.JsonObject;
Expand Down Expand Up @@ -535,7 +535,7 @@ public void finish(String path, String title) throws IOException {
t.add("details2", details2);
t.add("errors", String.join("\r\n", errors));

TextFile.stringToFile(t.render(), Utilities.path(path, "qa-dep.html"));
FileUtilities.stringToFile(t.render(), Utilities.path(path, "qa-dep.html"));
}

public void addCodeSystem(String url, String title, String link) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.hl7.fhir.r5.model.ImplementationGuide;
import org.hl7.fhir.r5.model.StructureDefinition;
import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.FileUtilities;
import org.hl7.fhir.utilities.Utilities;

import com.google.gson.Gson;
Expand Down Expand Up @@ -208,7 +208,7 @@ public byte[] generate() throws IOException {
}
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(data);
return TextFile.stringToBytes(json);
return FileUtilities.stringToBytes(json);
}

public boolean isoptIn() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public enum FetchedBundleType {
private String statedPath;
private String logical;
private List<ProcessingReport> processes = new ArrayList<>();
private boolean loaded;

public FetchedFile(String statedPath) {
super();
Expand Down Expand Up @@ -288,5 +289,11 @@ public void appendReport(StringBuilder b) {
public long getSize() {
return size;
}
public boolean isLoaded() {
return loaded;
}
public void setLoaded(boolean loaded) {
this.loaded = loaded;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
import org.hl7.fhir.r5.model.CanonicalResource;
import org.hl7.fhir.utilities.CommaSeparatedStringBuilder;
import org.hl7.fhir.utilities.PathBuilder;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.FileUtilities;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
import org.hl7.fhir.utilities.npm.NpmPackage;
Expand Down Expand Up @@ -313,11 +313,11 @@ public List<ValidationMessage> check(String statusText) throws IOException {
first = false;
}
}
checkFragmentIds(TextFile.fileToString(lf.filename));
checkFragmentIds(FileUtilities.fileToString(lf.filename));

if (lf.isHasXhtml()) {
if (fragmentUses != null) {
checkFragmentMarkers(TextFile.fileToString(lf.getFilename()));
checkFragmentMarkers(FileUtilities.fileToString(lf.getFilename()));
}
XhtmlNode x = new XhtmlParser().setMustBeWellFormed(strict).parse(new FileInputStream(lf.filename), null);
referencesValidatorPack = false;
Expand Down Expand Up @@ -518,11 +518,11 @@ private void loadFile(String s, String base, List<ValidationMessage> messages) {
if (x != null) {
String src;
try {
src = TextFile.fileToString(f);
src = FileUtilities.fileToString(f);
hl7State = src.contains(RELEASE_HTML_MARKER);
if (hl7State) {
src = src.replace(RELEASE_HTML_MARKER, START_HTML_MARKER + statusText+END_HTML_MARKER);
TextFile.stringToFile(src, f);
FileUtilities.stringToFile(src, f);
}
x = new XhtmlParser().setMustBeWellFormed(strict).parse(new FileInputStream(f), null);
} catch (Exception e1) {
Expand Down Expand Up @@ -746,7 +746,7 @@ private boolean checkResolveLink(String filename, Location loc, String path, Str
links++;
String rref = Utilities.URLDecode(ref);
if ((rref.startsWith("http:") || rref.startsWith("https:") ) && (rref.endsWith(".sch") || rref.endsWith(".xsd") || rref.endsWith(".shex"))) { // work around for the fact that spec.internals does not track all these minor things
rref = Utilities.changeFileExt(ref, ".html");
rref = FileUtilities.changeFileExt(ref, ".html");
}
if (rref.contains("validator.pack")) {
referencesValidatorPack = true;
Expand Down Expand Up @@ -824,7 +824,7 @@ private boolean checkTarget(String filename, String ref, String rref, StringBuil
resolved = true;
}
} else if (!resolved && !Utilities.isAbsoluteUrl(ref) && !rref.startsWith("#") && filename != null) {
String fref = buildRef(Utilities.getDirectoryForFile(filename), ref);
String fref = buildRef(FileUtilities.getDirectoryForFile(filename), ref);
if (fref.equals(Utilities.path(rootFolder, "qa.html"))) {
resolved = true;
}
Expand Down Expand Up @@ -908,7 +908,7 @@ private boolean checkTarget(String filename, String ref, String rref, StringBuil
}
} else {
try {
String folder = Utilities.getDirectoryForFile(filename);
String folder = FileUtilities.getDirectoryForFile(filename);
String f = folder == null ? (altRootFolder != null && filename.startsWith(altRootFolder) ? altRootFolder : rootFolder) : folder;
page = PathBuilder.getPathBuilder().withRequiredTarget(rootFolder).buildPath(f, page.replace("/", File.separator));
} catch (java.nio.file.InvalidPathException e) {
Expand Down Expand Up @@ -1019,7 +1019,7 @@ private boolean checkImgSourceExists(String filename, String ref) throws IOExcep
}
}
} else if (!ref.contains("#")) {
String page = Utilities.path(filename == null ? rootFolder : Utilities.getDirectoryForFile(filename), ref.replace("/", File.separator));
String page = Utilities.path(filename == null ? rootFolder : FileUtilities.getDirectoryForFile(filename), ref.replace("/", File.separator));
LoadedFile f = cache.get(page);
resolved = f != null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
import org.hl7.fhir.r5.model.Reference;
import org.hl7.fhir.r5.utils.NPMPackageGenerator;
import org.hl7.fhir.r5.utils.NPMPackageGenerator.Category;
import org.hl7.fhir.utilities.FileUtilities;
import org.hl7.fhir.utilities.IniFile;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
Expand Down Expand Up @@ -213,7 +214,7 @@ private void processValidatorPack(File f) throws IOException {

if (files.containsKey("spec.internals"))
loadSpecInternals(ig, files.get("spec.internals"), "??", version, canonical, files);
String destFile = dest != null ? dest : Utilities.path(Utilities.getDirectoryForFile(f.getAbsolutePath()), "package.tgz");
String destFile = dest != null ? dest : Utilities.path(FileUtilities.getDirectoryForFile(f.getAbsolutePath()), "package.tgz");
String url = Utilities.noString(website) ? canonical : website;
NPMPackageGenerator npm = new NPMPackageGenerator(destFile, canonical, url, PackageType.IG, ig, new Date(), false);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import org.hl7.fhir.r5.model.DomainResource;
import org.hl7.fhir.r5.renderers.utils.RenderingContext;
import org.hl7.fhir.r5.renderers.utils.RenderingContext.ILiquidTemplateProvider;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.FileUtilities;

public class IGPublisherLiquidTemplateServices implements ILiquidTemplateProvider {

Expand All @@ -48,10 +48,10 @@ public void load(String path) throws FileNotFoundException, IOException {
if (f.getName().endsWith(".liquid")) {
String fn = f.getName();
fn = fn.substring(0, fn.indexOf("."));
templates.put(fn.toLowerCase(), TextFile.fileToString(f));
templates.put(fn.toLowerCase(), FileUtilities.fileToString(f));
} else if (f.getName().endsWith(".html")) {
String fn = f.getName();
templates.put(fn, TextFile.fileToString(f));
templates.put(fn, FileUtilities.fileToString(f));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration;
import org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent;
import org.hl7.fhir.r5.model.UrlType;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.FileUtilities;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.json.JsonException;
import org.hl7.fhir.utilities.json.model.JsonObject;
Expand Down Expand Up @@ -162,15 +162,15 @@ public static List<String> sorted(Collection<String> set) {
}

private void execute(String item, String repoSource, ImplementationGuide ig) throws FileNotFoundException, IOException {
String source = TextFile.fileToString(Utilities.path(repoSource, sourceFile()));
String source = FileUtilities.fileToString(Utilities.path(repoSource, sourceFile()));
for (String n : variables()) {
String v = variableValue(n, item);
doDebug(" "+n+" --> "+v);
source = source.replace(n, v);
}
String fn = generatedFileName(item);
doDebug(" save to "+fn);
TextFile.stringToFile(source, Utilities.path(dir, "_includes", fn));
FileUtilities.stringToFile(source, Utilities.path(dir, "_includes", fn));
ImplementationGuideDefinitionPageComponent page = getParentPage(ig.getDefinition().getPage());
ImplementationGuideDefinitionPageComponent subPage = page.addPage();
subPage.setSource(new UrlType(statedFileName(item)));
Expand Down Expand Up @@ -208,8 +208,8 @@ private String statedFileName(String item) {
private void checks(String repoSource, ImplementationGuide ig) throws IOException {
checkFileExists("source-file", Utilities.path(repoSource, sourceFile()));
checkFileExists("page folder", dir);
Utilities.clearDirectory(dir);
Utilities.createDirectory(Utilities.path(dir, "_includes"));
FileUtilities.clearDirectory(dir);
FileUtilities.createDirectory(Utilities.path(dir, "_includes"));
}

private void checkFileExists(String purpose, String path) {
Expand Down
Loading

0 comments on commit 7cb965b

Please sign in to comment.