You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by da...@apache.org on 2018/04/27 10:02:55 UTC
[sling-org-apache-sling-feature-resolver] 11/20: Fix system bundle
fragments handling
This is an automated email from the ASF dual-hosted git repository.
davidb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-resolver.git
commit 138764a6a59e7d5311b8f2fc251961027c960896
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Apr 17 22:36:01 2018 +0300
Fix system bundle fragments handling
---
.../java/org/apache/sling/feature/resolver/FrameworkResolver.java | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/main/java/org/apache/sling/feature/resolver/FrameworkResolver.java b/src/main/java/org/apache/sling/feature/resolver/FrameworkResolver.java
index bd93d72..f0bf929 100644
--- a/src/main/java/org/apache/sling/feature/resolver/FrameworkResolver.java
+++ b/src/main/java/org/apache/sling/feature/resolver/FrameworkResolver.java
@@ -98,6 +98,7 @@ public class FrameworkResolver implements FeatureResolver {
BundleRevision br = framework.adapt(BundleRevision.class);
capabilities.put(PackageNamespace.PACKAGE_NAMESPACE, br.getCapabilities(PackageNamespace.PACKAGE_NAMESPACE));
capabilities.put(BundleNamespace.BUNDLE_NAMESPACE, br.getCapabilities(BundleNamespace.BUNDLE_NAMESPACE));
+ capabilities.put(HostNamespace.HOST_NAMESPACE, br.getCapabilities(HostNamespace.HOST_NAMESPACE));
capabilities.put(IdentityNamespace.IDENTITY_NAMESPACE, br.getCapabilities(IdentityNamespace.IDENTITY_NAMESPACE));
frameworkResource = new BundleResourceImpl(framework.getSymbolicName(), framework.getVersion(), null, null,
capabilities, Collections.emptyMap());
@@ -231,6 +232,10 @@ public class FrameworkResolver implements FeatureResolver {
// This is a fragment
Requirement req = reqs.iterator().next(); // TODO handle more host requirements
String bsn = req.getAttributes().get(HostNamespace.HOST_NAMESPACE).toString(); // TODO this is not valid, should obtain from filter
+ // system bundle is already started, no need to reorder here
+ if ( Constants.SYSTEM_BUNDLE_SYMBOLICNAME.equals(bsn)) {
+ continue;
+ }
int idx = getBundleIndex(orderedResources, bsn); // TODO check for filter too
if (idx < i) {
// the fragment is after the host, and should be moved to be before the host
--
To stop receiving notification emails like this one, please contact
davidb@apache.org.