[jboss-svn-commits] JBoss Common SVN: r2185 - jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Dec 4 11:33:58 EST 2006
Author: alex.loubyansky at jboss.com
Date: 2006-12-04 11:33:56 -0500 (Mon, 04 Dec 2006)
New Revision: 2185
Modified:
jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SundayContentHandler.java
Log:
to add values from the ValueList use the handlers that were supposed to be used when the values were added to the list
Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SundayContentHandler.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SundayContentHandler.java 2006-11-29 01:01:50 UTC (rev 2184)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SundayContentHandler.java 2006-12-04 16:33:56 UTC (rev 2185)
@@ -37,6 +37,7 @@
import org.jboss.xb.binding.group.ValueList;
import org.jboss.xb.binding.group.ValueListHandler;
import org.jboss.xb.binding.group.ValueListInitializer;
+import org.jboss.xb.binding.group.ValueList.NonRequiredValue;
import org.jboss.xb.binding.introspection.FieldInfo;
import org.jboss.xb.binding.metadata.CharactersMetaData;
import org.jboss.xb.binding.metadata.PropertyMetaData;
@@ -683,19 +684,36 @@
if(particle.getTerm().isWildcard())
{
- ParticleHandler handler = ((WildcardBinding)particle.getTerm()).getWildcardHandler();
- if(handler == null)
+ ParticleHandler handler = null;
+/*
+ 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);
+ NonRequiredValue value = valueList.getValue(i);
+ col.add(value.value);
+
+ if(handler != value.handler)
+ {
+ if(handler == null && i == 0)
+ {
+ handler = (ParticleHandler) value.handler;
+ }
+ else
+ {
+ throw new JBossXBRuntimeException("Handlers in the list are supposed to be the same.");
+ }
+ }
}
+
StackItem parentItem = stack.peek(1);
handler.setParent(parentItem.o, col, qName, particle, parentItem.particle);
}
More information about the jboss-svn-commits
mailing list