EXTCDI-312 improved proxy handling and cleanup
git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/cdi/trunk@1572869 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ProxyUtils.java b/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ProxyUtils.java
index 6b434e4..705f268 100644
--- a/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ProxyUtils.java
+++ b/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ProxyUtils.java
@@ -52,9 +52,7 @@
*/
public static boolean isProxiedClass(Class currentClass)
{
- return currentClass.getName().contains("$$EnhancerByCGLIB$$") ||
- currentClass.getName().contains("$$FastClassByCGLIB$$") ||
- currentClass.getName().contains("_$$_javassist") ||
- (currentClass.getName().contains("_$$_") && currentClass.getName().contains("-class_"));
+ return currentClass.getName().startsWith(currentClass.getSuperclass().getName()) &&
+ currentClass.getName().contains("$$");
}
}
diff --git a/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/LegacyTransactionalInterceptorStrategy.java b/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/LegacyTransactionalInterceptorStrategy.java
index b8f3cc9..56d396a 100644
--- a/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/LegacyTransactionalInterceptorStrategy.java
+++ b/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/LegacyTransactionalInterceptorStrategy.java
@@ -140,6 +140,11 @@
{
transactionalAnnotation = context.getTarget().getClass().getAnnotation(Transactional.class);
}
+ //needed by weld
+ if (transactionalAnnotation == null)
+ {
+ transactionalAnnotation = context.getTarget().getClass().getSuperclass().getAnnotation(Transactional.class);
+ }
return transactionalAnnotation;
}
diff --git a/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/transaction/TransactionalInterceptorStrategy.java b/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/transaction/TransactionalInterceptorStrategy.java
index 80e369c..4a5228b 100644
--- a/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/transaction/TransactionalInterceptorStrategy.java
+++ b/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/transaction/TransactionalInterceptorStrategy.java
@@ -380,6 +380,11 @@
{
transactionalAnnotation = context.getTarget().getClass().getAnnotation(Transactional.class);
}
+ //needed by some versions of weld
+ if (transactionalAnnotation == null)
+ {
+ transactionalAnnotation = context.getTarget().getClass().getSuperclass().getAnnotation(Transactional.class);
+ }
return transactionalAnnotation;
}
diff --git a/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/action/CodiActionListener.java b/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/action/CodiActionListener.java
index 020341a..4d4f3a2 100644
--- a/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/action/CodiActionListener.java
+++ b/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/action/CodiActionListener.java
@@ -61,10 +61,10 @@
private ActionListener getWrappedActionListener()
{
- SecurityViolationAwareActionListener viewConfigAwareNavigationHandler =
+ SecurityViolationAwareActionListener securityViolationAwareActionListener =
new SecurityViolationAwareActionListener(this.wrapped);
- return new ViewControllerActionListener(viewConfigAwareNavigationHandler);
+ return new ViewControllerActionListener(securityViolationAwareActionListener);
}
/**
diff --git a/pom.xml b/pom.xml
index 15c9022..2960b25 100644
--- a/pom.xml
+++ b/pom.xml
@@ -383,7 +383,7 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.8.1</version>
+ <version>4.10</version>
<scope>test</scope>
</dependency>