[jboss-cvs] JBossAS SVN: r110527 - in trunk/weld-int: deployer/src/main/java/org/jboss/weld/integration/deployer/env and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 4 05:56:45 EST 2011


Author: alesj
Date: 2011-02-04 05:56:45 -0500 (Fri, 04 Feb 2011)
New Revision: 110527

Modified:
   trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
   trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java
   trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/provider/JBossSingletonProvider.java
Log:
Simple refactoring.

Modified: trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
===================================================================
--- trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml	2011-02-04 00:59:12 UTC (rev 110526)
+++ trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml	2011-02-04 10:56:45 UTC (rev 110527)
@@ -57,13 +57,13 @@
     </constructor>
   </bean>
 
+  <bean name="JBossSingletonProvider" class="org.jboss.weld.integration.provider.JBossSingletonProvider"/>
+
   <!-- Responsible for booting Weld -->
   <bean name="WeldBootstrapDeployer" class="org.jboss.weld.integration.deployer.env.WeldBootstrapDeployer">
      <property name="singletonProvider"><inject bean="JBossSingletonProvider"/></property>
   </bean>
 
-   <bean name="JBossSingletonProvider" class="org.jboss.weld.integration.provider.JBossSingletonProvider"/>
-  
   <!-- Responsible for pushing the JSF faces-config.xml onto the application classpath -->
   <bean name="WeldFacesIntegrationDeployer" class="org.jboss.weld.integration.deployer.cl.WeldFacesIntegrationDeployer"/>
   

Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java	2011-02-04 00:59:12 UTC (rev 110526)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java	2011-02-04 10:56:45 UTC (rev 110527)
@@ -21,8 +21,6 @@
  */
 package org.jboss.weld.integration.deployer.env;
 
-import org.jboss.beans.metadata.api.annotations.Start;
-import org.jboss.beans.metadata.api.annotations.Stop;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
@@ -35,7 +33,6 @@
 import org.jboss.weld.integration.deployer.DeployersUtils;
 import org.jboss.weld.integration.deployer.env.bda.DUTopLevelClassLoaderGetter;
 import org.jboss.weld.integration.deployer.env.bda.DeploymentImpl;
-
 import org.jboss.weld.integration.provider.JBossSingletonProvider;
 
 
@@ -59,22 +56,17 @@
    /**
     * Setter for allowing the injection of a different type of SingletonProvider
     *
-    * @param singletonProvider
+    * @param singletonProvider the singleton provider
     */
    public void setSingletonProvider(SingletonProvider singletonProvider)
    {
-      if (singletonProvider == null)
-      {
-         throw new IllegalArgumentException("Cannot set a null SingletonProvider");
-      }
       this.singletonProvider = singletonProvider;
    }
 
    /**
     * Configures the SingletonProvider to be used by the application server
     */
-   @Start
-   public void install()
+   public void start()
    {
       if (singletonProvider != null)
       {
@@ -93,8 +85,7 @@
     * Removes the SingletonProvider - we assume that no application is running anymore
     * in this application server when the deployer is uninstalled (shutdown) 
     */
-   @Stop
-   public void uninstall()
+   public void stop()
    {
       SingletonProvider.reset();
    }

Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/provider/JBossSingletonProvider.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/provider/JBossSingletonProvider.java	2011-02-04 00:59:12 UTC (rev 110526)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/provider/JBossSingletonProvider.java	2011-02-04 10:56:45 UTC (rev 110527)
@@ -1,55 +1,47 @@
 package org.jboss.weld.integration.provider;
 
-import org.jboss.beans.metadata.api.annotations.Start;
-import org.jboss.classloader.spi.base.BaseClassLoader;
-import org.jboss.weld.bootstrap.api.Singleton;
-import org.jboss.weld.bootstrap.api.SingletonProvider;
-import org.jboss.weld.integration.deployer.env.bda.DUTopLevelClassLoaderGetter;
-import org.jboss.weld.integration.deployer.env.bda.TopLevelClassLoaderGetter;
-
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
+import org.jboss.weld.bootstrap.api.Singleton;
+import org.jboss.weld.bootstrap.api.SingletonProvider;
+import org.jboss.weld.integration.deployer.env.bda.DUTopLevelClassLoaderGetter;
+import org.jboss.weld.integration.deployer.env.bda.TopLevelClassLoaderGetter;
+
 /**
+ * JBoss custom singleton provider.
+ * It looks for top level classloader to isolate Weld components.
+ *
  * @author Marius Bogoevici
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
  */
 public class JBossSingletonProvider extends SingletonProvider
 {
-
    private TopLevelClassLoaderGetter topLevelClassLoaderGetter;
 
-   public JBossSingletonProvider()
-   {
-
-   }
-
    public void setTopLevelClassLoaderGetter(TopLevelClassLoaderGetter topLevelClassLoaderGetter)
    {
       this.topLevelClassLoaderGetter = topLevelClassLoaderGetter;
    }
 
-   @Start
-   public void install()
+   public void start()
    {
       if (topLevelClassLoaderGetter == null)
-      {
          topLevelClassLoaderGetter = DUTopLevelClassLoaderGetter.getInstance();
-      }
    }
    
    @Override
    public <T> Singleton<T> create(Class<? extends T> expectedType)
    {
-      return new EarSingleton<T>();
+      return new TopLevelSingleton<T>();
    }
 
-   public class EarSingleton<T> implements Singleton<T>
+   private class TopLevelSingleton<T> implements Singleton<T>
    {
       private final ConcurrentMap<ClassLoader, T> store = new ConcurrentHashMap<ClassLoader, T>();
 
-
       public T get()
       {
          ClassLoader currentClassLoader = getTopLevelClassLoader();
@@ -100,5 +92,4 @@
          return Thread.currentThread().getContextClassLoader();
       }
    }
-
 }



More information about the jboss-cvs-commits mailing list