[jboss-svn-commits] JBoss Common SVN: r2045 - in jbossxb/trunk/src/main/java/org/jboss/xb/binding: . group sunday/unmarshalling sunday/unmarshalling/impl/runtime

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 20 09:50:58 EDT 2006


Author: alex.loubyansky at jboss.com
Date: 2006-09-20 09:50:53 -0400 (Wed, 20 Sep 2006)
New Revision: 2045

Modified:
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/GenericValueContainer.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/UnmarshallerImpl.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueList.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueListHandler.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueListInitializer.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/JBXB76ContentHandler.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/impl/runtime/RtElementHandler.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/impl/runtime/RtUtil.java
Log:
fixed start/end repeatable particle for wildcards, other fixes for JBXB-76

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/GenericValueContainer.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/GenericValueContainer.java	2006-09-19 22:37:25 UTC (rev 2044)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/GenericValueContainer.java	2006-09-20 13:50:53 UTC (rev 2045)
@@ -40,30 +40,6 @@
       {
          return array(null, null, itemClass);
       }
-
-      public static GenericValueContainer child(final Class childClass)
-      {
-         return new GenericValueContainer()
-         {
-            private Object child;
-            
-            public void addChild(QName name, Object value)
-            {
-               this.child = value;
-            }
-
-            public Class getTargetClass()
-            {
-               return childClass;
-            }
-
-            public Object instantiate()
-            {
-               return child;
-            }
-            
-         };
-      }
       
       public static GenericValueContainer array(final Class wrapperClass,
                                                 final String itemProperty,

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/UnmarshallerImpl.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/UnmarshallerImpl.java	2006-09-19 22:37:25 UTC (rev 2044)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/UnmarshallerImpl.java	2006-09-20 13:50:53 UTC (rev 2045)
@@ -28,8 +28,8 @@
 import org.jboss.xb.binding.parser.sax.SaxJBossXBParser;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
-import org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler;
-//import org.jboss.xb.binding.sunday.unmarshalling.JBXB76ContentHandler;
+//import org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler;
+import org.jboss.xb.binding.sunday.unmarshalling.JBXB76ContentHandler;
 import org.jboss.xb.binding.metadata.unmarshalling.DocumentBinding;
 import org.xml.sax.EntityResolver;
 import org.xml.sax.ErrorHandler;
@@ -109,42 +109,42 @@
 
    public Object unmarshal(String xml, SchemaBinding schemaBinding) throws JBossXBException
    {
-      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaBinding);
+      JBossXBParser.ContentHandler cHandler = new JBXB76ContentHandler(schemaBinding);
       parser.parse(xml, cHandler);
       return cHandler.getRoot();
    }
 
    public Object unmarshal(Reader xmlReader, SchemaBinding schemaBinding) throws JBossXBException
    {
-      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaBinding);
+      JBossXBParser.ContentHandler cHandler = new JBXB76ContentHandler(schemaBinding);
       parser.parse(xmlReader, cHandler);
       return cHandler.getRoot();
    }
 
    public Object unmarshal(InputStream xmlStream, SchemaBinding schemaBinding) throws JBossXBException
    {
-      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaBinding);
+      JBossXBParser.ContentHandler cHandler = new JBXB76ContentHandler(schemaBinding);
       parser.parse(xmlStream, cHandler);
       return cHandler.getRoot();
    }
 
    public Object unmarshal(String xml, SchemaBindingResolver schemaResolver) throws JBossXBException
    {
-      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaResolver);
+      JBossXBParser.ContentHandler cHandler = new JBXB76ContentHandler(schemaResolver);
       parser.parse(xml, cHandler);
       return cHandler.getRoot();
    }
 
    public Object unmarshal(Reader xmlReader, SchemaBindingResolver schemaResolver) throws JBossXBException
    {
-      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaResolver);
+      JBossXBParser.ContentHandler cHandler = new JBXB76ContentHandler(schemaResolver);
       parser.parse(xmlReader, cHandler);
       return cHandler.getRoot();
    }
 
    public Object unmarshal(InputStream xmlStream, SchemaBindingResolver schemaResolver) throws JBossXBException
    {
-      JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaResolver);
+      JBossXBParser.ContentHandler cHandler = new JBXB76ContentHandler(schemaResolver);
       parser.parse(xmlStream, cHandler);
       return cHandler.getRoot();
    }

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueList.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueList.java	2006-09-19 22:37:25 UTC (rev 2044)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueList.java	2006-09-20 13:50:53 UTC (rev 2045)
@@ -22,13 +22,18 @@
 package org.jboss.xb.binding.group;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import javax.xml.namespace.QName;
+
+import org.jboss.xb.binding.JBossXBRuntimeException;
+import org.jboss.xb.binding.metadata.PropertyMetaData;
 import org.jboss.xb.binding.sunday.unmarshalling.AttributeBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.ParticleBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.CharactersHandler;
+import org.jboss.xb.binding.sunday.unmarshalling.impl.runtime.RtUtil;
 
 /**
  * @author <a href="mailto:alex at jboss.org">Alexey Loubyansky</a>
@@ -103,32 +108,40 @@
 
    void addTermValue(QName qName, ParticleBinding binding, Object handler, Object value, ParticleBinding parentParticle)
    {
-      if(binding.isRepeatable())
+      setNonRequiredValue(qName, binding, handler, value, parentParticle);
+   }
+
+   void addRepeatableTermValue(QName qName, ParticleBinding binding, Object handler, Object value, ParticleBinding parentParticle)
+   {
+      NonRequiredValue last = (NonRequiredValue) (nonRequiredValues.isEmpty() ? null : nonRequiredValues.get(nonRequiredValues.size() - 1));
+      if (last == null || last.binding != binding)
       {
-         NonRequiredValue last = (NonRequiredValue)(nonRequiredValues.isEmpty() ?
-            null :
-            nonRequiredValues.get(nonRequiredValues.size() - 1)
-            );
-
-         if(last == null || last.binding != binding)
+         Collection col;
+         PropertyMetaData propMetaData = binding.getTerm().getPropertyMetaData();
+         if(propMetaData != null && propMetaData.getCollectionType() != null)
          {
-            value = Collections.singletonList(value);
-            setNonRequiredValue(qName, binding, handler, value, parentParticle);
+            Class colCls = RtUtil.loadClass(propMetaData.getCollectionType(), true);
+            try
+            {
+               col = (Collection) colCls.newInstance();
+            }
+            catch (Exception e)
+            {
+               throw new JBossXBRuntimeException("Failed to create an instance of " + colCls.getName() + " for property " + propMetaData.getName());
+            }
          }
          else
          {
-            List list = (List)last.value;
-            if(list.size() == 1)
-            {
-               list = new ArrayList(list);
-               last.value = list;
-            }
-            list.add(value);
+            col = new ArrayList();
          }
+         
+         col.add(value);
+         setNonRequiredValue(qName, binding, handler, col, parentParticle);
       }
       else
       {
-         setNonRequiredValue(qName, binding, handler, value, parentParticle);
+         Collection col = (Collection) last.value;
+         col.add(value);
       }
    }
 

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueListHandler.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueListHandler.java	2006-09-19 22:37:25 UTC (rev 2044)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueListHandler.java	2006-09-20 13:50:53 UTC (rev 2045)
@@ -26,9 +26,10 @@
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
+
 import org.jboss.util.Classes;
+import org.jboss.xb.binding.GenericValueContainer;
 import org.jboss.xb.binding.JBossXBRuntimeException;
 import org.jboss.xb.binding.sunday.unmarshalling.AttributeBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.AttributeHandler;
@@ -36,6 +37,7 @@
 import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.ParticleBinding;
 import org.jboss.xb.binding.sunday.unmarshalling.ParticleHandler;
+import org.jboss.xb.binding.sunday.unmarshalling.TermBinding;
 
 /**
  * @author <a href="mailto:alex at jboss.org">Alexey Loubyansky</a>
@@ -195,11 +197,22 @@
                      ParticleHandler pHandler = (ParticleHandler)handler;
                      if(childParticle.isRepeatable())
                      {
-                        List list = (List)valueEntry.value;
-                        for(int listInd = 0; listInd < list.size(); ++listInd)
+                        TermBinding term = childParticle.getTerm();
+                        if(!(o instanceof GenericValueContainer) &&
+                              term.getAddMethodMetaData() == null &&
+                              term.getMapEntryMetaData() == null &&
+                              term.getPutMethodMetaData() == null)
                         {
-                           pHandler.setParent(o, list.get(listInd), valueEntry.qName, childParticle, particle);
+                           pHandler.setParent(o, valueEntry.value, valueEntry.qName, childParticle, particle);
                         }
+                        else
+                        {
+                           Collection col = (Collection)valueEntry.value;
+                           for(Iterator iter = col.iterator(); iter.hasNext();)
+                           {
+                              pHandler.setParent(o, iter.next(), valueEntry.qName, childParticle, particle);
+                           }
+                        }
                      }
                      else
                      {
@@ -351,7 +364,7 @@
    class FACTORY
    {
       /**
-       * Collects children and adds them all at the time of newInstance is called.
+       * Collects children and adds them all at the time the newInstance is called.
        * 
        * @param parent  the parent object
        * @return the parent object
@@ -377,29 +390,23 @@
                         ParticleHandler pHandler = (ParticleHandler)handler;
                         if(childParticle.isRepeatable())
                         {
-                           List list = (List)valueEntry.value;
-                           //System.out.println("newInstance: " + childParticle.getTerm() + "=" + list);
-                           for(int listInd = 0; listInd < list.size(); ++listInd)
+                           if(parentValueList != null)
                            {
-                              if(parentValueList != null)
-                              {
-                                 parentValueList.addTermValue(valueEntry.qName, childParticle, pHandler, list.get(listInd), null);
-                              }
-                              else
-                              {
-                                 pHandler.setParent(parent, list.get(listInd), valueEntry.qName, childParticle, valueEntry.parentParticle);
-                              }
+                              parentValueList.addTermValue(valueEntry.qName, childParticle, pHandler, valueEntry.value, null);
                            }
-
-/*                           if(parentValueList != null)
-                           {
-                              parentValueList.addTermValue(valueEntry.qName, childParticle, pHandler, list, null);
-                           }
                            else
                            {
-                              pHandler.setParent(parent, list, valueEntry.qName, childParticle, valueEntry.parentParticle);
+                              Collection col = (Collection) valueEntry.value;
+                              //System.out.println("newInstance: " + childParticle.getTerm() + "=" + col);
+                              pHandler.setParent(parent, col, valueEntry.qName, childParticle, valueEntry.parentParticle);
+
+/*                              for (Iterator iter = col.iterator(); iter.hasNext();)
+                              {
+                                 pHandler.setParent(parent, iter.next(), valueEntry.qName, childParticle,
+                                       valueEntry.parentParticle);
+                              }                              
+*/
                            }
-*/                           
                         }
                         else
                         {
@@ -460,7 +467,30 @@
             }
          };
       }
+      
+      public static ValueListHandler child()
+      {
+         return new ValueListHandler()
+         {
+            public Object newInstance(ParticleBinding particle, ValueList valueList)
+            {
+               if(valueList.size() > 1)
+               {
+                  String msg = "Expected only one child for " + particle.getTerm() + " but got:";
+                  for(int i = 0; i < valueList.size(); ++i)
+                  {
+                     ValueList.NonRequiredValue valueEntry = valueList.getValue(0);
+                     msg += " " + valueEntry.value + ";";
+                  }
+                  throw new JBossXBRuntimeException(msg);
+               }
+               
+               ValueList.NonRequiredValue valueEntry = valueList.getValue(0);
+               return valueEntry.value;
+            }            
+         };
+      }
    };
-   
+      
    Object newInstance(ParticleBinding particle, ValueList valueList);
 }

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueListInitializer.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueListInitializer.java	2006-09-19 22:37:25 UTC (rev 2044)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/group/ValueListInitializer.java	2006-09-20 13:50:53 UTC (rev 2045)
@@ -119,7 +119,14 @@
       Integer index = (Integer)elemIndex.get(qName);
       if(index == null)
       {
-         valueList.addTermValue(qName, binding, handler, value, parentParticle);
+         if(binding.isRepeatable())
+         {
+            valueList.addRepeatableTermValue(qName, binding, handler, value, parentParticle);
+         }
+         else
+         {
+            valueList.addTermValue(qName, binding, handler, value, parentParticle);
+         }
       }
       else
       {

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/JBXB76ContentHandler.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/JBXB76ContentHandler.java	2006-09-19 22:37:25 UTC (rev 2044)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/JBXB76ContentHandler.java	2006-09-20 13:50:53 UTC (rev 2045)
@@ -22,6 +22,7 @@
 package org.jboss.xb.binding.sunday.unmarshalling;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 import java.util.ListIterator;
 import javax.xml.namespace.QName;
@@ -117,7 +118,18 @@
          }
          else
          {
-            endParticle(item, endName, 1);
+            if(!item.ended) // could be ended if it's a choice
+            {
+               endParticle(item, endName, 1);
+            }
+
+            ParticleBinding currentParticle = item.cursor.getCurrentParticle();
+            TermBinding term = currentParticle.getTerm();
+            if(term.isWildcard() && currentParticle.isRepeatable())
+            {
+               endRepeatableParticle(currentParticle);
+            }
+
             pop();
             if(item.particle.isRepeatable())
             {
@@ -151,6 +163,7 @@
       QName startName = localName.length() == 0 ? new QName(qName) : new QName(namespaceURI, localName);
       ParticleBinding particle = null;
       boolean repeated = false;
+      boolean repeatedParticle = false;
       StackItem item = null;
       ModelGroupBinding.Cursor cursor = null; // used only when particle is a wildcard
       SchemaBinding schemaBinding = schema;
@@ -264,10 +277,13 @@
                }
 
                // todo review
-               if(cursor.isPositioned() && cursor.getParticle().getTerm() instanceof ChoiceBinding)
+               if(!item.ended && cursor.isPositioned() && cursor.getParticle().getTerm() instanceof ChoiceBinding)
                {
                   endParticle(item, startName, 1);
-                  pop();
+                  if(!item.particle.isRepeatable()) // this is for repeatable choices that should stay on the stack
+                  {
+                     pop();
+                  }
                   continue;
                }
 
@@ -276,11 +292,26 @@
                List newCursors = cursor.startElement(startName, atts);
                if(newCursors.isEmpty())
                {
-                  endParticle(item, startName, 1);
+                  if(!item.ended) // this is for choices
+                  {
+                     endParticle(item, startName, 1);
+                  }
                   pop();
                }
                else
                {
+                  if(item.ended) // for repeatable choices
+                  {
+                     if(!item.particle.isRepeatable())
+                     {
+                        throw new JBossXBRuntimeException("The particle expected to be repeatable but it's not: " + item.particle.getTerm());
+                     }
+                     item.reset();
+                     
+                     ParticleHandler handler = getHandler(item.particle);
+                     item.o = handler.startParticle(stack.peek(1).o, startName, item.particle, atts, nsRegistry);
+                  }
+                  
                   ParticleBinding curParticle = cursor.getCurrentParticle();
                   if(curParticle != prevParticle)
                   {
@@ -294,6 +325,10 @@
                         startRepeatableParticle(startName, curParticle);
                      }
                   }
+                  else
+                  {
+                     repeatedParticle = true;
+                  }
 
                   // push all except the last one
                   Object o = item.o;
@@ -333,12 +368,11 @@
                );
             }
 
-            particle =
-               new ParticleBinding(element,
-                  particle.getMinOccurs(),
-                  particle.getMaxOccurs(),
-                  particle.getMaxOccursUnbounded()
-               );
+            if(!repeatedParticle && particle.isRepeatable())
+            {
+               startRepeatableParticle(startName, particle);
+            }
+            particle = new ParticleBinding(element/*, particle.getMinOccurs(), particle.getMaxOccurs(), particle.getMaxOccursUnbounded()*/);
          }
 
          ElementBinding element = (ElementBinding)particle.getTerm();
@@ -574,7 +608,7 @@
 
    private void startRepeatableParticle(QName startName, ParticleBinding particle)
    {
-      //System.out.println(" start repeatable particle: " + particle.getTerm());
+      //System.out.println(" start repeatable (" + stack.size() + "): " + particle.getTerm());
       
       TermBinding term = particle.getTerm();
       if(term.isSkip())
@@ -597,14 +631,40 @@
 
    private void endRepeatableParticle(ParticleBinding particle)
    {
-      //System.out.println(" end repeatable particle: " + particle.getTerm());
+      //System.out.println(" end repeatable (" + stack.size() + "): " + particle.getTerm());
 
       StackItem item = stack.peek();
       ValueList valueList = item.repeatableParticleValue;
       if(valueList != null)
       {
-         valueList.getHandler().newInstance(particle, valueList);
          item.repeatableParticleValue = null;
+         if(valueList.size() == 0)
+         {
+            return;
+         }
+            
+         if(particle.getTerm().isWildcard())
+         {
+            ParticleHandler handler = ((WildcardBinding)particle.getTerm()).getWildcardHandler();
+            if(handler == null)
+            {
+               handler = defParticleHandler;
+            }
+
+            // that's not good. some elements can be handled as "unresolved" and some as "resolved"
+            QName qName = valueList.getValue(0).qName;
+            Collection col = new ArrayList();
+            for(int i = 0; i < valueList.size(); ++i)
+            {
+               col.add(valueList.getValue(i).value);
+            }
+            StackItem parentItem = stack.peek(1);
+            handler.setParent(parentItem.o, col, qName, particle, parentItem.particle);
+         }
+         else
+         {
+            valueList.getHandler().newInstance(particle, valueList);
+         }
       }
    }
 
@@ -924,6 +984,7 @@
       if(stack.size() == 1)
       {
          root = o;
+         stack.clear();
       }
    }
 
@@ -936,6 +997,10 @@
    {
       if(parent instanceof ValueList /*&& !particle.getTerm().isSkip()*/)
       {
+         if(parent == o)
+         {            
+            return;
+         }
          ValueList valueList = (ValueList)parent;
          valueList.getInitializer().addTermValue(endName, particle, handler, valueList, o, parentParticle);
       }

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/impl/runtime/RtElementHandler.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/impl/runtime/RtElementHandler.java	2006-09-19 22:37:25 UTC (rev 2044)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/impl/runtime/RtElementHandler.java	2006-09-20 13:50:53 UTC (rev 2045)
@@ -25,7 +25,6 @@
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Map;
 import javax.xml.namespace.NamespaceContext;
@@ -254,7 +253,7 @@
             ElementBinding parentElement = (ElementBinding)parentTerm;
             TypeBinding parentType = parentElement.getType();
             wildcard = parentType.getWildcard();
-            // todo: there are should be a better way of checking this
+            // there should be a better way of checking this
             if(wildcard != null && parentType.getElement(qName) != null)
             {
                wildcard = null;
@@ -318,7 +317,7 @@
                   log.trace("setParent " + qName + " metadata set " + propName);
                }
 
-               if(particle.isRepeatable())
+/*               if(particle.isRepeatable())
                {
                   RtUtil.add(owner, o, propName, colType,
                      term.getSchema().isIgnoreUnresolvedFieldOrClass(),
@@ -327,11 +326,11 @@
                }
                else
                {
-                  RtUtil.set(owner, o, propName, colType,
+*/                  RtUtil.set(owner, o, propName, colType,
                      term.getSchema().isIgnoreUnresolvedFieldOrClass(),
                      term.getValueAdapter()
                   );
-               }
+//               }
             }
          }
       }
@@ -528,8 +527,8 @@
             else if(Collection.class.isAssignableFrom(fieldType))
             {
                //System.out.println("GeenericValueContainer.child: " + elementName);
-               //o = GenericValueContainer.FACTORY.child(fieldType);
-               o = new ArrayList();
+               o = new ValueListInitializer().newValueList(ValueListHandler.FACTORY.child(), Collection.class);
+               //o = new ArrayList();
             }
             else
             {

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/impl/runtime/RtUtil.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/impl/runtime/RtUtil.java	2006-09-19 22:37:25 UTC (rev 2044)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/impl/runtime/RtUtil.java	2006-09-20 13:50:53 UTC (rev 2045)
@@ -196,6 +196,7 @@
          //System.out.println("col.add(value): " + prop + "=" + value);
          col.add(value);
       }
+/*
       else if(fieldType.isArray() &&
          value != null &&
          (fieldType.getComponentType().isAssignableFrom(value.getClass()) ||
@@ -220,6 +221,7 @@
          Array.set(arr, length, value);
          fieldInfo.setValue(o, arr);
       }
+*/      
       else
       {
          // todo: unmarshalling should produce the right type instead




More information about the jboss-svn-commits mailing list