Author: awhite
Date: Fri Feb 16 08:02:05 2007
New Revision: 508459

URL: http://svn.apache.org/viewvc?view=rev&rev=508459
Log:
Only substantive change is flipping the order of the args in an 
ImplHelper.isAssignable call in FetchConfigurationImpl.  We want to test 
whether the type we're traversing to is derived from the type we're traversing
from.


Modified:
    
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
    
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ImplHelper.java
    
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/OpenJPAId.java

Modified: 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java?view=diff&rev=508459&r1=508458&r2=508459
==============================================================================
--- 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
 (original)
+++ 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
 Fri Feb 16 08:02:05 2007
@@ -558,7 +558,7 @@
         // see if there's a previous limit
         int avail = Integer.MIN_VALUE;
         for (FetchConfigurationImpl f = this; f != null; f = f._parent) {
-            if (ImplHelper.isAssignable(type, f._fromType)) {
+            if (ImplHelper.isAssignable(f._fromType, type)) {
                 avail = f._availableRecursion;
                 if (traverse)
                     avail = reduce(avail);

Modified: 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ImplHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ImplHelper.java?view=diff&rev=508459&r1=508458&r2=508459
==============================================================================
--- 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ImplHelper.java
 (original)
+++ 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ImplHelper.java
 Fri Feb 16 08:02:05 2007
@@ -205,11 +205,11 @@
      * @return true if the "to" class is assignable to the "from" class
      */
     public static boolean isAssignable(Class from, Class to) {
-        Boolean isAssignable = null;
         if (from == null || to == null)
             return false;
-        Map assignableTo = (Map) _assignableTypes.get(from);
 
+        Boolean isAssignable = null;
+        Map assignableTo = (Map) _assignableTypes.get(from);
         if (assignableTo == null) { // "to" cache doesn't exist, so create 
it...
             assignableTo = new ConcurrentHashMap();
             _assignableTypes.put(from, assignableTo);
@@ -218,7 +218,7 @@
         }
 
         if (isAssignable == null) {// we don't have a record of this pair...
-            isAssignable = new Boolean(from.isAssignableFrom(to));
+            isAssignable = Boolean.valueOf(from.isAssignableFrom(to));
             assignableTo.put(to, isAssignable);
         }
 

Modified: 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/OpenJPAId.java
URL: 
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/OpenJPAId.java?view=diff&rev=508459&r1=508458&r2=508459
==============================================================================
--- 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/OpenJPAId.java
 (original)
+++ 
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/OpenJPAId.java
 Fri Feb 16 08:02:05 2007
@@ -28,15 +28,16 @@
 public abstract class OpenJPAId
     implements Comparable, Serializable {
 
+    // cache the types' generated hashcodes
+    private static ConcurrentReferenceHashMap _typeCache =
+        new ConcurrentReferenceHashMap(ReferenceMap.WEAK, ReferenceMap.HARD);
+
     protected Class type;
     protected boolean subs = true;
 
     // type has his based on the least-derived non-object class so that
     // user-given ids with non-exact types match ids with exact types
     private transient int _typeHash = 0;
-    // cache the types' generated hashcodes
-    private static ConcurrentReferenceHashMap _typeCache =
-        new ConcurrentReferenceHashMap(ReferenceMap.WEAK, ReferenceMap.HARD);
 
     protected OpenJPAId() {
     }


Reply via email to