You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by re...@apache.org on 2009/04/22 08:07:42 UTC
svn commit: r767387 -
/harmony/enhanced/classlib/trunk/modules/prefs/src/main/java/java/util/prefs/AbstractPreferences.java
Author: regisxu
Date: Wed Apr 22 06:07:41 2009
New Revision: 767387
URL: http://svn.apache.org/viewvc?rev=767387&view=rev
Log:
Apply patch for HARMONY-6166: [classlib][prefs] StringTokenizer is discouraged in AbstractPreferences
Modified:
harmony/enhanced/classlib/trunk/modules/prefs/src/main/java/java/util/prefs/AbstractPreferences.java
Modified: harmony/enhanced/classlib/trunk/modules/prefs/src/main/java/java/util/prefs/AbstractPreferences.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/prefs/src/main/java/java/util/prefs/AbstractPreferences.java?rev=767387&r1=767386&r2=767387&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/prefs/src/main/java/java/util/prefs/AbstractPreferences.java (original)
+++ harmony/enhanced/classlib/trunk/modules/prefs/src/main/java/java/util/prefs/AbstractPreferences.java Wed Apr 22 06:07:41 2009
@@ -28,7 +28,6 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.StringTokenizer;
import java.util.TreeSet;
import org.apache.harmony.luni.util.Base64;
@@ -560,18 +559,23 @@
private AbstractPreferences nodeImpl(String path, boolean createNew)
throws BackingStoreException {
- StringTokenizer st = new StringTokenizer(path, "/"); //$NON-NLS-1$
+ String[] names = path.split("/");//$NON-NLS-1$
AbstractPreferences currentNode = this;
AbstractPreferences temp = null;
- while (st.hasMoreTokens() && null != currentNode) {
- String name = st.nextToken();
- synchronized (currentNode.lock) {
- temp = currentNode.cachedNode.get(name);
- if (temp == null) {
- temp = getNodeFromBackend(createNew, currentNode, name);
+ if (null != currentNode) {
+ for (int i = 0; i < names.length; i++) {
+ String name = names[i];
+ synchronized (currentNode.lock) {
+ temp = currentNode.cachedNode.get(name);
+ if (temp == null) {
+ temp = getNodeFromBackend(createNew, currentNode, name);
+ }
+ }
+ currentNode = temp;
+ if (null == currentNode) {
+ break;
}
}
- currentNode = temp;
}
return currentNode;
}