You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2006/07/15 01:53:14 UTC

svn commit: r422100 - in /geronimo/xbean/branches/colossus: xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/ xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/ xbean-spring-v1/src/test/java/org/apache/xbean/spring/con...

Author: dain
Date: Fri Jul 14 16:53:13 2006
New Revision: 422100

URL: http://svn.apache.org/viewvc?rev=422100&view=rev
Log:
XBEAN-26 Nested properties not evaluated for named constructor args

Added:
    geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/ParameterMapping.java
Modified:
    geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java
    geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java
    geronimo/xbean/branches/colossus/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java
    geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java
    geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/example/SoupService.java
    geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml
    geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml
    geronimo/xbean/branches/colossus/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java
    geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java
    geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/example/SoupService.java
    geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml
    geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml

Added: geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/ParameterMapping.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/ParameterMapping.java?rev=422100&view=auto
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/ParameterMapping.java (added)
+++ geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/ParameterMapping.java Fri Jul 14 16:53:13 2006
@@ -0,0 +1,38 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.xbean.spring.generator;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ParameterMapping {
+    private final String name;
+    private final Type type;
+
+    public ParameterMapping(String name, Type type) {
+        this.name = name;
+        this.type = type;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public Type getType() {
+        return type;
+    }
+}

Modified: geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/QdoxMappingLoader.java Fri Jul 14 16:53:13 2006
@@ -240,7 +240,6 @@
                 List args = new ArrayList(parameters.length);
                 for (int j = 0; j < parameters.length; j++) {
                     JavaParameter parameter = parameters[j];
-                    String parameterType = parameter.getType().toString();
                     AttributeMapping attributeMapping = (AttributeMapping) attributesByPropertyName.get(parameter.getName());
                     if (attributeMapping == null) {
                         attributeMapping = loadParameter(parameter);
@@ -248,13 +247,7 @@
                         attributes.add(attributeMapping);
                         attributesByPropertyName.put(attributeMapping.getPropertyName(), attributeMapping);
                     }
-                    if (!parameterType.equals(attributeMapping.getType().getName())) {
-                        throw new InvalidModelException("Type mismatch:" +
-                                " The construction method " + toMethodLocator(parameter.getParentMethod()) +
-                                " declared parameter " + parameter.getName() + " as a " + parameterType +
-                                " but the bean property type is " + attributeMapping.getType().getName());
-                    }
-                    args.add(attributeMapping);
+                    args.add(new ParameterMapping(attributeMapping.getPropertyName(), toMappingType(parameter.getType(), null)));
                 }
                 constructorArgs.add(Collections.unmodifiableList(args));
             }

Modified: geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java Fri Jul 14 16:53:13 2006
@@ -144,17 +144,17 @@
         }
         out.print("(");
         for (Iterator iterator = args.iterator(); iterator.hasNext();) {
-            AttributeMapping attributeMapping = (AttributeMapping) iterator.next();
-            out.print(attributeMapping.getType().getName());
+            ParameterMapping parameterMapping = (ParameterMapping) iterator.next();
+            out.print(parameterMapping.getType().getName());
             if (iterator.hasNext()) {
                 out.print(",");
             }
         }
         out.print(").parameterNames =");
         for (Iterator iterator = args.iterator(); iterator.hasNext();) {
-            AttributeMapping attributeMapping = (AttributeMapping) iterator.next();
+            ParameterMapping parameterMapping = (ParameterMapping) iterator.next();
             out.print(" ");
-            out.print(attributeMapping.getPropertyName());
+            out.print(parameterMapping.getName());
         }
         out.println();
     }

Modified: geronimo/xbean/branches/colossus/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java Fri Jul 14 16:53:13 2006
@@ -42,7 +42,6 @@
 import org.apache.xbean.spring.context.impl.PropertyEditorHelper;
 import org.apache.xbean.spring.context.impl.QNameHelper;
 import org.apache.xbean.spring.context.impl.QNameReflectionHelper;
-import org.springframework.beans.MutablePropertyValues;
 import org.springframework.beans.PropertyValue;
 import org.springframework.beans.factory.BeanDefinitionStoreException;
 import org.springframework.beans.factory.config.BeanDefinition;
@@ -433,9 +432,10 @@
         String localName = getLocalName(element);
         PropertyDescriptor descriptor = getPropertyDescriptor(className, localName);
         if (descriptor != null) {
-            return parseNestedPropertyViaIntrospection(metadata, className, element, descriptor);
+            return parseNestedPropertyViaIntrospection(metadata, element, descriptor.getName(), descriptor.getPropertyType());
+        } else {
+            return parseNestedPropertyViaIntrospection(metadata, element, localName, Object.class);
         }
-        return null;
     }
 
     /**
@@ -511,16 +511,12 @@
     /**
      * Attempts to use introspection to parse the nested property element.
      */
-    protected Object parseNestedPropertyViaIntrospection(MappingMetaData metadata, String className, Element element,
-            PropertyDescriptor descriptor) {
-        String name = descriptor.getName();
-        if (isMap(descriptor.getPropertyType())) {
-            return parseCustomMapElement(metadata, element, name);
-        }
-        else if (isCollection(descriptor.getPropertyType())) {
-            return parseListElement(element, name);
-        }
-        else {
+    private Object parseNestedPropertyViaIntrospection(MappingMetaData metadata, Element element, String propertyName, Class propertyType) {
+        if (isMap(propertyType)) {
+            return parseCustomMapElement(metadata, element, propertyName);
+        } else if (isCollection(propertyType)) {
+            return parseListElement(element, propertyName);
+        } else {
             return parseChildExtensionBean(element);
         }
     }
@@ -594,6 +590,8 @@
                 if (uri == null || uri.equals(SPRING_SCHEMA) || uri.equals(SPRING_SCHEMA_COMPAT)) {
                     if (BEAN_ELEMENT.equals(localName)) {
                         return parseBeanDefinitionElement(childElement, true);
+                    } else {
+                        return parsePropertySubElement(childElement, element.getLocalName());
                     }
                 } else {
                     Object value = parseBeanFromExtensionElement(childElement);

Modified: geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java Fri Jul 14 16:53:13 2006
@@ -29,13 +29,23 @@
 
     public void testSoup() throws Exception {
         SoupService soup = (SoupService) getBean("soupService");
+        SoupService nestedBean = (SoupService) getBean("nestedBean");
+        SoupService nestedValue = (SoupService) getBean("nestedValue");
 
-        assertEquals("type", "French Onion", soup.getType());
-        assertTrue(soup.getCreateTime() >= time);
-        assertTrue(soup.exists());
+        asssertValidSoup(soup);
+        asssertValidSoup(nestedBean);
+        asssertValidSoup(nestedValue);
 
         context.close();
         assertFalse(soup.exists());
+        assertFalse(nestedBean.exists());
+        assertFalse(nestedValue.exists());
+    }
+
+    private void asssertValidSoup(SoupService soup) {
+        assertEquals("type", "French Onion", soup.getSoupType());
+        assertTrue(soup.getCreateTime() >= time);
+        assertTrue(soup.exists());
     }
 
     protected AbstractXmlApplicationContext createApplicationContext() {

Modified: geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/example/SoupService.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/example/SoupService.java?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/example/SoupService.java (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/java/org/apache/xbean/spring/example/SoupService.java Fri Jul 14 16:53:13 2006
@@ -1,19 +1,19 @@
 /**
  * 
  * Copyright 2005-2006 The Apache Software Foundation or its licensors,  as applicable.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); 
- * you may not use this file except in compliance with the License. 
- * You may obtain a copy of the License at 
- * 
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, 
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- * See the License for the specific language governing permissions and 
- * limitations under the License. 
- * 
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
  **/
 package org.apache.xbean.spring.example;
 
@@ -27,7 +27,7 @@
  * @author Dain Sundstrom
  * @version $Id$
  * @since 2.0
- */              
+ */
 
 // START SNIPPET: bean
 public class SoupService {
@@ -72,7 +72,7 @@
     /**
      * What type of soup would you like?
      */
-    public String getType() {
+    public String getSoupType() {
         return type;
     }
 

Modified: geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml Fri Jul 14 16:53:13 2006
@@ -2,7 +2,7 @@
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 <beans>
 
-  <bean id="soupService" class="org.apache.xbean.spring.example.SoupService"
+  <bean id="soupService" name="nestedBean, nestedValue" class="org.apache.xbean.spring.example.SoupService"
     init-method="make"
     destroy-method="eat"
     factory-method="newSoup"

Modified: geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v1/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml Fri Jul 14 16:53:13 2006
@@ -4,6 +4,19 @@
 
   <s:soup id="soupService" type="French Onion"/>
 
+  <s:soup id="nestedBean">
+    <s:type>
+      <bean class="java.lang.String">
+        <constructor-arg index="0" value="French Onion"/>
+      </bean>
+    </s:type>
+  </s:soup>
+
+  <s:soup id="nestedValue">
+    <s:type>
+      <value>French Onion</value>
+    </s:type>
+  </s:soup>
 </beans>
 <!-- END SNIPPET: xml -->
 

Modified: geronimo/xbean/branches/colossus/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java Fri Jul 14 16:53:13 2006
@@ -38,7 +38,6 @@
 import org.apache.xbean.spring.context.impl.NamedConstructorArgs;
 import org.apache.xbean.spring.context.impl.NamespaceHelper;
 import org.apache.xbean.spring.context.impl.PropertyEditorHelper;
-import org.springframework.beans.MutablePropertyValues;
 import org.springframework.beans.PropertyValue;
 import org.springframework.beans.factory.BeanDefinitionStoreException;
 import org.springframework.beans.factory.config.BeanDefinition;
@@ -504,9 +503,10 @@
         String localName = getLocalName(element);
         PropertyDescriptor descriptor = getPropertyDescriptor(className, localName);
         if (descriptor != null) {
-            return parseNestedPropertyViaIntrospection(metadata, className, element, descriptor);
+            return parseNestedPropertyViaIntrospection(metadata, element, descriptor.getName(), descriptor.getPropertyType());
+        } else {
+            return parseNestedPropertyViaIntrospection(metadata, element, localName, Object.class);
         }
-        return null;
     }
 
     /**
@@ -530,16 +530,12 @@
     /**
      * Attempts to use introspection to parse the nested property element.
      */
-    protected Object parseNestedPropertyViaIntrospection(MappingMetaData metadata, String className, Element element,
-            PropertyDescriptor descriptor) {
-        String name = descriptor.getName();
-        if (isMap(descriptor.getPropertyType())) {
-            return parseCustomMapElement(metadata, element, name);
-        }
-        else if (isCollection(descriptor.getPropertyType())) {
-            return parseListElement(element, name);
-        }
-        else {
+    private Object parseNestedPropertyViaIntrospection(MappingMetaData metadata, Element element, String propertyName, Class propertyType) {
+        if (isMap(propertyType)) {
+            return parseCustomMapElement(metadata, element, propertyName);
+        } else if (isCollection(propertyType)) {
+            return parseListElement(element, propertyName);
+        } else {
             return parseChildExtensionBean(element);
         }
     }
@@ -620,6 +616,8 @@
                     uri.equals(BeanDefinitionParserDelegate.BEANS_NAMESPACE_URI)) {
                     if (BeanDefinitionParserDelegate.BEAN_ELEMENT.equals(localName)) {
                         return parserContext.getDelegate().parseBeanDefinitionElement(childElement, true);
+                    } else {
+                        return parserContext.getDelegate().parsePropertySubElement(childElement);
                     }
                 } else {
                     Object value = parseBeanFromExtensionElement(childElement);

Modified: geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/context/SoupUsingSpringTest.java Fri Jul 14 16:53:13 2006
@@ -29,13 +29,23 @@
 
     public void testSoup() throws Exception {
         SoupService soup = (SoupService) getBean("soupService");
+        SoupService nestedBean = (SoupService) getBean("nestedBean");
+        SoupService nestedValue = (SoupService) getBean("nestedValue");
 
-        assertEquals("type", "French Onion", soup.getType());
-        assertTrue(soup.getCreateTime() >= time);
-        assertTrue(soup.exists());
+        asssertValidSoup(soup);
+        asssertValidSoup(nestedBean);
+        asssertValidSoup(nestedValue);
 
         context.close();
         assertFalse(soup.exists());
+        assertFalse(nestedBean.exists());
+        assertFalse(nestedValue.exists());
+    }
+
+    private void asssertValidSoup(SoupService soup) {
+        assertEquals("type", "French Onion", soup.getSoupType());
+        assertTrue(soup.getCreateTime() >= time);
+        assertTrue(soup.exists());
     }
 
     protected AbstractXmlApplicationContext createApplicationContext() {

Modified: geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/example/SoupService.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/example/SoupService.java?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/example/SoupService.java (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/java/org/apache/xbean/spring/example/SoupService.java Fri Jul 14 16:53:13 2006
@@ -1,19 +1,19 @@
 /**
  * 
  * Copyright 2005-2006 The Apache Software Foundation or its licensors,  as applicable.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); 
- * you may not use this file except in compliance with the License. 
- * You may obtain a copy of the License at 
- * 
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, 
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- * See the License for the specific language governing permissions and 
- * limitations under the License. 
- * 
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
  **/
 package org.apache.xbean.spring.example;
 
@@ -27,7 +27,7 @@
  * @author Dain Sundstrom
  * @version $Id$
  * @since 2.0
- */              
+ */
 
 // START SNIPPET: bean
 public class SoupService {
@@ -72,7 +72,7 @@
     /**
      * What type of soup would you like?
      */
-    public String getType() {
+    public String getSoupType() {
         return type;
     }
 

Modified: geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-normal.xml Fri Jul 14 16:53:13 2006
@@ -2,7 +2,7 @@
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 <beans>
 
-  <bean id="soupService" class="org.apache.xbean.spring.example.SoupService"
+  <bean id="soupService" name="nestedBean, nestedValue" class="org.apache.xbean.spring.example.SoupService"
     init-method="make"
     destroy-method="eat"
     factory-method="newSoup"

Modified: geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml?rev=422100&r1=422099&r2=422100&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml (original)
+++ geronimo/xbean/branches/colossus/xbean-spring-v2/src/test/resources/org/apache/xbean/spring/context/soup-xbean.xml Fri Jul 14 16:53:13 2006
@@ -4,6 +4,19 @@
 
   <s:soup id="soupService" type="French Onion"/>
 
+  <s:soup id="nestedBean">
+    <s:type>
+      <bean class="java.lang.String">
+        <constructor-arg index="0" value="French Onion"/>
+      </bean>
+    </s:type>
+  </s:soup>
+
+  <s:soup id="nestedValue">
+    <s:type>
+      <value>French Onion</value>
+    </s:type>
+  </s:soup>
 </beans>
 <!-- END SNIPPET: xml -->