[jboss-cvs] JBossAS SVN: r59003 - in projects/microcontainer/trunk/spring-int/src: main/org/jboss/spring/deployment/xml resources/org/jboss/test/spring/test tests/org/jboss/test/spring/test

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Dec 12 14:03:04 EST 2006


Author: alesj
Date: 2006-12-12 14:02:55 -0500 (Tue, 12 Dec 2006)
New Revision: 59003

Modified:
   projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/ConstructorArgInterceptor.java
   projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/SpringBeanHandler.java
   projects/microcontainer/trunk/spring-int/src/resources/org/jboss/test/spring/test/TestInstantiate.xml
   projects/microcontainer/trunk/spring-int/src/tests/org/jboss/test/spring/test/InstantiateSpringTestCase.java
Log:
JBMICROCONT-26; inital code

Modified: projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/ConstructorArgInterceptor.java
===================================================================
--- projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/ConstructorArgInterceptor.java	2006-12-12 18:30:05 UTC (rev 59002)
+++ projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/ConstructorArgInterceptor.java	2006-12-12 19:02:55 UTC (rev 59003)
@@ -28,11 +28,9 @@
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
 import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
-import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
-import org.jboss.beans.metadata.spi.ConstructorMetaData;
 import org.jboss.beans.metadata.spi.ParameterMetaData;
-import org.jboss.xb.binding.sunday.unmarshalling.DefaultElementInterceptor;
 import org.jboss.spring.deployment.AbstractConstructorArg;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultElementInterceptor;
 
 /**
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
@@ -61,6 +59,7 @@
       }
       if (parameter instanceof AbstractConstructorArg && ((AbstractConstructorArg)parameter).isExplicitIndex() == false)
       {
+         // actual order is done in SpringBeanHandler
          parameter.setIndex(parameters.size());
       }
       parameters.add(parameter);

Modified: projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/SpringBeanHandler.java
===================================================================
--- projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/SpringBeanHandler.java	2006-12-12 18:30:05 UTC (rev 59002)
+++ projects/microcontainer/trunk/spring-int/src/main/org/jboss/spring/deployment/xml/SpringBeanHandler.java	2006-12-12 19:02:55 UTC (rev 59003)
@@ -24,10 +24,16 @@
 import javax.xml.namespace.NamespaceContext;
 import javax.xml.namespace.QName;
 
+import java.util.List;
+import java.util.Collections;
+import java.util.Comparator;
+
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractLifecycleMetaData;
 import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
 import org.jboss.beans.metadata.plugins.AbstractDependencyValueMetaData;
+import org.jboss.beans.metadata.spi.ConstructorMetaData;
+import org.jboss.beans.metadata.spi.ParameterMetaData;
 import org.jboss.xb.binding.sunday.unmarshalling.DefaultElementHandler;
 import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
 import org.xml.sax.Attributes;
@@ -77,4 +83,29 @@
       }
    }
 
+   public Object endElement(Object object, QName qName, ElementBinding elementBinding)
+   {
+      AbstractBeanMetaData beanMetaData = (AbstractBeanMetaData) object;
+      ConstructorMetaData constructor = beanMetaData.getConstructor();
+      if (constructor != null)
+      {
+         List<ParameterMetaData> parameters = constructor.getParameters();
+         if (parameters != null && parameters.size() > 1)
+         {
+            Collections.sort(parameters, ParameterIndexComparator.INSTANCE);
+         }
+      }
+      return beanMetaData;
+   }
+
+   private static class ParameterIndexComparator implements Comparator<ParameterMetaData>
+   {
+      static Comparator<ParameterMetaData> INSTANCE = new ParameterIndexComparator();
+
+      public int compare(ParameterMetaData pmd1, ParameterMetaData pmd2)
+      {
+         return 0; // todo
+      }
+   }
+
 }

Modified: projects/microcontainer/trunk/spring-int/src/resources/org/jboss/test/spring/test/TestInstantiate.xml
===================================================================
--- projects/microcontainer/trunk/spring-int/src/resources/org/jboss/test/spring/test/TestInstantiate.xml	2006-12-12 18:30:05 UTC (rev 59002)
+++ projects/microcontainer/trunk/spring-int/src/resources/org/jboss/test/spring/test/TestInstantiate.xml	2006-12-12 19:02:55 UTC (rev 59003)
@@ -18,6 +18,7 @@
          <value>one</value>
       </set>
    </property>
+<!--
    <property name="map">
       <entry>
          <key>
@@ -26,4 +27,5 @@
          <value>key</value>
       </entry>
    </property>
+-->
 </bean>

Modified: projects/microcontainer/trunk/spring-int/src/tests/org/jboss/test/spring/test/InstantiateSpringTestCase.java
===================================================================
--- projects/microcontainer/trunk/spring-int/src/tests/org/jboss/test/spring/test/InstantiateSpringTestCase.java	2006-12-12 18:30:05 UTC (rev 59002)
+++ projects/microcontainer/trunk/spring-int/src/tests/org/jboss/test/spring/test/InstantiateSpringTestCase.java	2006-12-12 19:02:55 UTC (rev 59003)
@@ -22,7 +22,7 @@
 package org.jboss.test.spring.test;
 
 import junit.framework.Test;
-import org.jboss.test.spring.support.SimpleBean;
+import org.jboss.beans.metadata.spi.BeanMetaData;
 
 /**
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
@@ -47,8 +47,8 @@
 
    public void testInstantiate() throws Exception
    {
-      SimpleBean simpleBean = unmarshal("TestInstantiate.xml", SimpleBean.class);
-      System.out.println("simpleBean = " + simpleBean);
+      BeanMetaData simpleBeanMD = unmarshal("TestInstantiate.xml", BeanMetaData.class);
+      System.out.println("simpleBean = " + simpleBeanMD);
    }
 
 }




More information about the jboss-cvs-commits mailing list