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 2009/09/22 06:00:52 UTC
svn commit: r817494 -
/xerces/java/trunk/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
Author: mrglavas
Date: Tue Sep 22 04:00:52 2009
New Revision: 817494
URL: http://svn.apache.org/viewvc?rev=817494&view=rev
Log:
Reduce the cost of reset(). If we end up having to read from the component manager more than once make sure that we use a cached default value for the SchemaDVFactory if one was not explicitly provided. This eliminates repeated calls to SchemaDVFactory.getInstance() which can be very expensive.
Modified:
xerces/java/trunk/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
Modified: xerces/java/trunk/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java?rev=817494&r1=817493&r2=817494&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java Tue Sep 22 04:00:52 2009
@@ -37,7 +37,6 @@
import org.apache.xerces.impl.Constants;
import org.apache.xerces.impl.XMLEntityManager;
import org.apache.xerces.impl.XMLErrorReporter;
-import org.apache.xerces.impl.dv.DVFactoryException;
import org.apache.xerces.impl.dv.InvalidDatatypeValueException;
import org.apache.xerces.impl.dv.SchemaDVFactory;
import org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl;
@@ -250,6 +249,7 @@
private SubstitutionGroupHandler fSubGroupHandler;
private CMBuilder fCMBuilder;
private XSDDescription fXSDDescription = new XSDDescription();
+ private SchemaDVFactory fDefaultSchemaDVFactory;
private WeakHashMap fJAXPCache;
private Locale fLocale = Locale.getDefault();
@@ -985,7 +985,10 @@
} catch (XMLConfigurationException e) {
}
if (dvFactory == null) {
- dvFactory = SchemaDVFactory.getInstance();
+ if (fDefaultSchemaDVFactory == null) {
+ fDefaultSchemaDVFactory = SchemaDVFactory.getInstance();
+ }
+ dvFactory = fDefaultSchemaDVFactory;
}
fSchemaHandler.setDVFactory(dvFactory);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org