You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2007/12/23 02:24:48 UTC

svn commit: r606525 - /xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java

Author: mrglavas
Date: Sat Dec 22 17:24:45 2007
New Revision: 606525

URL: http://svn.apache.org/viewvc?rev=606525&view=rev
Log:
Some minor performance improvements. Replace the 
usage of Vector with the unsynchronized ArrayList.

Modified:
    xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java

Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java?rev=606525&r1=606524&r2=606525&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java Sat Dec 22 17:24:45 2007
@@ -17,6 +17,7 @@
 
 package org.apache.xerces.impl.xs.traversers;
 
+import java.util.ArrayList;
 import java.util.Vector;
 
 import org.apache.xerces.impl.dv.InvalidDatatypeFacetException;
@@ -268,12 +269,12 @@
             }
         }
         // get types from "memberTypes" attribute
-        Vector dTValidators = null;
+        ArrayList dTValidators = null;
         XSSimpleType dv = null;
         XSObjectList dvs;
         if (union && memberTypes != null && memberTypes.size() > 0) {
             int size = memberTypes.size();
-            dTValidators = new Vector(size, 2);
+            dTValidators = new ArrayList(size);
             // for each qname in the list
             for (int i = 0; i < size; i++) {
                 // get the type decl
@@ -284,9 +285,9 @@
                     if (dv.getVariety() == XSSimpleType.VARIETY_UNION) {
                         dvs = dv.getMemberTypes();
                         for (int j = 0; j < dvs.getLength(); j++)
-                            dTValidators.addElement(dvs.item(j));
+                            dTValidators.add(dvs.item(j));
                     } else {
-                        dTValidators.addElement(dv);
+                        dTValidators.add(dv);
                     }
                 }
             }
@@ -303,7 +304,7 @@
                     reportSchemaError(list ? "src-simple-type.3.a" : "src-simple-type.2.a", null, content);
                 }
                 else {
-                    // traver this child to get the base type
+                    // traverse this child to get the base type
                     baseValidator = traverseLocal(content, schemaDoc, grammar);
                 }
                 // get the next element
@@ -311,19 +312,21 @@
             }
             else if (union) {
                 if (dTValidators == null) {
-                    dTValidators = new Vector(2, 2);
+                    dTValidators = new ArrayList(2);
                 }
                 do {
-                    // traver this child to get the member type
+                    // traverse this child to get the member type
                     dv = traverseLocal(content, schemaDoc, grammar);
                     if (dv != null) {
                         // if it's a union, expand it
                         if (dv.getVariety() == XSSimpleType.VARIETY_UNION) {
                             dvs = dv.getMemberTypes();
-                            for (int j = 0; j < dvs.getLength(); j++)
-                                dTValidators.addElement(dvs.item(j));
-                        } else {
-                            dTValidators.addElement(dv);
+                            for (int j = 0; j < dvs.getLength(); j++) {
+                                dTValidators.add(dvs.item(j));
+                            }
+                        } 
+                        else {
+                            dTValidators.add(dv);
                         }
                     }
                     // get the next element
@@ -341,8 +344,8 @@
         else if (union && (memberTypes == null || memberTypes.size() == 0)) {
             // it's an error if "memberTypes" is empty and no "simpleType" appears
             reportSchemaError("src-union-memberTypes-or-simpleTypes", null, child);
-            dTValidators = new Vector(1);
-            dTValidators.addElement(SchemaGrammar.fAnySimpleType);
+            dTValidators = new ArrayList(1);
+            dTValidators.add(SchemaGrammar.fAnySimpleType);
         }
         // error finding "base" or error traversing "simpleType".
         // don't need to report an error, since some error has been reported.
@@ -352,8 +355,8 @@
         // error finding "memberTypes" or error traversing "simpleType".
         // don't need to report an error, since some error has been reported.
         if (union && (dTValidators == null || dTValidators.size() == 0)) {
-            dTValidators = new Vector(1);
-            dTValidators.addElement(SchemaGrammar.fAnySimpleType);
+            dTValidators = new ArrayList(1);
+            dTValidators.add(SchemaGrammar.fAnySimpleType);
         }
         // item type of list types can't have list content
         if (list && isListDatatype(baseValidator)) {
@@ -370,9 +373,7 @@
                     annotations == null? null : new XSObjectListImpl(annotations, annotations.length));
         }
         else if (union) {
-            XSSimpleType[] memberDecls = new XSSimpleType[dTValidators.size()];
-            for (int i = 0; i < dTValidators.size(); i++)
-                memberDecls[i] = (XSSimpleType)dTValidators.elementAt(i);
+            XSSimpleType[] memberDecls = (XSSimpleType[]) dTValidators.toArray(new XSSimpleType[dTValidators.size()]);
             newDecl = schemaFactory.createTypeUnion(name, schemaDoc.fTargetNamespace, (short)finalProperty, memberDecls,
                     annotations == null? null : new XSObjectListImpl(annotations, annotations.length));
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org