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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Feb 11 05:19:40 EST 2009


Author: alex.loubyansky at jboss.com
Date: 2009-02-11 05:19:40 -0500 (Wed, 11 Feb 2009)
New Revision: 2976

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
   jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/collection/test/AbstractCollectionTest.java
   jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/collection/test/ArrayUnitTestCase.java
Log:
JBXB-177

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java	2009-02-08 17:38:09 UTC (rev 2975)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java	2009-02-11 10:19:40 UTC (rev 2976)
@@ -1320,7 +1320,6 @@
       {
          if (trace)
             log.trace("Property " + property.getName() + " is a collection");
-         localModel = createCollection(localModel);
 
          JBossXmlCollection xmlCol = property.getUnderlyingAnnotation(JBossXmlCollection.class);
          if (xmlCol != null)
@@ -1403,7 +1402,7 @@
          choice.setHandler(BuilderParticleHandler.INSTANCE);
          ParticleBinding particleBinding = new ParticleBinding(choice);
          particleBinding.setMinOccurs(0);
-         particleBinding.setMaxOccurs(1);
+         particleBinding.setMaxOccursUnbounded(true);
          localModel.addParticle(particleBinding);
          localModel = choice;
          if (trace)
@@ -1654,7 +1653,7 @@
                   targetGroup.addParticle(particle);
                   targetGroup = (ModelGroupBinding) wrapperType.getParticle().getTerm();
                }
-               
+
                QName boundQName = bindMapProperty(property, (ClassInfo) localPropertyType, propertyQName, targetGroup);
                if(boundQName != null)
                {
@@ -1910,7 +1909,7 @@
       ElementBinding wrapperElement = createElementBinding(propertyType, wrapperType, wrapperQName, false);
       wrapperElement.setNillable(wrapperNillable);
       wrapperElement.setSkip(Boolean.TRUE);
-      particle = new ParticleBinding(wrapperElement, 1, 1, false);
+      particle = new ParticleBinding(wrapperElement, 1, 1, propertyType.isCollection());
       parentModel.addParticle(particle);
       return seq;
    }

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	2009-02-08 17:38:09 UTC (rev 2975)
+++ jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/element/wrapper/test/WrapperUnitTestCase.java	2009-02-11 10:19:40 UTC (rev 2976)
@@ -20,7 +20,7 @@
    public void testFooWrapper()
       throws Exception
    {
-      enableTrace("org.jboss.xb");
+      //enableTrace("org.jboss.xb");
       Foo foo = unmarshalObject(Foo.class);
       List<Number> items = foo.getItems();
       assertEquals(4, items.size());

Modified: jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/collection/test/AbstractCollectionTest.java
===================================================================
--- jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/collection/test/AbstractCollectionTest.java	2009-02-08 17:38:09 UTC (rev 2975)
+++ jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/collection/test/AbstractCollectionTest.java	2009-02-11 10:19:40 UTC (rev 2976)
@@ -30,6 +30,8 @@
 import org.jboss.test.xb.builder.AbstractBuilderTest;
 import org.jboss.test.xb.builder.object.type.collection.support.Root;
 import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
+import org.jboss.xb.binding.sunday.unmarshalling.ModelGroupBinding;
+import org.jboss.xb.binding.sunday.unmarshalling.ParticleBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
 import org.jboss.xb.builder.JBossXBBuilder;
 
@@ -76,6 +78,15 @@
       ElementBinding elementBinding = schemaBinding.getElement(elementName);
       assertNotNull(elementBinding);
       
-      // TODO check the collection model
+      ModelGroupBinding group = (ModelGroupBinding) elementBinding.getType().getParticle().getTerm();
+      assertRepeatableElementBinding(group);
    }
+
+   protected void assertRepeatableElementBinding(ModelGroupBinding group)
+   {
+      assertEquals(1, group.getParticles().size());
+      ParticleBinding p = group.getParticles().iterator().next();
+      assertTrue(p.getMaxOccursUnbounded());
+      assertTrue(p.getTerm().isElement());
+   }
 }

Modified: jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/collection/test/ArrayUnitTestCase.java
===================================================================
--- jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/collection/test/ArrayUnitTestCase.java	2009-02-08 17:38:09 UTC (rev 2975)
+++ jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/collection/test/ArrayUnitTestCase.java	2009-02-11 10:19:40 UTC (rev 2976)
@@ -29,6 +29,8 @@
 import org.jboss.test.xb.builder.AbstractBuilderTest;
 import org.jboss.test.xb.builder.object.type.collection.support.RootArray;
 import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
+import org.jboss.xb.binding.sunday.unmarshalling.ModelGroupBinding;
+import org.jboss.xb.binding.sunday.unmarshalling.ParticleBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
 import org.jboss.xb.builder.JBossXBBuilder;
 
@@ -68,6 +70,16 @@
       ElementBinding elementBinding = schemaBinding.getElement(elementName);
       assertNotNull(elementBinding);
       
-      // TODO check the collection model
+      // TODO
+      //ModelGroupBinding group = (ModelGroupBinding) elementBinding.getType().getParticle().getTerm();
+      //assertRepeatableElementBinding(group);
    }
+
+   protected void assertRepeatableElementBinding(ModelGroupBinding group)
+   {
+      assertEquals(1, group.getParticles().size());
+      ParticleBinding p = group.getParticles().iterator().next();
+      assertTrue(p.getTerm().isElement());
+      assertTrue(p.getMaxOccursUnbounded());
+   }
 }




More information about the jboss-svn-commits mailing list