You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ke...@apache.org on 2010/10/08 18:03:27 UTC
svn commit: r1005877 - in /openwebbeans/trunk:
webbeans-ejb/src/main/java/org/apache/webbeans/ejb/plugin/
webbeans-impl/src/main/java/org/apache/webbeans/intercept/
webbeans-impl/src/main/java/org/apache/webbeans/plugins/
Author: kelapure
Date: Fri Oct 8 16:03:26 2010
New Revision: 1005877
URL: http://svn.apache.org/viewvc?rev=1005877&view=rev
Log:
OWB-422 Support needed for PrePassivate, PostActivate, and AroundTimeout via EJBInterceptor.
https://issues.apache.org/jira/browse/OWB-422
Modified:
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/plugin/OpenWebBeansEjbLCAPluginImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbLCAPlugin.java
Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/plugin/OpenWebBeansEjbLCAPluginImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/plugin/OpenWebBeansEjbLCAPluginImpl.java?rev=1005877&r1=1005876&r2=1005877&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/plugin/OpenWebBeansEjbLCAPluginImpl.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/plugin/OpenWebBeansEjbLCAPluginImpl.java Fri Oct 8 16:03:26 2010
@@ -22,14 +22,14 @@ import java.lang.annotation.Annotation;
import javax.ejb.PrePassivate;
import javax.ejb.PostActivate;
+import javax.interceptor.AroundTimeout;
import org.apache.webbeans.plugins.OpenWebBeansEjbLCAPlugin;
import org.apache.webbeans.spi.plugins.AbstractOwbPlugin;
/**
* EJB Plugin for EJB related components.
- *
- * @version
+ * @version $Rev$ $Date$
*/
public class OpenWebBeansEjbLCAPluginImpl extends AbstractOwbPlugin implements OpenWebBeansEjbLCAPlugin
{
@@ -49,5 +49,12 @@ public class OpenWebBeansEjbLCAPluginImp
{
return PostActivate.class;
}
+
+ @Override
+ public Class<? extends Annotation> getAroundTimeoutClass()
+ {
+ return AroundTimeout.class;
+ }
+
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java?rev=1005877&r1=1005876&r2=1005877&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorDataImpl.java Fri Oct 8 16:03:26 2010
@@ -35,12 +35,14 @@ import org.apache.webbeans.decorator.Web
import org.apache.webbeans.inject.OWBInjector;
import org.apache.webbeans.intercept.webbeans.WebBeansInterceptor;
import org.apache.webbeans.logger.WebBeansLogger;
+import org.apache.webbeans.plugins.OpenWebBeansEjbLCAPlugin;
+import org.apache.webbeans.plugins.PluginLoader;
import org.apache.webbeans.util.WebBeansUtil;
/**
* Abstract implementation of the {@link InterceptorData} api contract.
*
- * @version $Rev$Â $Date$
+ * @version $Rev$ $Date$
*/
public class InterceptorDataImpl implements InterceptorData
{
@@ -115,6 +117,17 @@ public class InterceptorDataImpl impleme
*/
public void setInterceptorMethod(Method m, Class<? extends Annotation> annotation)
{
+ OpenWebBeansEjbLCAPlugin ejbPlugin = PluginLoader.getInstance().getEjbLCAPlugin();
+ Class <? extends Annotation> prePassivateClass = null;
+ Class <? extends Annotation> postActivateClass = null;
+ Class <? extends Annotation> aroundTimeoutClass = null;
+ if (null != ejbPlugin)
+ {
+ prePassivateClass = ejbPlugin.getPrePassivateClass();
+ postActivateClass = ejbPlugin.getPostActivateClass();
+ aroundTimeoutClass = ejbPlugin.getAroundTimeoutClass();
+ }
+
if (annotation.equals(AroundInvoke.class))
{
setAroundInvoke(m);
@@ -126,6 +139,18 @@ public class InterceptorDataImpl impleme
else if (annotation.equals(PreDestroy.class))
{
setPreDestroy(m);
+ }
+ else if (null != ejbPlugin && annotation.equals(prePassivateClass))
+ {
+ setPrePassivate(m);
+ }
+ else if (null != ejbPlugin && annotation.equals(postActivateClass))
+ {
+ setPostActivate(m);
+ }
+ else if (null != ejbPlugin && annotation.equals(aroundTimeoutClass))
+ {
+ setAroundTimeout(m);
}
}
@@ -486,14 +511,17 @@ public class InterceptorDataImpl impleme
StringBuilder sb = new StringBuilder();
if (null != webBeansInterceptor)
{
- sb.append("Class: [").append(webBeansInterceptor.getBeanClass()).append("]");
+ sb.append("webBeansInterceptor: [").append(webBeansInterceptor.getBeanClass()).append("]");
}
- sb.append(" aroundInvoke [").append(aroundInvoke).append("]");
+ sb.append(" aroundInvoke [").append(aroundInvoke).append("]");
sb.append(" aroundTimeout [").append(aroundTimeout).append("]");
+
sb.append(" postConstruct [").append(postConstruct).append("]");
- sb.append(" postActivate [").append(postActivate).append("]");
- sb.append(" preDestroy [").append(preDestroy).append("]");
- sb.append(" prePassivate [").append(prePassivate).append("]");
+ sb.append(" preDestroy [").append(preDestroy).append("]");
+
+ sb.append(" postActivate [").append(postActivate).append("]");
+ sb.append(" prePassivate [").append(prePassivate).append("]");
+
return sb.toString();
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbLCAPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbLCAPlugin.java?rev=1005877&r1=1005876&r2=1005877&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbLCAPlugin.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbLCAPlugin.java Fri Oct 8 16:03:26 2010
@@ -21,10 +21,14 @@ package org.apache.webbeans.plugins;
import java.lang.annotation.Annotation;
import org.apache.webbeans.spi.plugins.OpenWebBeansPlugin;
-
+/**
+ * @version $Rev$ $Date$
+ */
public interface OpenWebBeansEjbLCAPlugin extends OpenWebBeansPlugin
{
public Class<? extends Annotation> getPrePassivateClass();
public Class<? extends Annotation> getPostActivateClass();
+
+ public Class<? extends Annotation> getAroundTimeoutClass();
}