You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2015/04/16 23:09:53 UTC

tomee git commit: TOMEE-1549 fixing ActiveMQ5Factory#createPersistenceAdapter + small fix for java 8 in org.apache.openejb.persistence.PersistenceUnitInfoImpl.PersistenceClassFileTransformer#transform

Repository: tomee
Updated Branches:
  refs/heads/master ef3bf5f64 -> 871f8d352


TOMEE-1549 fixing ActiveMQ5Factory#createPersistenceAdapter + small fix for java 8 in org.apache.openejb.persistence.PersistenceUnitInfoImpl.PersistenceClassFileTransformer#transform


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/871f8d35
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/871f8d35
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/871f8d35

Branch: refs/heads/master
Commit: 871f8d352d2f2e5f0ae2dde6fac5a08124ce2210
Parents: ef3bf5f
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Thu Apr 16 23:09:43 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Thu Apr 16 23:09:43 2015 +0200

----------------------------------------------------------------------
 .../persistence/PersistenceUnitInfoImpl.java    |  3 +++
 .../resource/activemq/ActiveMQ5Factory.java     | 26 +++++++++++---------
 2 files changed, 18 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/871f8d35/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java b/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
index 5883af4..a87f177 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
@@ -349,6 +349,9 @@ public class PersistenceUnitInfoImpl implements PersistenceUnitInfo {
             //        "org/apache/openejb/test/entity/cmp/BasicCmp2Bean_BasicCmp2Bean".equals(className)) {
             //    System.err.println("Loading " + className);
             // }
+            if (className == null) {
+                return classfileBuffer;
+            }
             final String replace = className.replace('/', '.');
             if (isServerClass(replace)) {
                 return classfileBuffer;

http://git-wip-us.apache.org/repos/asf/tomee/blob/871f8d35/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
index 1c338dc..917f2b4 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
@@ -266,20 +266,24 @@ public class ActiveMQ5Factory implements BrokerFactoryHandler {
     }
 
     private static PersistenceAdapter createPersistenceAdapter(final String clazz, final String prefix, final Map<String, String> params) throws IllegalAccessException, InvocationTargetException, ClassNotFoundException, InstantiationException {
-        final PersistenceAdapter persistenceAdapter = PersistenceAdapter.class.cast(Thread.currentThread().getContextClassLoader().loadClass(clazz).newInstance());
-        for (final Method m : KahaDBPersistenceAdapter.class.getDeclaredMethods()) {
-            if (m.getName().startsWith("set") && m.getParameterTypes().length == 1 && Modifier.isPublic(m.getModifiers())) {
-                final String key = prefix + "." + m.getName().substring(3).toLowerCase(Locale.ENGLISH);
-                final Object field = params.remove(key);
-                if (field != null) {
-                    try {
-                        final Object toSet = PropertyEditors.getValue(m.getParameterTypes()[0], field.toString());
-                        m.invoke(persistenceAdapter, toSet);
-                    } catch (final PropertyEditorException cantConvertException) {
-                        throw new IllegalArgumentException("can't convert " + field + " for " + m.getName(), cantConvertException);
+        Class<?> aClass = Thread.currentThread().getContextClassLoader().loadClass(clazz);
+        final PersistenceAdapter persistenceAdapter = PersistenceAdapter.class.cast(aClass.newInstance());
+        while (aClass != null) {
+            for (final Method m : aClass.getDeclaredMethods()) {
+                if (m.getName().startsWith("set") && m.getParameterTypes().length == 1 && Modifier.isPublic(m.getModifiers())) {
+                    final String key = prefix + "." + m.getName().substring(3).toLowerCase(Locale.ENGLISH);
+                    final Object field = params.remove(key);
+                    if (field != null) {
+                        try {
+                            final Object toSet = PropertyEditors.getValue(m.getParameterTypes()[0], field.toString());
+                            m.invoke(persistenceAdapter, toSet);
+                        } catch (final PropertyEditorException cantConvertException) {
+                            throw new IllegalArgumentException("can't convert " + field + " for " + m.getName(), cantConvertException);
+                        }
                     }
                 }
             }
+            aClass = aClass.getSuperclass();
         }
         return persistenceAdapter;
     }