Author: bimargulies
Date: Thu Apr  2 00:05:22 2009
New Revision: 761113

URL: http://svn.apache.org/viewvc?rev=761113&view=rev
Log:
CXF-2139, I hope.

Modified:
    
cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java

Modified: 
cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java?rev=761113&r1=761112&r2=761113&view=diff
==============================================================================
--- 
cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
 (original)
+++ 
cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
 Thu Apr  2 00:05:22 2009
@@ -47,7 +47,6 @@
 import org.apache.ws.commons.schema.XmlSchemaObject;
 import org.apache.ws.commons.schema.XmlSchemaObjectCollection;
 import org.apache.ws.commons.schema.XmlSchemaObjectTable;
-import org.apache.ws.commons.schema.XmlSchemaSequence;
 import org.apache.ws.commons.schema.XmlSchemaSimpleType;
 import org.apache.ws.commons.schema.XmlSchemaType;
 
@@ -389,9 +388,8 @@
      */
     public void domDeserializerFunction(QName name, XmlSchemaComplexType type) 
{
         utils = new JavascriptUtils(code);
-        XmlSchemaSequence sequence = null;
-
-        sequence = XmlSchemaUtils.getSequence(type);
+        
+        List<XmlSchemaObject> contentElements = 
XmlSchemaUtils.getContentElements(type, xmlSchemaCollection);
         String typeObjectName = nameManager.getJavascriptName(name);
         code.append("function " + typeObjectName + "_deserialize (cxfjsutils, 
element) {\n");
         // create the object we are deserializing into.
@@ -401,18 +399,19 @@
 
         utils.appendLine("var item;");
 
-        for (int i = 0; i < sequence.getItems().getCount(); i++) {
+        int nContentElements = contentElements.size();
+        for (int i = 0; i < contentElements.size(); i++) {
+            XmlSchemaObject contentElement = contentElements.get(i);
             utils.appendLine("cxfjsutils.trace('curElement: ' + 
cxfjsutils.traceElementName(curElement));");
-            XmlSchemaObject thing = sequence.getItems().getItem(i);
-            ParticleInfo itemInfo = ParticleInfo.forLocalItem(thing,
+            ParticleInfo itemInfo = ParticleInfo.forLocalItem(contentElement,
                                                               
schemaInfo.getSchema(),
                                                               
xmlSchemaCollection, 
                                                               
prefixAccumulator, 
                                                               
type.getQName()); 
             if (itemInfo.isAny()) {
                 ParticleInfo nextItem = null;
-                if (i != sequence.getItems().getCount() - 1) {
-                    XmlSchemaObject nextThing = sequence.getItems().getItem(i 
+ 1);
+                if (i != nContentElements - 1) {
+                    XmlSchemaObject nextThing = contentElements.get(i + 1);
                     nextItem = ParticleInfo.forLocalItem(nextThing, 
                                                          
schemaInfo.getSchema(), 
                                                          xmlSchemaCollection, 
@@ -426,7 +425,7 @@
                 }
                 deserializeAny(type, itemInfo, nextItem);
             } else {
-                deserializeElement(type, thing);
+                deserializeElement(type, contentElement);
             }
         }
         utils.appendLine("return newobject;");


Reply via email to