[jboss-svn-commits] JBoss Common SVN: r3005 - in jbossxb/trunk/src: test/java/org/jboss/test/xb/builder/object/type/xmlanyelement/test and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 3 07:49:09 EST 2009


Author: alex.loubyansky at jboss.com
Date: 2009-03-03 07:49:08 -0500 (Tue, 03 Mar 2009)
New Revision: 3005

Modified:
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/UnorderedSequenceBinding.java
   jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/xmlanyelement/test/ElementWildcardUnitTestCase.java
Log:
JBXB-186

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/UnorderedSequenceBinding.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/UnorderedSequenceBinding.java	2009-03-02 10:38:02 UTC (rev 3004)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/UnorderedSequenceBinding.java	2009-03-03 12:49:08 UTC (rev 3005)
@@ -113,6 +113,7 @@
    {
       return new Cursor(particle)
       {
+         private ElementBinding element;
          private ParticleBinding curParticle;
          private int occurence;
          private boolean wildcardContent;
@@ -149,7 +150,7 @@
             {
                throw new JBossXBRuntimeException("The cursor in all group has not been positioned yet!");
             }
-            return (ElementBinding) curParticle.getTerm();
+            return element;
          }
 
          @Override
@@ -249,6 +250,7 @@
             if (curParticle != null)
             {
                ++occurence;
+               element = (ElementBinding) curParticle.getTerm();
                groupStack = addItem(groupStack, this);
                if (trace)
                   log.trace("found " + qName + " in " + getModelGroup());
@@ -277,6 +279,7 @@
                   if (groupStackSize != groupStack.size())
                   {
                      ++occurence;
+                     element = null;
                      curParticle = particle;
                      groupStack = addItem(groupStack, this);
                      return groupStack;
@@ -292,6 +295,7 @@
                {
                   ++occurence;
                   curParticle = particle;
+                  element = e;
                   wildcardContent = true;
                   groupStack = addItem(groupStack, this);
                   return groupStack;

Modified: jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/xmlanyelement/test/ElementWildcardUnitTestCase.java
===================================================================
--- jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/xmlanyelement/test/ElementWildcardUnitTestCase.java	2009-03-02 10:38:02 UTC (rev 3004)
+++ jbossxb/trunk/src/test/java/org/jboss/test/xb/builder/object/type/xmlanyelement/test/ElementWildcardUnitTestCase.java	2009-03-03 12:49:08 UTC (rev 3005)
@@ -94,4 +94,25 @@
       assertNotNull(particleHandler);
       assertTrue(particleHandler instanceof PropertyWildcardHandler);
    }
+   
+   public void testUnmarshalWildcardInUnroderedSequence() throws Exception
+   {
+      boolean useUnorderedSequence = JBossXBBuilder.isUseUnorderedSequence();
+      JBossXBBuilder.setUseUnorderedSequence(true);
+      try
+      {
+         SchemaBinding schema = JBossXBBuilder.build(ElementWildcard.class, true);
+         Object o = unmarshal(getRootName() + ".xml", schema);
+         assertNotNull(o);
+         assertTrue(o instanceof ElementWildcard);
+         ElementWildcard ew = (ElementWildcard) o;
+         Element element = ew.getWildcard();
+         assertNotNull(element);
+         assertEquals("test-element", element.getNodeName());
+      }
+      finally
+      {
+         JBossXBBuilder.setUseUnorderedSequence(useUnorderedSequence);
+      }
+   }
 }




More information about the jboss-svn-commits mailing list