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