diff options
author | gjoranv <gv@verizonmedia.com> | 2020-07-16 22:36:13 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2020-07-16 22:57:43 +0200 |
commit | 60bf570feffd5921c41f028696ce4d9b000b780c (patch) | |
tree | a90d1e84a48e83baade1bd101145c808bb5d6c8d | |
parent | d9af1cf77bd1f283b930385c1e7af1cc4a11d807 (diff) |
Don't rely on FelixFramework - it's not in an exported package
3 files changed, 13 insertions, 2 deletions
diff --git a/container-core/src/main/java/com/yahoo/osgi/OsgiImpl.java b/container-core/src/main/java/com/yahoo/osgi/OsgiImpl.java index 998273acfc7..b34442d50a9 100644 --- a/container-core/src/main/java/com/yahoo/osgi/OsgiImpl.java +++ b/container-core/src/main/java/com/yahoo/osgi/OsgiImpl.java @@ -5,7 +5,6 @@ import com.yahoo.component.ComponentSpecification; import com.yahoo.component.Version; import com.yahoo.container.bundle.BundleInstantiationSpecification; import com.yahoo.jdisc.application.OsgiFramework; -import com.yahoo.jdisc.core.FelixFramework; import org.osgi.framework.Bundle; import org.osgi.framework.BundleException; import org.osgi.framework.launch.Framework; @@ -154,7 +153,7 @@ public class OsgiImpl implements Osgi { @Override public boolean hasFelixFramework() { - return jdiscOsgi instanceof FelixFramework; + return jdiscOsgi.isFelixFramework(); } private static Bundle firstNonFrameworkBundle(List<Bundle> bundles) { diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/application/OsgiFramework.java b/jdisc_core/src/main/java/com/yahoo/jdisc/application/OsgiFramework.java index b1aceb81bc6..12168663205 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/application/OsgiFramework.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/application/OsgiFramework.java @@ -113,4 +113,11 @@ public interface OsgiFramework { */ void stop() throws BundleException; + /** + * Returns true if this is a Felix based framework and not e.g. a test framework. + */ + default boolean isFelixFramework() { + return false; + } + } diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixFramework.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixFramework.java index c14e513fb98..bd189f8b898 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixFramework.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixFramework.java @@ -169,6 +169,11 @@ public class FelixFramework implements OsgiFramework { collisionHook.allowDuplicateBundles(bundles); } + @Override + public boolean isFelixFramework() { + return true; + } + private void installBundle(String bundleLocation, Set<String> mask, List<Bundle> out) throws BundleException { bundleLocation = BundleLocationResolver.resolve(bundleLocation); if (mask.contains(bundleLocation)) { |