You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xbean-scm@geronimo.apache.org by gn...@apache.org on 2007/03/12 10:47:14 UTC
svn commit: r517153 - in /geronimo/xbean/trunk/xbean-spring/src:
main/java/org/apache/xbean/spring/context/v2c/
test/java/org/apache/xbean/spring/context/
test/resources/org/apache/xbean/spring/context/
Author: gnodet
Date: Mon Mar 12 02:47:13 2007
New Revision: 517153
URL: http://svn.apache.org/viewvc?view=rev&rev=517153
Log:
XBEAN-69: Support for maps of objects
Modified:
geronimo/xbean/trunk/xbean-spring/src/main/java/org/apache/xbean/spring/context/v2c/XBeanNamespaceHandler.java
geronimo/xbean/trunk/xbean-spring/src/test/java/org/apache/xbean/spring/context/FavoriteUsingSpringTest.java
geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-normal.xml
geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-xbean.xml
Modified: geronimo/xbean/trunk/xbean-spring/src/main/java/org/apache/xbean/spring/context/v2c/XBeanNamespaceHandler.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-spring/src/main/java/org/apache/xbean/spring/context/v2c/XBeanNamespaceHandler.java?view=diff&rev=517153&r1=517152&r2=517153
==============================================================================
--- geronimo/xbean/trunk/xbean-spring/src/main/java/org/apache/xbean/spring/context/v2c/XBeanNamespaceHandler.java (original)
+++ geronimo/xbean/trunk/xbean-spring/src/main/java/org/apache/xbean/spring/context/v2c/XBeanNamespaceHandler.java Mon Mar 12 02:47:13 2007
@@ -52,6 +52,7 @@
import org.springframework.beans.factory.support.BeanDefinitionReaderUtils;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.support.ManagedList;
+import org.springframework.beans.factory.support.ManagedMap;
import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
import org.springframework.beans.factory.xml.BeanDefinitionParserDelegate;
import org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader;
@@ -590,7 +591,7 @@
}
protected Object parseCustomMapElement(MappingMetaData metadata, Element element, String name) {
- Map map = new HashMap();
+ Map map = new ManagedMap();
Element parent = (Element) element.getParentNode();
String entryName = metadata.getMapEntryName(getLocalName(parent), name);
Modified: geronimo/xbean/trunk/xbean-spring/src/test/java/org/apache/xbean/spring/context/FavoriteUsingSpringTest.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-spring/src/test/java/org/apache/xbean/spring/context/FavoriteUsingSpringTest.java?view=diff&rev=517153&r1=517152&r2=517153
==============================================================================
--- geronimo/xbean/trunk/xbean-spring/src/test/java/org/apache/xbean/spring/context/FavoriteUsingSpringTest.java (original)
+++ geronimo/xbean/trunk/xbean-spring/src/test/java/org/apache/xbean/spring/context/FavoriteUsingSpringTest.java Mon Mar 12 02:47:13 2007
@@ -21,6 +21,7 @@
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.apache.xbean.spring.example.FavoriteService;
+import org.apache.xbean.spring.example.GinService;
/**
* @author James Strachan
@@ -34,7 +35,7 @@
Map favorites = fs.getFavorites();
assertNotNull(favorites);
- assertEquals(2, favorites.size());
+ assertEquals(3, favorites.size());
assertEquals("Grey Goose", favorites.get("Dan"));
Object object = favorites.get("IndecisiveDan");
@@ -42,6 +43,15 @@
assertTrue(object instanceof List);
List l = (List) object;
assertEquals(2, l.size());
+ object = l.get(0);
+ System.out.println(object.getClass());
+ assertTrue(object instanceof String);
+ object = l.get(1);
+ System.out.println(object.getClass());
+ assertTrue(object instanceof Integer);
+ object = favorites.get("WithInnerBean");
+ System.out.println(object.getClass());
+ assertTrue(object instanceof GinService);
}
protected AbstractXmlApplicationContext createApplicationContext() {
Modified: geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-normal.xml
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-normal.xml?view=diff&rev=517153&r1=517152&r2=517153
==============================================================================
--- geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-normal.xml (original)
+++ geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-normal.xml Mon Mar 12 02:47:13 2007
@@ -29,8 +29,15 @@
<entry key="IndecisiveDan">
<list>
<value>Malbec</value>
- <value>Cognac</value>
+ <bean class="java.lang.Integer">
+ <constructor-arg value="0"/>
+ </bean>
</list>
+ </entry>
+ <entry key="WithInnerBean">
+ <bean class="org.apache.xbean.spring.example.GinService">
+ <property name="name" value="name"/>
+ </bean>
</entry>
</map>
</property>
Modified: geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-xbean.xml
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-xbean.xml?view=diff&rev=517153&r1=517152&r2=517153
==============================================================================
--- geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-xbean.xml (original)
+++ geronimo/xbean/trunk/xbean-spring/src/test/resources/org/apache/xbean/spring/context/favorite-xbean.xml Mon Mar 12 02:47:13 2007
@@ -26,9 +26,14 @@
<b:favorite-item person="IndecisiveDan">
<list>
<value>Malbec</value>
- <value>Cognac</value>
+ <bean class="java.lang.Integer">
+ <constructor-arg value="0"/>
+ </bean>
</list>
- </b:favorite-item>
+ </b:favorite-item>
+ <b:favorite-item person="WithInnerBean">
+ <b:gin><![CDATA[Bombay Sapphire]]></b:gin>
+ </b:favorite-item>
</b:favorites>
</b:favorite>