private static boolean transformClass()

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;
    }