[jboss-cvs] JBossAS SVN: r71557 - projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 1 10:31:38 EDT 2008


Author: alesj
Date: 2008-04-01 10:31:37 -0400 (Tue, 01 Apr 2008)
New Revision: 71557

Modified:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployer.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployment.java
Log:
[JBMICROCONT-280] moving defaults to AbstractKernelDeployment.

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployer.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployer.java	2008-04-01 13:39:35 UTC (rev 71556)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployer.java	2008-04-01 14:31:37 UTC (rev 71557)
@@ -29,11 +29,7 @@
 import java.util.ListIterator;
 import java.util.Set;
 
-import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
-import org.jboss.beans.metadata.plugins.AbstractDependencyValueMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.beans.metadata.spi.ClassLoaderMetaData;
-import org.jboss.beans.metadata.spi.ValueMetaData;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.dependency.spi.ControllerState;
@@ -306,7 +302,7 @@
       {
          for (BeanMetaData metaData : beans)
          {
-            KernelControllerContext context = deployBean(controller, deployment, metaData);
+            KernelControllerContext context = deployBean(controller, metaData);
             deployment.addInstalledContext(context);
          }
       }
@@ -316,39 +312,18 @@
     * Deploy a bean
     * 
     * @param controller the controller
-    * @param deployment the deployment
     * @param bean the bean metadata
     * @return the KernelControllerContext
     * @throws Throwable for any error
     */
-   protected KernelControllerContext deployBean(KernelController controller, KernelDeployment deployment, BeanMetaData bean) throws Throwable
+   protected KernelControllerContext deployBean(KernelController controller, BeanMetaData bean) throws Throwable
    {
       KernelControllerContext context = new AbstractKernelControllerContext(null, bean, null);
       if (requiredState != null)
          context.setRequiredState(requiredState);
       if (mode != null)
          context.setMode(mode);
-      // Use any deployment classloader if present and the bean doesn't have one
-      ClassLoaderMetaData beanClassLoader = bean.getClassLoader();
-      if (beanClassLoader == null && deployment != null)
-      {
-         ClassLoaderMetaData deploymentClassLoader = deployment.getClassLoader();
-         if (deploymentClassLoader != null)
-         {
-            // If the deployment classloader is a bean, replace it with an injection
-            ValueMetaData classLoader = deploymentClassLoader.getClassLoader();
-            if (classLoader instanceof BeanMetaData)
-            {
-               classLoader = new AbstractDependencyValueMetaData(((BeanMetaData) classLoader).getName());
-               beanClassLoader = new AbstractClassLoaderMetaData(classLoader);
-            }
-            else
-            {
-               beanClassLoader = deploymentClassLoader;
-            }
-            bean.setClassLoader(beanClassLoader);
-         }
-      }
+
       controller.install(context);
       return context;
    }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployment.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployment.java	2008-04-01 13:39:35 UTC (rev 71556)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/deployment/AbstractKernelDeployment.java	2008-04-01 14:31:37 UTC (rev 71557)
@@ -28,7 +28,6 @@
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArrayList;
-
 import javax.xml.bind.annotation.XmlAnyElement;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
@@ -45,6 +44,7 @@
 import org.jboss.beans.metadata.plugins.AbstractNamedAliasMetaData;
 import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
 import org.jboss.beans.metadata.plugins.MutableLifecycleHolder;
+import org.jboss.beans.metadata.plugins.AbstractDependencyValueMetaData;
 import org.jboss.beans.metadata.spi.AnnotationMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
@@ -219,55 +219,86 @@
       }
 
       List<BeanMetaDataFactory> factories = getBeanFactories();
-
       if (factories != null && factories.isEmpty() == false)
       {
          for (BeanMetaDataFactory factory : factories)
          {
+            if (factory == null)
+               throw new IllegalArgumentException("BeanMetaDataFactory cannot be null.");
+
             List<BeanMetaData> beans = factory.getBeans();
-            for (BeanMetaData bmd : beans)
+            if (beans != null && beans.isEmpty() == false)
             {
-               // check annotations
-               if (annotations != null && annotations.isEmpty() == false)
+               for (BeanMetaData bmd : beans)
                {
-                  Set<AnnotationMetaData> annotationsBMD = bmd.getAnnotations();
-                  if (annotationsBMD == null)
+                  if (bmd == null)
+                     throw new IllegalArgumentException("Bean meta data cannot be null.");
+
+                  // check annotations
+                  if (annotations != null && annotations.isEmpty() == false)
                   {
-                     annotationsBMD = new HashSet<AnnotationMetaData>();
-                     bmd.setAnnotations(annotationsBMD);
+                     Set<AnnotationMetaData> annotationsBMD = bmd.getAnnotations();
+                     if (annotationsBMD == null)
+                     {
+                        annotationsBMD = new HashSet<AnnotationMetaData>();
+                        bmd.setAnnotations(annotationsBMD);
+                     }
+                     annotationsBMD.addAll(annotations);
                   }
-                  annotationsBMD.addAll(annotations);
-               }
-               // impl specific
-               if (bmd instanceof AbstractBeanMetaData)
-               {
-                  AbstractBeanMetaData bean = (AbstractBeanMetaData)bmd;
-                  // set deployment defaults, if not already set per bean
-                  if (bean.getCreate() == null && getCreate() != null)
+
+                  // impl specific
+                  if (bmd instanceof AbstractBeanMetaData)
                   {
-                     bean.setCreate(getCreate());
+                     AbstractBeanMetaData bean = (AbstractBeanMetaData)bmd;
+                     // set deployment defaults, if not already set per bean
+                     if (bean.getCreate() == null && getCreate() != null)
+                     {
+                        bean.setCreate(getCreate());
+                     }
+                     if (bean.getStart() == null && getStart() != null)
+                     {
+                        bean.setStart(getStart());
+                     }
+                     if (bean.getStop() == null && getStop() != null)
+                     {
+                        bean.setStop(getStop());
+                     }
+                     if (bean.getDestroy() == null && getDestroy() != null)
+                     {
+                        bean.setDestroy(getDestroy());
+                     }
+
+                     // controller mode
+                     if (bean.getMode() == null && getMode() != null)
+                     {
+                        bean.setMode(getMode());
+                     }
                   }
-                  if (bean.getStart() == null && getStart() != null)
-                  {
-                     bean.setStart(getStart());
-                  }
-                  if (bean.getStop() == null && getStop() != null)
-                  {
-                     bean.setStop(getStop());
-                  }
-                  if (bean.getDestroy() == null && getDestroy() != null)
-                  {
-                     bean.setDestroy(getDestroy());
-                  }
 
-                  // controller mode
-                  if (bean.getMode() == null && getMode() != null)
+                  // Use any deployment classloader if present and the bean doesn't have one
+                  ClassLoaderMetaData beanClassLoader = bmd.getClassLoader();
+                  if (beanClassLoader == null)
                   {
-                     bean.setMode(getMode());
+                     ClassLoaderMetaData deploymentClassLoader = getClassLoader();
+                     if (deploymentClassLoader != null)
+                     {
+                        // If the deployment classloader is a bean, replace it with an injection
+                        ValueMetaData classLoader = deploymentClassLoader.getClassLoader();
+                        if (classLoader instanceof BeanMetaData)
+                        {
+                           classLoader = new AbstractDependencyValueMetaData(((BeanMetaData) classLoader).getName());
+                           beanClassLoader = new AbstractClassLoaderMetaData(classLoader);
+                        }
+                        else
+                        {
+                           beanClassLoader = deploymentClassLoader;
+                        }
+                        bmd.setClassLoader(beanClassLoader);
+                     }
                   }
                }
+               result.addAll(beans);
             }
-            result.addAll(beans);
          }
       }
       // For backwards compatibility




More information about the jboss-cvs-commits mailing list