Author: mprudhom
Date: Mon Jan 29 13:07:20 2007
New Revision: 501183

URL: http://svn.apache.org/viewvc?view=rev&rev=501183
Log:
Handle ClassNotFoundException and ClassCircularityError instances when trying 
to load the classes into the temporary class loader during enhancement. These 
exceptions will indicate that the class is not loadable, and so they couldn't 
have any persistent metadata anyway.

Modified:
    
incubator/openjpa/trunk/openjpa-kernel-5/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java

Modified: 
incubator/openjpa/trunk/openjpa-kernel-5/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
URL: 
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel-5/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java?view=diff&rev=501183&r1=501182&r2=501183
==============================================================================
--- 
incubator/openjpa/trunk/openjpa-kernel-5/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
 (original)
+++ 
incubator/openjpa/trunk/openjpa-kernel-5/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
 Mon Jan 29 13:07:20 2007
@@ -173,6 +173,14 @@
             if (_repos.getMetaData(c, null, false) != null)
                 return Boolean.TRUE;
             return null;
+        } catch (ClassNotFoundException cnfe) {
+            // cannot load the class: this might mean that it is a proxy
+            // or otherwise inaccessible class
+            return Boolean.FALSE;
+        } catch (ClassCircularityError cce) {
+            // this can happen if we are loading classes what this
+            // class already depends on
+            return Boolean.FALSE;
         } catch (RuntimeException re) {
             throw re;
         } catch (Throwable t) {


Reply via email to