rework package cache manager - add testing mode
This commit is contained in:
parent
981d233827
commit
0bbff8d14d
|
@ -387,7 +387,7 @@ public class ExtensionDefinitionGenerator {
|
|||
|
||||
private List<StructureDefinition> loadSource() throws IOException, FHIRException {
|
||||
List<StructureDefinition> list = new ArrayList<>();
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
NpmPackage npm = pcm.loadPackage("hl7.fhir.core", sourceVersion.toCode());
|
||||
if (sourceVersion == FHIRVersion._4_0_0)
|
||||
context = SimpleWorkerContext.fromPackage(npm);
|
||||
|
|
|
@ -109,7 +109,7 @@ public class PackageVisitor {
|
|||
public void visitPackages() throws IOException, ParserConfigurationException, SAXException {
|
||||
System.out.println("Finding packages");
|
||||
pc = new PackageClient(PackageServer.primaryServer());
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
|
||||
Map<String, String> cpidMap = getAllCIPackages();
|
||||
Set<String> cpidSet = new HashSet<>();
|
||||
|
|
|
@ -16,7 +16,7 @@ public class OIDBasedValueSetImporter {
|
|||
protected IWorkerContext context;
|
||||
|
||||
protected void init() throws FHIRException, IOException {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
NpmPackage npm = pcm.loadPackage("hl7.fhir.r5.core", "current");
|
||||
SimpleWorkerContext context = new SimpleWorkerContext.SimpleWorkerContextBuilder().withAllowLoadingDuplicates(true).fromPackage(npm);
|
||||
context.loadFromPackage(pcm.loadPackage("hl7.terminology"), null);
|
||||
|
|
|
@ -90,7 +90,7 @@ public class UTGVersionSorter {
|
|||
private Map<String, CanonicalResource> loadPackageR2(String id) throws IOException {
|
||||
Map<String, CanonicalResource> res = new HashMap<>();
|
||||
if (pcm == null) {
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
}
|
||||
System.out.println("Load " + id);
|
||||
NpmPackage npm = pcm.loadPackage(id);
|
||||
|
@ -104,7 +104,7 @@ public class UTGVersionSorter {
|
|||
private Map<String, CanonicalResource> loadPackageR3(String id) throws IOException {
|
||||
Map<String, CanonicalResource> res = new HashMap<>();
|
||||
if (pcm == null) {
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
}
|
||||
System.out.println("Load " + id);
|
||||
NpmPackage npm = pcm.loadPackage(id);
|
||||
|
@ -118,7 +118,7 @@ public class UTGVersionSorter {
|
|||
private Map<String, CanonicalResource> loadPackageR4(String id) throws IOException {
|
||||
Map<String, CanonicalResource> res = new HashMap<>();
|
||||
if (pcm == null) {
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
}
|
||||
System.out.println("Load " + id);
|
||||
NpmPackage npm = pcm.loadPackage(id);
|
||||
|
|
|
@ -26,7 +26,7 @@ class Convertor_Factory_40_50Test {
|
|||
|
||||
@BeforeAll
|
||||
static public void setUp() throws Exception {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
context = TestingUtilities.getWorkerContext(pcm.loadPackage("hl7.fhir.r4.core", "4.0.1"));
|
||||
}
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ public class JavaCoreGenerator {
|
|||
Date ddate = new Date();
|
||||
String date = config.DATE_FORMAT().format(ddate);
|
||||
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
System.out.println("Cache: "+pcm.getFolder());
|
||||
System.out.println("Load hl7.fhir."+pid+".core");
|
||||
NpmPackage npm = pcm.loadPackage("hl7.fhir."+pid+".core", version);
|
||||
|
|
|
@ -81,7 +81,7 @@ public class TestingUtilities {
|
|||
if (fcontext == null) {
|
||||
FilesystemPackageCacheManager pcm;
|
||||
try {
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
fcontext = SimpleWorkerContext.fromPackage(pcm.loadPackage("hl7.fhir.r4.core", "4.0.1"));
|
||||
fcontext.setUcumService(new UcumEssenceService(TestingUtilities.resourceNameToFile("ucum", "ucum-essence.xml")));
|
||||
fcontext.setExpansionProfile(new Parameters());
|
||||
|
|
|
@ -30,7 +30,7 @@ public class CDARoundTripTests {
|
|||
@BeforeAll
|
||||
public void setUp() throws Exception {
|
||||
context = new SimpleWorkerContext();
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
context.loadFromPackage(pcm.loadPackage("hl7.fhir.core", "current"), null, "StructureDefinition");
|
||||
context.loadFromPackage(pcm.loadPackage("hl7.fhir.cda", "current"), null, "StructureDefinition");
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ import org.hl7.fhir.utilities.TextFile;
|
|||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.hl7.fhir.utilities.VersionUtilities;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode;
|
||||
import org.hl7.fhir.utilities.npm.ToolsVersion;
|
||||
import org.hl7.fhir.utilities.tests.BaseTestingUtilities;
|
||||
import org.w3c.dom.Document;
|
||||
|
@ -88,7 +89,7 @@ public class TestingUtilities extends BaseTestingUtilities {
|
|||
if (!fcontexts.containsKey(v)) {
|
||||
FilesystemPackageCacheManager pcm;
|
||||
try {
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
IWorkerContext fcontext = SimpleWorkerContext.fromPackage(pcm.loadPackage(VersionUtilities.packageForVersion(version), version));
|
||||
fcontext.setUcumService(new UcumEssenceService(TestingUtilities.loadTestResourceStream("ucum", "ucum-essence.xml")));
|
||||
fcontext.setExpansionProfile(new Parameters());
|
||||
|
|
|
@ -26,7 +26,7 @@ public class CDARoundTripTests {
|
|||
|
||||
@BeforeAll
|
||||
public static void setUp() throws Exception {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
context = SimpleWorkerContext.fromPackage(pcm.loadPackage("hl7.fhir.r4.core", "4.0.1"));
|
||||
fp = new FHIRPathEngine(context);
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ public class ParsingTests {
|
|||
}
|
||||
|
||||
public static Stream<Arguments> data() throws ParserConfigurationException, IOException, FHIRFormatError, SAXException {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
npm = pcm.loadPackage("hl7.fhir.r4b.examples", "4.3.0");
|
||||
List<Arguments> objects = new ArrayList<>();
|
||||
List<String> names = npm.list("package");
|
||||
|
|
|
@ -555,7 +555,7 @@ public class SnapShotGenerationTests {
|
|||
pu.setDebug(test.isDebug());
|
||||
pu.setIds(test.getSource(), false);
|
||||
if (!TestingUtilities.context().hasPackage(CommonPackages.ID_XVER, CommonPackages.VER_XVER)) {
|
||||
NpmPackage npm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION).loadPackage(CommonPackages.ID_XVER, CommonPackages.VER_XVER);
|
||||
NpmPackage npm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER).loadPackage(CommonPackages.ID_XVER, CommonPackages.VER_XVER);
|
||||
TestingUtilities.context().loadFromPackage(npm, new TestLoader(new String[]{"StructureDefinition"}), new String[]{"StructureDefinition"});
|
||||
}
|
||||
pu.setXver(new XVerExtensionManager(TestingUtilities.context()));
|
||||
|
|
|
@ -24,7 +24,7 @@ public class StructureMapUtilitiesTest implements ITransformerServices {
|
|||
|
||||
@BeforeAll
|
||||
static public void setUp() throws Exception {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
context = SimpleWorkerContext.fromPackage(pcm.loadPackage("hl7.fhir.r4.core", "4.0.1"));
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ public class XmlParserTests {
|
|||
|
||||
@BeforeAll
|
||||
public static void setUp() throws Exception {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
context = SimpleWorkerContext.fromPackage(pcm.loadPackage("hl7.fhir.r4.core", "4.0.1"));
|
||||
fp = new FHIRPathEngine(context);
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ import org.hl7.fhir.utilities.Utilities;
|
|||
import org.hl7.fhir.utilities.VersionUtilities;
|
||||
import org.hl7.fhir.utilities.npm.BasePackageCacheManager.InputStreamWithSrc;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.IPackageProvider;
|
||||
import org.hl7.fhir.utilities.npm.NpmPackage;
|
||||
import org.hl7.fhir.utilities.npm.ToolsVersion;
|
||||
|
@ -77,7 +78,7 @@ public class TestingUtilities extends BaseTestingUtilities {
|
|||
|
||||
FilesystemPackageCacheManager pcm;
|
||||
try {
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
IWorkerContext fcontext = null;
|
||||
if (VersionUtilities.isR5Ver(version)) {
|
||||
// for purposes of stability, the R5 core package comes from the test case repository
|
||||
|
|
|
@ -16,6 +16,7 @@ import org.hl7.fhir.r5.test.utils.TestingUtilities;
|
|||
import org.hl7.fhir.r5.utils.FHIRPathEngine;
|
||||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode;
|
||||
import org.hl7.fhir.utilities.npm.ToolsVersion;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
|
@ -28,7 +29,7 @@ public class CDARoundTripTests {
|
|||
|
||||
@BeforeAll
|
||||
public static void setUp() throws Exception {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
context = TestingUtilities.getWorkerContext(pcm.loadPackage("hl7.fhir.r4.core", "4.0.1"));
|
||||
fp = new FHIRPathEngine(context);
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ import org.hl7.fhir.utilities.TextFile;
|
|||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.NpmPackage;
|
||||
import org.hl7.fhir.utilities.npm.ToolsVersion;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
|
@ -34,7 +35,7 @@ public class ParsingTests {
|
|||
}
|
||||
|
||||
public static Stream<Arguments> data() throws ParserConfigurationException, IOException, FHIRFormatError, SAXException {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
// npm = pcm.loadPackage("hl7.fhir.r5.examples", "5.0.0");
|
||||
npm = NpmPackage.fromPackage(TestingUtilities.loadTestResourceStream("r5", "packages", "hl7.fhir.r5.examples.tgz"));
|
||||
List<Arguments> objects = new ArrayList<>();
|
||||
|
|
|
@ -48,6 +48,7 @@ import org.hl7.fhir.utilities.npm.CommonPackages;
|
|||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.NpmPackage;
|
||||
import org.hl7.fhir.utilities.npm.ToolsVersion;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity;
|
||||
import org.hl7.fhir.utilities.xml.XMLUtil;
|
||||
|
@ -535,7 +536,7 @@ public class SnapShotGenerationTests {
|
|||
pu.setIds(test.getSource(), false);
|
||||
pu.setAllowUnknownProfile(test.allow);
|
||||
if (!TestingUtilities.getSharedWorkerContext().hasPackage(CommonPackages.ID_XVER, CommonPackages.VER_XVER)) {
|
||||
NpmPackage npm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION).loadPackage(CommonPackages.ID_XVER, CommonPackages.VER_XVER);
|
||||
NpmPackage npm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER).loadPackage(CommonPackages.ID_XVER, CommonPackages.VER_XVER);
|
||||
TestingUtilities.getSharedWorkerContext().loadFromPackage(npm, new TestPackageLoader(Utilities.strings("StructureDefinition")), Utilities.strings("StructureDefinition"));
|
||||
}
|
||||
pu.setXver(new XVerExtensionManager(TestingUtilities.getSharedWorkerContext()));
|
||||
|
|
|
@ -18,6 +18,7 @@ import org.hl7.fhir.r5.utils.structuremap.ITransformerServices;
|
|||
import org.hl7.fhir.r5.utils.structuremap.StructureMapUtilities;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.ToolsVersion;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
@ -28,7 +29,7 @@ public class StructureMapUtilitiesTest implements ITransformerServices {
|
|||
|
||||
@BeforeAll
|
||||
static public void setUp() throws Exception {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
context = TestingUtilities.getWorkerContext(pcm.loadPackage("hl7.fhir.r4.core", "4.0.1"));
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ import org.hl7.fhir.r5.test.utils.TestingUtilities;
|
|||
import org.hl7.fhir.r5.utils.FHIRPathEngine;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.ToolsVersion;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
@ -25,7 +26,7 @@ public class XmlParserTests {
|
|||
|
||||
@BeforeAll
|
||||
public static void setUp() throws Exception {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
context = TestingUtilities.getWorkerContext(pcm.loadPackage("hl7.fhir.r4.core", "4.0.1"));
|
||||
|
||||
fp = new FHIRPathEngine(context);
|
||||
|
|
|
@ -36,6 +36,7 @@ import org.hl7.fhir.utilities.json.model.JsonArray;
|
|||
import org.hl7.fhir.utilities.json.model.JsonElement;
|
||||
import org.hl7.fhir.utilities.json.model.JsonObject;
|
||||
import org.hl7.fhir.utilities.json.parser.JsonParser;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.IPackageProvider;
|
||||
import org.hl7.fhir.utilities.npm.NpmPackage.NpmPackageFolder;
|
||||
import org.hl7.fhir.utilities.npm.PackageList.PackageListEntry;
|
||||
|
@ -88,6 +89,11 @@ import org.slf4j.LoggerFactory;
|
|||
public class FilesystemPackageCacheManager extends BasePackageCacheManager implements IPackageCacheManager {
|
||||
|
||||
|
||||
public enum FilesystemPackageCacheMode {
|
||||
USER, SYSTEM, TESTING
|
||||
|
||||
}
|
||||
|
||||
// When running in testing mode, some packages are provided from the test case repository rather than by the normal means
|
||||
// the PackageProvider is responsible for this. if no package provider is defined, or it declines to handle the package,
|
||||
// then the normal means will be used
|
||||
|
@ -111,31 +117,32 @@ public class FilesystemPackageCacheManager extends BasePackageCacheManager imple
|
|||
private JsonArray buildInfo;
|
||||
private boolean suppressErrors;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
@Deprecated
|
||||
public FilesystemPackageCacheManager(boolean userMode, int toolsVersion) throws IOException {
|
||||
myPackageServers.addAll(PackageServer.publicServers());
|
||||
|
||||
if (userMode)
|
||||
cacheFolder = Utilities.path(System.getProperty("user.home"), ".fhir", "packages");
|
||||
else
|
||||
cacheFolder = Utilities.path("var", "lib", ".fhir", "packages");
|
||||
if (!(new File(cacheFolder).exists()))
|
||||
Utilities.createDirectory(cacheFolder);
|
||||
if (!(new File(Utilities.path(cacheFolder, "packages.ini")).exists()))
|
||||
TextFile.stringToFile("[cache]\r\nversion=" + CACHE_VERSION + "\r\n\r\n[urls]\r\n\r\n[local]\r\n\r\n", Utilities.path(cacheFolder, "packages.ini"), false);
|
||||
createIniFile();
|
||||
}
|
||||
|
||||
public FilesystemPackageCacheManager(boolean userMode) throws IOException {
|
||||
init(userMode ? FilesystemPackageCacheMode.USER : FilesystemPackageCacheMode.SYSTEM);
|
||||
}
|
||||
|
||||
public FilesystemPackageCacheManager(FilesystemPackageCacheMode mode) throws IOException {
|
||||
init(mode);
|
||||
}
|
||||
|
||||
public void init(FilesystemPackageCacheMode mode) throws IOException {
|
||||
myPackageServers.addAll(PackageServer.publicServers());
|
||||
|
||||
if (userMode)
|
||||
cacheFolder = Utilities.path(System.getProperty("user.home"), ".fhir", "packages");
|
||||
else
|
||||
switch (mode) {
|
||||
case SYSTEM:
|
||||
cacheFolder = Utilities.path("var", "lib", ".fhir", "packages");
|
||||
break;
|
||||
case USER:
|
||||
cacheFolder = Utilities.path(System.getProperty("user.home"), ".fhir", "packages");
|
||||
break;
|
||||
case TESTING:
|
||||
cacheFolder = Utilities.path("[tmp]", ".fhir", "packages");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (!(new File(cacheFolder).exists()))
|
||||
Utilities.createDirectory(cacheFolder);
|
||||
if (!(new File(Utilities.path(cacheFolder, "packages.ini")).exists()))
|
||||
|
|
|
@ -7,6 +7,7 @@ import java.util.List;
|
|||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.hl7.fhir.utilities.npm.CommonPackages;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode;
|
||||
import org.hl7.fhir.utilities.npm.NpmPackage;
|
||||
import org.hl7.fhir.utilities.npm.ToolsVersion;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
|
@ -16,14 +17,15 @@ public class PackageCacheTests {
|
|||
|
||||
@Test
|
||||
public void testPath() throws IOException {
|
||||
FilesystemPackageCacheManager cache = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager cache = new FilesystemPackageCacheManager(FilesystemPackageCacheMode.TESTING);
|
||||
NpmPackage npm = cache.loadPackage(CommonPackages.ID_PUBPACK, CommonPackages.VER_PUBPACK);
|
||||
cache.clear();
|
||||
List<String> list = cache.listPackages();
|
||||
if (!list.isEmpty()) {
|
||||
System.out.println("remaining packages: "+list.toString());
|
||||
}
|
||||
Assertions.assertTrue(list.isEmpty(), "List should be true but is "+list.toString());
|
||||
NpmPackage npm = cache.loadPackage(CommonPackages.ID_PUBPACK, CommonPackages.VER_PUBPACK);
|
||||
npm = cache.loadPackage(CommonPackages.ID_PUBPACK, CommonPackages.VER_PUBPACK);
|
||||
npm.loadAllFiles();
|
||||
Assertions.assertNotNull(npm);
|
||||
File dir = new File(Utilities.path("[tmp]", "cache"));
|
||||
|
@ -41,7 +43,7 @@ public class PackageCacheTests {
|
|||
|
||||
@Test
|
||||
public void testPatchWildCard() throws IOException {
|
||||
FilesystemPackageCacheManager cache = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager cache = new FilesystemPackageCacheManager(FilesystemPackageCacheMode.TESTING);
|
||||
cache.clear();
|
||||
Assertions.assertEquals(cache.loadPackage("hl7.fhir.us.core", "3.1.0").version(), "3.1.0");
|
||||
Assertions.assertEquals(cache.loadPackage("hl7.fhir.us.core", "3.1.1").version(), "3.1.1");
|
||||
|
@ -51,7 +53,7 @@ public class PackageCacheTests {
|
|||
|
||||
@Test
|
||||
public void testNotCaseSensitive() throws IOException {
|
||||
FilesystemPackageCacheManager cache = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager cache = new FilesystemPackageCacheManager(FilesystemPackageCacheMode.TESTING);
|
||||
cache.clear();
|
||||
Assertions.assertEquals(cache.loadPackage("KBV.Basis", "1.1.3").version(), "1.1.3");
|
||||
Assertions.assertEquals(cache.loadPackage("kbv.basis", "1.1.3").version(), "1.1.3");
|
||||
|
@ -59,7 +61,7 @@ public class PackageCacheTests {
|
|||
|
||||
@Test
|
||||
public void testLastReleasedVersion() throws IOException {
|
||||
FilesystemPackageCacheManager cache = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager cache = new FilesystemPackageCacheManager(FilesystemPackageCacheMode.TESTING);
|
||||
cache.clear();
|
||||
Assertions.assertEquals("0.0.8", cache.loadPackage(CommonPackages.ID_PUBPACK, "0.0.8").version());
|
||||
Assertions.assertEquals(CommonPackages.VER_PUBPACK, cache.loadPackage(CommonPackages.ID_PUBPACK).version());
|
||||
|
|
|
@ -973,7 +973,7 @@ public class ValidationEngine implements IValidatorResourceFetcher, IValidationP
|
|||
public FilesystemPackageCacheManager getPcm() throws IOException {
|
||||
if (pcm == null) {
|
||||
//System.out.println("Creating Package manager?");
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
}
|
||||
return pcm;
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ public class PackageValidator {
|
|||
}
|
||||
|
||||
private void execute() throws IOException {
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
|
||||
PackageClient pc = new PackageClient(PackageServer.primaryServer());
|
||||
for (PackageInfo t : pc.search(null, null, null, false)) {
|
||||
|
|
|
@ -110,7 +110,7 @@ public class ComparisonTests {
|
|||
if (context == null) {
|
||||
System.out.println("---- Load R5 ----------------------------------------------------------------");
|
||||
context = TestingUtilities.getSharedWorkerContext();
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
NpmPackage npm = pcm.loadPackage("hl7.fhir.us.core#3.1.0");
|
||||
BaseWorkerContext bc = (BaseWorkerContext) context;
|
||||
boolean dupl = bc.isAllowLoadingDuplicates();
|
||||
|
@ -123,7 +123,7 @@ public class ComparisonTests {
|
|||
if (!new File(Utilities.path("[tmp]", "comparison")).exists()) {
|
||||
System.out.println("---- Set up Output ----------------------------------------------------------");
|
||||
Utilities.createDirectory(Utilities.path("[tmp]", "comparison"));
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
NpmPackage npm = pcm.loadPackage(CommonPackages.ID_PUBPACK, CommonPackages.VER_PUBPACK);
|
||||
for (String f : npm.list("other")) {
|
||||
TextFile.streamToFile(npm.load("other", f), Utilities.path("[tmp]", "comparison", f));
|
||||
|
|
|
@ -309,7 +309,7 @@ public class R3R4ConversionTests implements ITransformerServices, IValidatorReso
|
|||
if (contextR3 != null)
|
||||
return;
|
||||
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
R3ToR4Loader ldr = (R3ToR4Loader) new R3ToR4Loader().setPatchUrls(true).setKillPrimitives(true);
|
||||
|
||||
System.out.println("loading R3");
|
||||
|
|
|
@ -89,7 +89,7 @@ public class UtilitiesXTests {
|
|||
if (!fcontexts.containsKey(version)) {
|
||||
FilesystemPackageCacheManager pcm;
|
||||
try {
|
||||
pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||
pcm = new FilesystemPackageCacheManager(org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.FilesystemPackageCacheMode.USER);
|
||||
IWorkerContext fcontext = TestingUtilities.getWorkerContext(pcm.loadPackage(VersionUtilities.packageForVersion(version), version), loaderForVersion(version));
|
||||
fcontext.setUcumService(new UcumEssenceService(UtilitiesXTests.loadTestResourceStream("ucum", "ucum-essence.xml")));
|
||||
fcontext.setExpansionProfile(new Parameters());
|
||||
|
|
Loading…
Reference in New Issue