[jboss-svn-commits] JBoss Common SVN: r2722 - in jbossxb/trunk/src: test/java/org/jboss/test/xb/builder/object/element/wrapper/support and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 5 11:10:11 EST 2008


Author: alex.loubyansky at jboss.com
Date: 2008-03-05 11:10:11 -0500 (Wed, 05 Mar 2008)
New Revision: 2722

Added:
   jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/wrapper/support/Foo4.java
   jbossxb/trunk/src/test/resources/org/jboss/test/xb/builder/object/element/wrapper/test/Wrapper_testFoo4Wrapper.xml
Modified:
   jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java
   jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/wrapper/test/WrapperUnitTestCase.java
Log:
JBXB-126

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java	2008-03-05 14:02:10 UTC (rev 2721)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java	2008-03-05 16:10:11 UTC (rev 2722)
@@ -1456,6 +1456,7 @@
          String wrapperName = xmlWrapper.name();
          QName wrapperQName = generateXmlName(property.getName(), elementForm, wrapperNamespace, wrapperName);
          localModel = bindXmlElementWrapper(propertyType, localModel, xmlWrapper.nillable(), wrapperQName);
+         beanAdapterFactory.addProperty(wrapperQName, new PropertyHandler(property, propertyType));
          if (trace)
             log.trace("Added property " + wrapperQName + " for type=" + property.getBeanInfo().getName() + " property="
                   + property.getName() + " as a wrapper element");

Added: jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/wrapper/support/Foo4.java
===================================================================
--- jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/wrapper/support/Foo4.java	                        (rev 0)
+++ jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/wrapper/support/Foo4.java	2008-03-05 16:10:11 UTC (rev 2722)
@@ -0,0 +1,29 @@
+package org.jboss.test.xb.builder.object.element.wrapper.support;
+
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlRootElement;
+
+ at XmlRootElement
+public class Foo4
+{
+   private Number[] items;
+
+   public Number[] getItems()
+   {
+      return items;
+   }
+
+   @XmlElementWrapper(name="bar")
+   @XmlElements({
+      @XmlElement(name="int", required=false, type=Integer.class),
+      @XmlElement(name="float", required=false, type=Float.class),
+      @XmlElement(name="x", required=false, type=MyNumber.class)
+   })
+   public void setItems(Number[] items)
+   {
+      this.items = items;
+   }
+}

Modified: jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/wrapper/test/WrapperUnitTestCase.java
===================================================================
--- jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/wrapper/test/WrapperUnitTestCase.java	2008-03-05 14:02:10 UTC (rev 2721)
+++ jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/wrapper/test/WrapperUnitTestCase.java	2008-03-05 16:10:11 UTC (rev 2722)
@@ -7,6 +7,7 @@
 import org.jboss.test.xb.builder.object.element.wrapper.support.Foo;
 import org.jboss.test.xb.builder.object.element.wrapper.support.Foo2;
 import org.jboss.test.xb.builder.object.element.wrapper.support.Foo3;
+import org.jboss.test.xb.builder.object.element.wrapper.support.Foo4;
 import org.jboss.test.xb.builder.object.element.wrapper.support.MyNumber;
 
 public class WrapperUnitTestCase extends AbstractBuilderTest
@@ -57,4 +58,15 @@
       Bar bar3 = items.get(3);
       assertEquals(bar3.getValue(), new MyNumber("123456789"));
    }
+
+   public void testFoo4Wrapper() throws Exception
+   {
+      Foo4 foo = unmarshalObject(Foo4.class);
+      Number[] items = foo.getItems();
+      assertEquals(4, items.length);
+      assertEquals(1, items[0]);
+      assertEquals(2, items[1]);
+      assertEquals(new Float(1.1), items[2]);
+      assertEquals(new MyNumber("123456789"), items[3]);
+   }
 }

Added: jbossxb/trunk/src/test/resources/org/jboss/test/xb/builder/object/element/wrapper/test/Wrapper_testFoo4Wrapper.xml
===================================================================
--- jbossxb/trunk/src/test/resources/org/jboss/test/xb/builder/object/element/wrapper/test/Wrapper_testFoo4Wrapper.xml	                        (rev 0)
+++ jbossxb/trunk/src/test/resources/org/jboss/test/xb/builder/object/element/wrapper/test/Wrapper_testFoo4Wrapper.xml	2008-03-05 16:10:11 UTC (rev 2722)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<foo4>
+  <bar>
+    <int>1</int>
+  </bar>
+  <bar>
+    <int>2</int>    
+  </bar>
+  <bar>
+    <float>1.1</float>    
+  </bar>
+  <bar>
+    <x>123456789</x>
+  </bar>
+</foo4>




More information about the jboss-svn-commits mailing list