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) {