You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2009/06/08 23:04:00 UTC

svn commit: r782782 - /openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/HintHandler.java

Author: ppoddar
Date: Mon Jun  8 21:04:00 2009
New Revision: 782782

URL: http://svn.apache.org/viewvc?rev=782782&view=rev
Log:
OPENJPA-900: Remove hint key ordering for performance overhead

Modified:
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/HintHandler.java

Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/HintHandler.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/HintHandler.java?rev=782782&r1=782781&r2=782782&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/HintHandler.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/HintHandler.java Mon Jun  8 21:04:00 2009
@@ -167,7 +167,7 @@
      */
     public Set<String> getSupportedHints() {
         if (_supportedKeys == null) {
-            _supportedKeys = new TreeSet<String>(new HintKeyComparator());
+            _supportedKeys = new TreeSet<String>();
             _supportedPrefixes = new TreeSet<String>();
             
             _supportedKeys.addAll(Reflection.getFieldValues(
@@ -176,7 +176,8 @@
                 String.class));
 
             _supportedKeys.addAll(addPrefix(PREFIX_FETCHPLAN, 
-                Reflection.getBeanStylePropertyNames(_fConfig.getClass())));
+                Reflection.getBeanStylePropertyNames(
+                      owner.getFetchPlan().getClass())));
 
             _supportedKeys.addAll(JavaxHintsMap.keySet());
 
@@ -284,24 +285,6 @@
         return objectSet;
     }
 
-    public static class HintKeyComparator implements Comparator<String> {
-        public int compare(String s1, String s2) {
-            if (getPrefixOf(s1).equals(getPrefixOf(s2))) {
-                int n1 = countDots(s1);
-                int n2 = countDots(s2);
-                return (n1 == n2) ? s1.compareTo(s2) : (n1 - n2);
-            } else
-                return s1.compareTo(s2);
-        }
-
-        public int countDots(String s) {
-            if (s == null || s.length() == 0)
-                return 0;
-            int index = s.indexOf(DOT);
-            return (index == -1) ? 0 : countDots(s.substring(index + 1)) + 1;
-        }
-    }
-
     protected String hintToKey(String key) {
         // Let superclass performs key transformation when fPlan.setHint() 
         // is called.
@@ -316,3 +299,4 @@
         return result;
     }
 }
+