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