svn commit: r566255 - /lenya/trunk/src/java/org/apache/lenya/util/Query.java

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Wed Aug 15 09:41:50 2007
New Revision: 566255

URL: http://svn.apache.org/viewvc?view=rev&rev=566255
Log:
Replaced String.split() by StringTokenizer (performance)

Modified:
    lenya/trunk/src/java/org/apache/lenya/util/Query.java

Modified: lenya/trunk/src/java/org/apache/lenya/util/Query.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/util/Query.java?view=diff&rev=566255&r1=566254&r2=566255
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/util/Query.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/util/Query.java Wed Aug 15 09:41:50 2007
@@ -20,6 +20,7 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.StringTokenizer;
 
 /**
  * <p>
@@ -66,12 +67,13 @@
     protected void analyze() {
         if (this.key2value == null) {
             this.key2value = new HashMap();
-            String[] pairs = this.string.split(getPairDelimiter());
-            for (int i = 0; i < pairs.length; i++) {
-                String[] keyAndValue = pairs[i].split(getKeyValueDelimiter());
-                if (keyAndValue.length == 2) {
-                    final String key = keyAndValue[0];
-                    final String value = keyAndValue[1];
+            StringTokenizer tokenizer = new StringTokenizer(this.string, getPairDelimiter());
+            while (tokenizer.hasMoreTokens()) {
+                String token = tokenizer.nextToken();
+                StringTokenizer keyValueTokenizer = new StringTokenizer(token, getKeyValueDelimiter());
+                if (keyValueTokenizer.countTokens() == 2) {
+                    final String key = keyValueTokenizer.nextToken();
+                    final String value = keyValueTokenizer.nextToken();
                     this.key2value.put(key, value);
                 }
             }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.