[weld-commits] Weld SVN: r6152 - extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Fri Apr 23 17:45:00 EDT 2010


Author: nickarls
Date: 2010-04-23 17:44:59 -0400 (Fri, 23 Apr 2010)
New Revision: 6152

Modified:
   extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/BeanManagerAware.java
   extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/BeanManagerProvider.java
   extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/DefaultJndiBeanManagerProvider.java
   extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/JBossJndiBeanManagerProvider.java
Log:
Drop static provider list from BeanManagerAware due to possible classloader issues
Change precedences to favor ServletContext
Document behaviour of equal precedence

Modified: extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/BeanManagerAware.java
===================================================================
--- extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/BeanManagerAware.java	2010-04-22 19:14:18 UTC (rev 6151)
+++ extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/BeanManagerAware.java	2010-04-23 21:44:59 UTC (rev 6152)
@@ -49,28 +49,28 @@
 {
    private BeanManager beanManager;
 
-   private static final List<BeanManagerProvider> beanManagerProviders = new ArrayList<BeanManagerProvider>();
+   private final List<BeanManagerProvider> beanManagerProviders = new ArrayList<BeanManagerProvider>();
 
-   static
+   public BeanManagerAware() 
    {
       loadServices();
-      Collections.sort(beanManagerProviders, new ProviderWeightSorter());
+      Collections.sort(beanManagerProviders, new ProviderWeightSorter());   
    }
-
-   private static class ProviderWeightSorter implements Comparator<BeanManagerProvider>
+   
+   private void loadServices()
    {
-      public int compare(BeanManagerProvider provider1, BeanManagerProvider provider2)
+      Iterator<BeanManagerProvider> providers = DefaultServiceLoader.load(BeanManagerProvider.class).iterator();
+      while (providers.hasNext())
       {
-         return Integer.valueOf(provider1.getPrecedence()).compareTo(Integer.valueOf(provider2.getPrecedence()));
+         beanManagerProviders.add(providers.next());
       }
    }
-
-   private static void loadServices()
+   
+   private class ProviderWeightSorter implements Comparator<BeanManagerProvider>
    {
-      Iterator<BeanManagerProvider> providers = DefaultServiceLoader.load(BeanManagerProvider.class).iterator();
-      while (providers.hasNext())
+      public int compare(BeanManagerProvider provider1, BeanManagerProvider provider2)
       {
-         beanManagerProviders.add(providers.next());
+         return Integer.valueOf(provider1.getPrecedence()).compareTo(Integer.valueOf(provider2.getPrecedence()));
       }
    }
 

Modified: extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/BeanManagerProvider.java
===================================================================
--- extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/BeanManagerProvider.java	2010-04-22 19:14:18 UTC (rev 6151)
+++ extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/BeanManagerProvider.java	2010-04-23 21:44:59 UTC (rev 6152)
@@ -41,7 +41,7 @@
    /**
     * An integer precedence value that indicates how favorable the implementation
     * considers itself amongst alternatives. A higher value is a higher
-    * precedence.
+    * precedence. If two implementations have the save precedence, the order is undetermined.
     */
    public abstract int getPrecedence();
 }

Modified: extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/DefaultJndiBeanManagerProvider.java
===================================================================
--- extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/DefaultJndiBeanManagerProvider.java	2010-04-22 19:14:18 UTC (rev 6151)
+++ extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/DefaultJndiBeanManagerProvider.java	2010-04-23 21:44:59 UTC (rev 6152)
@@ -40,7 +40,7 @@
 
    public int getPrecedence()
    {
-      return 10;
+      return 11;
    }
 
 }

Modified: extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/JBossJndiBeanManagerProvider.java
===================================================================
--- extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/JBossJndiBeanManagerProvider.java	2010-04-22 19:14:18 UTC (rev 6151)
+++ extensions/trunk/src/main/java/org/jboss/weld/extensions/beanManager/JBossJndiBeanManagerProvider.java	2010-04-23 21:44:59 UTC (rev 6152)
@@ -39,7 +39,7 @@
 
    public int getPrecedence()
    {
-      return 11;
+      return 10;
    }
 
 }



More information about the weld-commits mailing list