aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gv@oath.com>2018-09-30 15:52:38 +0200
committergjoranv <gv@oath.com>2019-01-21 15:09:23 +0100
commitdf07e9186b5399eed93b97ef4f53d36725512456 (patch)
tree3f77f86746e4b0e4ed0e164cc60dee2c24936bd7
parent39f0b801c0fd703e6cdbddf8fa66541fb3027a92 (diff)
Bootstrap FelixParams at runtime.
- The set of system packages is not constant (nor is their order) between JVM invocations.
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixParams.java13
-rw-r--r--jdisc_core/src/test/java/com/yahoo/jdisc/core/FelixParamsTestCase.java2
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);