diff options
author | gjoranv <gv@oath.com> | 2018-09-30 15:52:38 +0200 |
---|---|---|
committer | gjoranv <gv@oath.com> | 2019-01-21 15:09:23 +0100 |
commit | df07e9186b5399eed93b97ef4f53d36725512456 (patch) | |
tree | 3f77f86746e4b0e4ed0e164cc60dee2c24936bd7 /jdisc_core | |
parent | 39f0b801c0fd703e6cdbddf8fa66541fb3027a92 (diff) |
Bootstrap FelixParams at runtime.
- The set of system packages is not constant (nor is their order)
between JVM invocations.
Diffstat (limited to 'jdisc_core')
-rw-r--r-- | jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixParams.java | 13 | ||||
-rw-r--r-- | jdisc_core/src/test/java/com/yahoo/jdisc/core/FelixParamsTestCase.java | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixParams.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixParams.java index 10dbd09792f..9b877f68efd 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixParams.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixParams.java @@ -12,10 +12,21 @@ import java.util.Map; */ public class FelixParams { - private final StringBuilder exportPackages = new StringBuilder(ExportPackages.readExportProperty()); + private final StringBuilder exportPackages; private String cachePath = null; private boolean loggerEnabled = true; + public FelixParams() { + this(ExportPackages.readExportProperty()); + } + + // For testing only + // Needed because the set of system packages is no longer constant between JVM invocations, + // since Felix 6 and JDK 9. + FelixParams(String exportPackages) { + this.exportPackages = new StringBuilder(exportPackages); + } + public FelixParams exportPackage(String pkg) { exportPackages.append(",").append(pkg); return this; diff --git a/jdisc_core/src/test/java/com/yahoo/jdisc/core/FelixParamsTestCase.java b/jdisc_core/src/test/java/com/yahoo/jdisc/core/FelixParamsTestCase.java index 6836ebde496..3c74172b545 100644 --- a/jdisc_core/src/test/java/com/yahoo/jdisc/core/FelixParamsTestCase.java +++ b/jdisc_core/src/test/java/com/yahoo/jdisc/core/FelixParamsTestCase.java @@ -31,7 +31,7 @@ public class FelixParamsTestCase { public void requireThatSystemPackagesAreNotReplaced() { String systemPackages = ExportPackages.getSystemPackages(); - FelixParams params = new FelixParams(); + FelixParams params = new FelixParams(systemPackages); Map<String, String> config = params.toConfig(); assertNotNull(config); String str = config.get(Constants.FRAMEWORK_SYSTEMPACKAGES); |