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 2008/10/14 18:11:23 UTC

svn commit: r704573 - in /xerces/java/trunk/src/org/apache: xerces/impl/ xerces/impl/dv/dtd/ xerces/jaxp/ xml/serialize/

Author: mrglavas
Date: Tue Oct 14 09:11:22 2008
New Revision: 704573

URL: http://svn.apache.org/viewvc?rev=704573&view=rev
Log:
Minor performance improvement. Iterate over the entries in the map instead 
of the keys. This avoids a redundant table lookup for each value.

Modified:
    xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityManager.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/dtd/XML11DTDDVFactoryImpl.java
    xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java
    xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java
    xerces/java/trunk/src/org/apache/xml/serialize/HTMLSerializer.java
    xerces/java/trunk/src/org/apache/xml/serialize/XMLSerializer.java

Modified: xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityManager.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityManager.java?rev=704573&r1=704572&r2=704573&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityManager.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityManager.java Tue Oct 14 09:11:22 2008
@@ -1386,10 +1386,11 @@
 
         // copy declared entities
         if (fDeclaredEntities != null) {
-            java.util.Enumeration keys = fDeclaredEntities.keys();
-            while (keys.hasMoreElements()) {
-                Object key = keys.nextElement();
-                Object value = fDeclaredEntities.get(key);
+            Iterator entries = fDeclaredEntities.entrySet().iterator();
+            while (entries.hasNext()) {
+                Map.Entry entry = (Map.Entry) entries.next();
+                Object key = entry.getKey();
+                Object value = entry.getValue();
                 fEntities.put(key, value);
             }
         }

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/dtd/XML11DTDDVFactoryImpl.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/dtd/XML11DTDDVFactoryImpl.java?rev=704573&r1=704572&r2=704573&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/dtd/XML11DTDDVFactoryImpl.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/dtd/XML11DTDDVFactoryImpl.java Tue Oct 14 09:11:22 2008
@@ -17,8 +17,9 @@
 
 package org.apache.xerces.impl.dv.dtd;
 
-import java.util.Enumeration;
 import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Map;
 
 import org.apache.xerces.impl.dv.DatatypeValidator;
 
@@ -58,10 +59,12 @@
      */
     public Hashtable getBuiltInTypes() {
         Hashtable toReturn = (Hashtable)fBuiltInTypes.clone();
-        Enumeration xml11Keys = fXML11BuiltInTypes.keys();
-        while (xml11Keys.hasMoreElements()) {
-            Object key = xml11Keys.nextElement();
-            toReturn.put(key, fXML11BuiltInTypes.get(key));
+        Iterator entries = fXML11BuiltInTypes.entrySet().iterator();
+        while (entries.hasNext()) {
+            Map.Entry entry = (Map.Entry) entries.next();
+            Object key = entry.getKey();
+            Object dv = entry.getValue();
+            toReturn.put(key, dv);
         }
         return toReturn;
     }

Modified: xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java?rev=704573&r1=704572&r2=704573&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java Tue Oct 14 09:11:22 2008
@@ -18,8 +18,9 @@
 package org.apache.xerces.jaxp;
 
 import java.io.IOException;
-import java.util.Enumeration;
 import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Map;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.validation.Schema;
@@ -202,9 +203,11 @@
     private void setFeatures(Hashtable features)
         throws SAXNotSupportedException, SAXNotRecognizedException {
         if (features != null) {
-            for (Enumeration e = features.keys(); e.hasMoreElements();) {
-                String feature = (String)e.nextElement();
-                boolean value = ((Boolean)features.get(feature)).booleanValue();
+            Iterator entries = features.entrySet().iterator();
+            while (entries.hasNext()) {
+                Map.Entry entry = (Map.Entry) entries.next();
+                String feature = (String) entry.getKey();
+                boolean value = ((Boolean) entry.getValue()).booleanValue();
                 domParser.setFeature(feature, value);
             }
         }
@@ -225,9 +228,11 @@
             return;
         }
 
-        for (Enumeration e = dbfAttrs.keys(); e.hasMoreElements();) {
-            String name = (String)e.nextElement();
-            Object val = dbfAttrs.get(name);
+        Iterator entries = dbfAttrs.entrySet().iterator();
+        while (entries.hasNext()) {
+            Map.Entry entry = (Map.Entry) entries.next();
+            String name = (String) entry.getKey();
+            Object val = entry.getValue();
             if (val instanceof Boolean) {
                 // Assume feature
                 domParser.setFeature(name, ((Boolean)val).booleanValue());

Modified: xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java?rev=704573&r1=704572&r2=704573&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/jaxp/SAXParserImpl.java Tue Oct 14 09:11:22 2008
@@ -18,7 +18,6 @@
 package org.apache.xerces.jaxp;
 
 import java.io.IOException;
-import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Iterator;
@@ -211,9 +210,11 @@
     private void setFeatures(Hashtable features)
         throws SAXNotSupportedException, SAXNotRecognizedException {
         if (features != null) {
-            for (Enumeration e = features.keys(); e.hasMoreElements();) {
-                String feature = (String)e.nextElement();
-                boolean value = ((Boolean)features.get(feature)).booleanValue();
+            Iterator entries = features.entrySet().iterator();
+            while (entries.hasNext()) {
+                Map.Entry entry = (Map.Entry) entries.next();
+                String feature = (String) entry.getKey();
+                boolean value = ((Boolean) entry.getValue()).booleanValue();
                 xmlReader.setFeature0(feature, value);
             }
         }

Modified: xerces/java/trunk/src/org/apache/xml/serialize/HTMLSerializer.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xml/serialize/HTMLSerializer.java?rev=704573&r1=704572&r2=704573&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xml/serialize/HTMLSerializer.java (original)
+++ xerces/java/trunk/src/org/apache/xml/serialize/HTMLSerializer.java Tue Oct 14 09:11:22 2008
@@ -36,8 +36,9 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Writer;
-import java.util.Enumeration;
+import java.util.Iterator;
 import java.util.Locale;
+import java.util.Map;
 
 import org.apache.xerces.dom.DOMMessageFormatter;
 import org.w3c.dom.Attr;
@@ -317,18 +318,18 @@
                 preserveSpace = true;
 
             if ( addNSAttr ) {
-                Enumeration keys;
-
-                keys = _prefixes.keys();
-                while ( keys.hasMoreElements() ) {
+                Iterator entries = _prefixes.entrySet().iterator();
+                while (entries.hasNext()) {
                     _printer.printSpace();
-                    value = (String) keys.nextElement();
-                    name = (String) _prefixes.get( value );
+                    Map.Entry entry = (Map.Entry) entries.next();
+                    value = (String) entry.getKey();
+                    name = (String) entry.getValue();
                     if ( name.length() == 0 ) {
                         _printer.printText( "xmlns=\"" );
                         printEscaped( value );
                         _printer.printText( '"' );
-                    } else {
+                    } 
+                    else {
                         _printer.printText( "xmlns:" );
                         _printer.printText( name );
                         _printer.printText( "=\"" );

Modified: xerces/java/trunk/src/org/apache/xml/serialize/XMLSerializer.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xml/serialize/XMLSerializer.java?rev=704573&r1=704572&r2=704573&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xml/serialize/XMLSerializer.java (original)
+++ xerces/java/trunk/src/org/apache/xml/serialize/XMLSerializer.java Tue Oct 14 09:11:22 2008
@@ -33,7 +33,8 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Writer;
-import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.Map;
 
 import org.apache.xerces.dom.DOMMessageFormatter;
 import org.apache.xerces.util.NamespaceSupport;
@@ -336,18 +337,18 @@
             }
 
             if (_prefixes != null) {
-                Enumeration keys;
-
-                keys = _prefixes.keys();
-                while (keys.hasMoreElements()) {
+                Iterator entries = _prefixes.entrySet().iterator();
+                while (entries.hasNext()) {
                     _printer.printSpace();
-                    value = (String) keys.nextElement();
-                    name = (String) _prefixes.get( value );
+                    Map.Entry entry = (Map.Entry) entries.next();
+                    value = (String) entry.getKey();
+                    name = (String) entry.getValue();
                     if (name.length() == 0) {
                         _printer.printText( "xmlns=\"" );
                         printEscaped( value );
                         _printer.printText( '"' );
-                    } else {
+                    } 
+                    else {
                         _printer.printText( "xmlns:" );
                         _printer.printText( name );
                         _printer.printText( "=\"" );



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