You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ga...@apache.org on 2010/08/18 07:41:49 UTC
svn commit: r986568 - in /openejb/trunk/openejb3/container:
openejb-core/src/main/java/org/apache/openejb/config/
openejb-core/src/main/java/org/apache/openejb/config/rules/
openejb-jee/src/main/java/org/apache/openejb/jee/
Author: gawor
Date: Wed Aug 18 05:41:48 2010
New Revision: 986568
URL: http://svn.apache.org/viewvc?rev=986568&view=rev
Log:
OPENEJB-1333: Refactor org.apache.openejb.jee.Lifecycle interface
Added:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Invokable.java (with props)
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckCallbacks.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ApplicationClient.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Lifecycle.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageDrivenBean.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Session.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=986568&r1=986567&r2=986568&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Wed Aug 18 05:41:48 2010
@@ -127,6 +127,7 @@ import org.apache.openejb.jee.InitMethod
import org.apache.openejb.jee.InjectionTarget;
import org.apache.openejb.jee.Interceptor;
import org.apache.openejb.jee.InterceptorBinding;
+import org.apache.openejb.jee.Invokable;
import org.apache.openejb.jee.JndiConsumer;
import org.apache.openejb.jee.JndiReference;
import org.apache.openejb.jee.Lifecycle;
@@ -2084,26 +2085,30 @@ public class AnnotationDeployer implemen
}
}
- /*
- * @AroundInvoke
- */
- AroundInvoke aroundInvoke = getFirst(bean.getAroundInvoke());
- if (aroundInvoke == null) {
- for (Method method : classFinder.findAnnotatedMethods(javax.interceptor.AroundInvoke.class)) {
- bean.getAroundInvoke().add(new AroundInvoke(method));
+ if (bean instanceof Invokable) {
+ Invokable invokable = (Invokable) bean;
+
+ /*
+ * @AroundInvoke
+ */
+ AroundInvoke aroundInvoke = getFirst(invokable.getAroundInvoke());
+ if (aroundInvoke == null) {
+ for (Method method : classFinder.findAnnotatedMethods(javax.interceptor.AroundInvoke.class)) {
+ invokable.getAroundInvoke().add(new AroundInvoke(method));
+ }
}
- }
- /*
- * @AroundTimeout
- */
- AroundTimeout aroundTimeout = getFirst(bean.getAroundTimeout());
- if (aroundTimeout == null) {
- for (Method method : classFinder.findAnnotatedMethods(javax.interceptor.AroundTimeout.class)) {
- bean.getAroundTimeout().add(new AroundTimeout(method));
+ /*
+ * @AroundTimeout
+ */
+ AroundTimeout aroundTimeout = getFirst(invokable.getAroundTimeout());
+ if (aroundTimeout == null) {
+ for (Method method : classFinder.findAnnotatedMethods(javax.interceptor.AroundTimeout.class)) {
+ invokable.getAroundTimeout().add(new AroundTimeout(method));
+ }
}
}
-
+
/*
* @Timeout
*/
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckCallbacks.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckCallbacks.java?rev=986568&r1=986567&r2=986568&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckCallbacks.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckCallbacks.java Wed Aug 18 05:41:48 2010
@@ -41,6 +41,7 @@ import org.apache.openejb.jee.CallbackMe
import org.apache.openejb.jee.EnterpriseBean;
import org.apache.openejb.jee.InitMethod;
import org.apache.openejb.jee.Interceptor;
+import org.apache.openejb.jee.Invokable;
import org.apache.openejb.jee.LifecycleCallback;
import org.apache.openejb.jee.NamedMethod;
import org.apache.openejb.jee.RemoveMethod;
@@ -66,8 +67,16 @@ public class CheckCallbacks extends Vali
continue;
}
- for (AroundInvoke aroundInvoke : bean.getAroundInvoke()) {
- checkAroundInvoke(ejbClass, aroundInvoke, bean.getEjbName());
+ if (bean instanceof Invokable) {
+ Invokable invokable = (Invokable) bean;
+
+ for (AroundInvoke aroundInvoke : invokable.getAroundInvoke()) {
+ checkAroundInvoke(ejbClass, aroundInvoke, bean.getEjbName());
+ }
+
+ for (AroundTimeout aroundTimeout : invokable.getAroundTimeout()) {
+ checkAroundTimeout(ejbClass, aroundTimeout, bean.getEjbName());
+ }
}
for (LifecycleCallback callback : bean.getPostConstruct()) {
@@ -187,10 +196,7 @@ public class CheckCallbacks extends Vali
if (timeoutMethods.size() > 1) {
fail(timerConsumer.getTimerConsumerName(), "timeout.tooManyMethods", timeoutMethods.size(), Join.join(",", timeoutMethods));
}
- for (AroundTimeout aroundTimeout : bean.getAroundTimeout()) {
- checkAroundTimeout(ejbClass, aroundTimeout, bean.getEjbName());
- }
-
+
for(Timer timer : ((TimerConsumer) bean).getTimer()) {
checkTimeOut(ejbClass, timer.getTimeoutMethod(), bean);
}
Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ApplicationClient.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ApplicationClient.java?rev=986568&r1=986567&r2=986568&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ApplicationClient.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ApplicationClient.java Wed Aug 18 05:41:48 2010
@@ -93,7 +93,7 @@ import java.util.Map;
"dataSource"
})
-public class ApplicationClient implements JndiConsumer {
+public class ApplicationClient implements JndiConsumer, Lifecycle {
@XmlElement(name = "module-name", required = true)
protected String moduleName;
Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java?rev=986568&r1=986567&r2=986568&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java Wed Aug 18 05:41:48 2010
@@ -596,14 +596,6 @@ public class EntityBean implements Remot
this.id = value;
}
- public List<AroundInvoke> getAroundInvoke() {
- return Collections.emptyList();
- }
-
-
- public void addAroundInvoke(String method){
- }
-
public TransactionType getTransactionType() {
return TransactionType.CONTAINER;
}
@@ -611,10 +603,4 @@ public class EntityBean implements Remot
public void setTransactionType(TransactionType type){
}
- public void addAroundTimeout(String method) {
- }
-
- public List<AroundTimeout> getAroundTimeout() {
- return Collections.emptyList();
- }
}
Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Invokable.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Invokable.java?rev=986568&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Invokable.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Invokable.java Wed Aug 18 05:41:48 2010
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import java.util.List;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public interface Invokable {
+ List<AroundInvoke> getAroundInvoke();
+
+ void addAroundInvoke(String method);
+
+ List<AroundTimeout> getAroundTimeout();
+
+ void addAroundTimeout(String method);
+}
Propchange: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Invokable.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Invokable.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Invokable.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Lifecycle.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Lifecycle.java?rev=986568&r1=986567&r2=986568&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Lifecycle.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Lifecycle.java Wed Aug 18 05:41:48 2010
@@ -22,9 +22,6 @@ import java.util.List;
* @version $Rev$ $Date$
*/
public interface Lifecycle {
- List<AroundInvoke> getAroundInvoke();
-
- void addAroundInvoke(String method);
List<LifecycleCallback> getPostConstruct();
@@ -34,7 +31,4 @@ public interface Lifecycle {
void addPreDestroy(String method);
- List<AroundTimeout> getAroundTimeout();
-
- void addAroundTimeout(String method);
}
Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageDrivenBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageDrivenBean.java?rev=986568&r1=986567&r2=986568&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageDrivenBean.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageDrivenBean.java Wed Aug 18 05:41:48 2010
@@ -105,7 +105,7 @@ import java.util.Map;
"securityRoleRef",
"securityIdentity"
})
-public class MessageDrivenBean implements EnterpriseBean, TimerConsumer {
+public class MessageDrivenBean implements EnterpriseBean, TimerConsumer, Invokable {
@XmlTransient
protected TextMap description = new TextMap();
Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Session.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Session.java?rev=986568&r1=986567&r2=986568&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Session.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Session.java Wed Aug 18 05:41:48 2010
@@ -21,7 +21,7 @@ import java.util.List;
/**
* @version $Rev$ $Date$
*/
-public interface Session extends Lifecycle {
+public interface Session extends Lifecycle, Invokable {
List<LifecycleCallback> getPostActivate();
void addPostActivate(String method);
Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java?rev=986568&r1=986567&r2=986568&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java Wed Aug 18 05:41:48 2010
@@ -98,7 +98,7 @@ import java.util.Map;
"moduleName"
})
-public class WebApp implements WebCommon {
+public class WebApp implements WebCommon, Lifecycle {
@XmlTransient
private String contextRoot;
@@ -510,6 +510,10 @@ public class WebApp implements WebCommon
return this.persistenceUnitRef.toMap();
}
+ public void addPostConstruct(String method) {
+ throw new UnsupportedOperationException();
+ }
+
@Override
public List<LifecycleCallback> getPostConstruct() {
if (postConstruct == null) {
@@ -518,6 +522,10 @@ public class WebApp implements WebCommon
return this.postConstruct;
}
+ public void addPreDestroy(String method) {
+ throw new UnsupportedOperationException();
+ }
+
@Override
public List<LifecycleCallback> getPreDestroy() {
if (preDestroy == null) {