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/25 01:35:42 UTC

svn commit: r1127333 - /geronimo/server/trunk/plugins/myfaces/geronimo-myfaces/src/main/java/org/apache/geronimo/myfaces/config/resource/osgi/ConfigRegistryImpl.java

Author: gawor
Date: Tue May 24 23:35:41 2011
New Revision: 1127333

URL: http://svn.apache.org/viewvc?rev=1127333&view=rev
Log:
GERONIMO-5938: refactor the code a bit

Modified:
    geronimo/server/trunk/plugins/myfaces/geronimo-myfaces/src/main/java/org/apache/geronimo/myfaces/config/resource/osgi/ConfigRegistryImpl.java

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=1127333&r1=1127332&r2=1127333&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 23:35:41 2011
@@ -22,8 +22,8 @@ package org.apache.geronimo.myfaces.conf
 import java.io.InputStream;
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Enumeration;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -122,73 +122,61 @@ public class ConfigRegistryImpl implemen
         bundleIdFaceletsConfigResourcesMap.remove(removeBundleId);
     }
 
-    public List<FacesConfig> getDependentFacesConfigs(Long bundleId) {
-        BundleContext bundleContext = activator.getBundleContext();
-        ServiceReference serviceReference = null;
-        try {
-            serviceReference = bundleContext.getServiceReference(DependencyManager.class.getName());
-            if (serviceReference == null) {
-                return Collections.<FacesConfig> emptyList();
-            }
-            DependencyManager dependencyManager = (DependencyManager) bundleContext.getService(serviceReference);
-            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());
-                if (facesConfigs != null) {
-                    dependentFacesConfigs.addAll(facesConfigs);
-                }
-            }
-            return dependentFacesConfigs;
-        } finally {
-            if (serviceReference != null) {
-                bundleContext.ungetService(serviceReference);
-            }
-        }
-    }
-
-    @Override
-    public List<URL> getDependentFaceletsConfigResources(Long bundleId) {
+    private Set<Bundle> getDependentBundles(Long bundleId) {
         BundleContext bundleContext = activator.getBundleContext();
-        ServiceReference serviceReference = null;
-        try {
-            serviceReference = bundleContext.getServiceReference(DependencyManager.class.getName());
-            if (serviceReference == null) {
-                return Collections.<URL> emptyList();
-            }
+        
+        Set<Bundle> dependentBundles = null;
+        
+        // add in bundles from dependency manager
+        ServiceReference serviceReference = bundleContext.getServiceReference(DependencyManager.class.getName());
+        if (serviceReference != null) {
             DependencyManager dependencyManager = (DependencyManager) bundleContext.getService(serviceReference);
-            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());
-                if (faceletConfigResources != null) {
-                    faceletsConfigResources.addAll(faceletConfigResources);
-                }
-            }
-            return faceletsConfigResources;
-        } finally {
-            if (serviceReference != null) {
+            try {
+                dependentBundles = dependencyManager.getFullDependentBundles(bundleId);
+            } finally {
                 bundleContext.ungetService(serviceReference);
             }
+        } else {
+            dependentBundles = new HashSet<Bundle>();
         }
-    }
-
-    /*
-     * Add any wired bundles if the bundle is a Web Application Bundle.
-     */
-    private void addWiredBundles(Long bundleId, Set<Bundle> dependentBundles) {
-        BundleContext bundleContext = activator.getBundleContext();
+        
+        // add in wired bundles if WAB        
         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);
         }
+
+        return dependentBundles;
+    }
+    
+    public List<FacesConfig> getDependentFacesConfigs(Long bundleId) {
+        Set<Bundle> dependentBundles = getDependentBundles(bundleId);
+        List<FacesConfig> dependentFacesConfigs = new ArrayList<FacesConfig>();
+        for (Bundle dependentBundle : dependentBundles) {
+            List<FacesConfig> facesConfigs = bundleIdFacesConfigsMap.get(dependentBundle.getBundleId());
+            if (facesConfigs != null) {
+                dependentFacesConfigs.addAll(facesConfigs);
+            }
+        }
+        return dependentFacesConfigs;
     }
 
     @Override
+    public List<URL> getDependentFaceletsConfigResources(Long bundleId) {
+        Set<Bundle> dependentBundles = getDependentBundles(bundleId);
+        List<URL> faceletsConfigResources = new ArrayList<URL>();
+        for (Bundle dependentBundle : dependentBundles) {
+            List<URL> faceletConfigResources = bundleIdFaceletsConfigResourcesMap.get(dependentBundle.getBundleId());
+            if (faceletConfigResources != null) {
+                faceletsConfigResources.addAll(faceletConfigResources);
+            }
+        }
+        return faceletsConfigResources;
+    }
+    
+    @Override
     public Set<Long> getFacesConfigsBundleIds() {
         return bundleIdFacesConfigsMap.keySet();
     }