You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2011/05/24 20:53:12 UTC
svn commit: r1127218 - in /geronimo/server/trunk:
framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/
plugins/myfaces/geronimo-myfaces/src/main/java/org/apache/geronimo/myfaces/config/resource/osgi/
Author: gawor
Date: Tue May 24 18:53:12 2011
New Revision: 1127218
URL: http://svn.apache.org/viewvc?rev=1127218&view=rev
Log:
GERONIMO-5938: Load JSF taglib xml files from bundles - considered wired bundles in addition to dependencies
Modified:
geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java
geronimo/server/trunk/plugins/myfaces/geronimo-myfaces/src/main/java/org/apache/geronimo/myfaces/config/resource/osgi/ConfigRegistryImpl.java
Modified: geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java?rev=1127218&r1=1127217&r2=1127218&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java Tue May 24 18:53:12 2011
@@ -151,16 +151,16 @@ public class DependencyManager implement
return dependentBundleIds == null ? Collections.<Long> emptySet() : new HashSet<Long>(dependentBundleIds);
}
- public List<Bundle> getFullDependentBundles(Bundle bundle) {
+ public Set<Bundle> getFullDependentBundles(Bundle bundle) {
return getFullDependentBundles(bundle.getBundleId());
}
- public List<Bundle> getFullDependentBundles(Long bundleId) {
+ public Set<Bundle> getFullDependentBundles(Long bundleId) {
Set<Long> fullDependentBundleIds = getFullDependentBundleIds(bundleId);
if (fullDependentBundleIds.size() == 0) {
- return Collections.<Bundle> emptyList();
+ return Collections.<Bundle> emptySet();
}
- List<Bundle> dependentBundles = new ArrayList<Bundle>(fullDependentBundleIds.size());
+ Set<Bundle> dependentBundles = new HashSet<Bundle>(fullDependentBundleIds.size());
for (Long dependentBundleId : fullDependentBundleIds) {
dependentBundles.add(bundleContext.getBundle(dependentBundleId));
}
Modified: geronimo/server/trunk/plugins/myfaces/geronimo-myfaces/src/main/java/org/apache/geronimo/myfaces/config/resource/osgi/ConfigRegistryImpl.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/myfaces/geronimo-myfaces/src/main/java/org/apache/geronimo/myfaces/config/resource/osgi/ConfigRegistryImpl.java?rev=1127218&r1=1127217&r2=1127218&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/myfaces/geronimo-myfaces/src/main/java/org/apache/geronimo/myfaces/config/resource/osgi/ConfigRegistryImpl.java (original)
+++ geronimo/server/trunk/plugins/myfaces/geronimo-myfaces/src/main/java/org/apache/geronimo/myfaces/config/resource/osgi/ConfigRegistryImpl.java Tue May 24 18:53:12 2011
@@ -34,6 +34,7 @@ import org.apache.geronimo.myfaces.Faces
import org.apache.geronimo.myfaces.config.resource.osgi.api.ConfigRegistry;
import org.apache.geronimo.system.configuration.DependencyManager;
import org.apache.myfaces.config.element.FacesConfig;
+import org.apache.xbean.osgi.bundle.util.BundleUtils;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -130,7 +131,8 @@ public class ConfigRegistryImpl implemen
return Collections.<FacesConfig> emptyList();
}
DependencyManager dependencyManager = (DependencyManager) bundleContext.getService(serviceReference);
- List<Bundle> dependentBundles = dependencyManager.getFullDependentBundles(bundleId);
+ Set<Bundle> dependentBundles = dependencyManager.getFullDependentBundles(bundleId);
+ addWiredBundles(bundleId, dependentBundles);
List<FacesConfig> dependentFacesConfigs = new ArrayList<FacesConfig>();
for (Bundle dependentBundle : dependentBundles) {
List<FacesConfig> facesConfigs = bundleIdFacesConfigsMap.get(dependentBundle.getBundleId());
@@ -156,7 +158,8 @@ public class ConfigRegistryImpl implemen
return Collections.<URL> emptyList();
}
DependencyManager dependencyManager = (DependencyManager) bundleContext.getService(serviceReference);
- List<Bundle> dependentBundles = dependencyManager.getFullDependentBundles(bundleId);
+ Set<Bundle> dependentBundles = dependencyManager.getFullDependentBundles(bundleId);
+ addWiredBundles(bundleId, dependentBundles);
List<URL> faceletsConfigResources = new ArrayList<URL>();
for (Bundle dependentBundle : dependentBundles) {
List<URL> faceletConfigResources = bundleIdFaceletsConfigResourcesMap.get(dependentBundle.getBundleId());
@@ -172,6 +175,19 @@ public class ConfigRegistryImpl implemen
}
}
+ /*
+ * Add any wired bundles if the bundle is a Web Application Bundle.
+ */
+ private void addWiredBundles(Long bundleId, Set<Bundle> dependentBundles) {
+ BundleContext bundleContext = activator.getBundleContext();
+ Bundle bundle = bundleContext.getBundle(bundleId);
+ String contextPath = (String) bundle.getHeaders().get("Web-ContextPath");
+ if (contextPath != null) {
+ Set<Bundle> wiredBundles = BundleUtils.getWiredBundles(bundle);
+ dependentBundles.addAll(wiredBundles);
+ }
+ }
+
@Override
public Set<Long> getFacesConfigsBundleIds() {
return bundleIdFacesConfigsMap.keySet();