[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