in jpa-container/src/main/java/org/apache/aries/jpa/container/weaving/impl/JPAWeavingHook.java [82:104]
private static boolean transformClass(WovenClass wovenClass, ClassLoader cl, ClassTransformer transformer)
throws ThreadDeath, OutOfMemoryError {
try {
byte[] result = transformer
.transform(cl,
wovenClass.getClassName(),
wovenClass.getDefinedClass(),
wovenClass.getProtectionDomain(),
wovenClass.getBytes());
if (result != null) {
wovenClass.setBytes(result);
wovenClass.getDynamicImports().add("org.eclipse.persistence.*");
wovenClass.getDynamicImports().add("org.apache.openjpa.*");
return true;
}
} catch (Exception t) {
Bundle b = wovenClass.getBundleWiring().getBundle();
String msg = String.format("Weaving failure on class %s in bundle %s/%s using transformer %s", wovenClass.getClassName(),
b.getSymbolicName(), b.getVersion(), transformer);
throw new WeavingException(msg, t);
}
return false;
}