[jboss-cvs] JBossAS SVN: r83651 - in projects/microcontainer/trunk/kernel/src: main/java/org/jboss/beans/metadata/spi/factory and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jan 30 03:07:09 EST 2009


Author: alesj
Date: 2009-01-30 03:07:09 -0500 (Fri, 30 Jan 2009)
New Revision: 83651

Modified:
   projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java
   projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java
   projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/PropertyMap.java
   projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/support/FirstBean2.java
   projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/test/BeanFactoryContextualInjectionTestCase.java
   projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/BeanFactoryContextualInjectionTestCase.xml
Log:
Cleanup, some cast checks.

Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java	2009-01-30 08:05:58 UTC (rev 83650)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java	2009-01-30 08:07:09 UTC (rev 83651)
@@ -265,6 +265,9 @@
             classInfo = configurator.getClassInfo(factoryClassName, cl);
          }
          // should be parameter
+         if (previous instanceof ParameterMetaData == false)
+            throw new IllegalArgumentException("Previous node is not ParameterMetaData as expected: " + previous);
+
          ParameterMetaData parameter = (ParameterMetaData) previous;
          String[] parameterTypes = Configurator.getParameterTypes(false, parameters);
          MethodInfo methodInfo = Configurator.findMethodInfo(classInfo, factoryMethod, parameterTypes, factoryClassName != null, true);

Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java	2009-01-30 08:05:58 UTC (rev 83650)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java	2009-01-30 08:07:09 UTC (rev 83651)
@@ -181,6 +181,9 @@
 
    public TypeInfo getType(MetaDataVisitor visitor, MetaDataVisitorNode previous) throws Throwable
    {
+      if (previous instanceof ParameterMetaData == false)
+         throw new IllegalArgumentException("Previous node is not ParameterMetaData as expected: " + previous);
+      
       ParameterMetaData parameter = (ParameterMetaData) previous;
       KernelControllerContext context = visitor.getControllerContext();
       String method = (methodName != null ? methodName : type);

Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/PropertyMap.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/PropertyMap.java	2009-01-30 08:05:58 UTC (rev 83650)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/factory/PropertyMap.java	2009-01-30 08:07:09 UTC (rev 83651)
@@ -22,8 +22,6 @@
 package org.jboss.beans.metadata.spi.factory;
 
 import java.io.Serializable;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Set;
@@ -36,8 +34,7 @@
 import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
 import org.jboss.beans.metadata.spi.RelatedClassMetaData;
 import org.jboss.beans.metadata.spi.ValueMetaData;
-import org.jboss.config.plugins.property.PropertyConfiguration;
-import org.jboss.config.spi.Configuration;
+import org.jboss.kernel.spi.config.KernelConfigurator;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.reflect.spi.TypeInfo;
 import org.jboss.util.JBossObject;
@@ -54,21 +51,6 @@
    /** The serialVersionUID */
    private static final long serialVersionUID = -4295725682462294630L;
 
-   /** The configuration */
-   private static Configuration configuration;
-
-   static
-   {
-      // get Configuration instance
-      configuration = AccessController.doPrivileged(new PrivilegedAction<Configuration>()
-      {
-         public Configuration run()
-         {
-            return new PropertyConfiguration();
-         }
-      });
-   }
-
    public void initialVisit(MetaDataVisitor visitor)
    {
       visitor.initialVisit(this);
@@ -112,7 +94,8 @@
          throw new IllegalArgumentException("Invalid information for contextual injection: " + bmd);
       // TODO - perhaps match which related metadata is the right one
       RelatedClassMetaData beanClassMetaData = related.iterator().next();
-      BeanInfo beanInfo = configuration.getBeanInfo(beanClassMetaData.getClassName(), context.getClassLoader());
+      KernelConfigurator configurator = context.getKernel().getConfigurator();
+      BeanInfo beanInfo = configurator.getBeanInfo(beanClassMetaData.getClassName(), context.getClassLoader());
       PropertyInfo pi = beanInfo.getProperty(valueInfo.name);
       TypeInfo typeInfo = pi.getType();
       if (typeInfo.isCollection() || typeInfo.isMap())

Modified: projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/support/FirstBean2.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/support/FirstBean2.java	2009-01-30 08:05:58 UTC (rev 83650)
+++ projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/support/FirstBean2.java	2009-01-30 08:07:09 UTC (rev 83651)
@@ -26,8 +26,19 @@
  */
 public class FirstBean2
 {
+   private FirstBean c;
    private RealTM tm;
 
+   public FirstBean2(FirstBean c)
+   {
+      this.c = c;
+   }
+
+   public FirstBean getC()
+   {
+      return c;
+   }
+
    public RealTM getTm()
    {
       return tm;

Modified: projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/test/BeanFactoryContextualInjectionTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/test/BeanFactoryContextualInjectionTestCase.java	2009-01-30 08:05:58 UTC (rev 83650)
+++ projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/test/BeanFactoryContextualInjectionTestCase.java	2009-01-30 08:07:09 UTC (rev 83651)
@@ -46,6 +46,7 @@
    {
       BeanFactory bf = assertBean("FirstBean", BeanFactory.class);
       FirstBean2 bean = (FirstBean2)bf.createBean();
+      assertNotNull(bean.getC());
       assertNotNull(bean.getTm());
    }
 }
\ No newline at end of file

Modified: projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/BeanFactoryContextualInjectionTestCase.xml
===================================================================
--- projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/BeanFactoryContextualInjectionTestCase.xml	2009-01-30 08:05:58 UTC (rev 83650)
+++ projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/test/BeanFactoryContextualInjectionTestCase.xml	2009-01-30 08:07:09 UTC (rev 83651)
@@ -2,10 +2,14 @@
 
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-  <bean name="RealTM" class="org.jboss.test.kernel.deployment.support.RealTM"/>
-
   <beanfactory name="FirstBean" class="org.jboss.test.kernel.deployment.support.FirstBean2">
+    <constructor>
+      <parameter class="org.jboss.test.kernel.deployment.support.FirstBean"><inject/></parameter>
+    </constructor>
     <property name="tm"><inject/></property>
   </beanfactory>
 
+  <bean name="C" class="org.jboss.test.kernel.deployment.support.FirstBean"/>
+  <bean name="RealTM" class="org.jboss.test.kernel.deployment.support.RealTM"/>
+
 </deployment>




More information about the jboss-cvs-commits mailing list