Author: manugeorge
Date: Fri Sep 14 04:33:27 2007
New Revision: 575630
URL: http://svn.apache.org/viewvc?rev=575630&view=rev
Log:
Allow remove() and other special methods as business methods in ejb 3 beans
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessLocal.java
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessRemote.java
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulPojoBean.java
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessLocal.java
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessRemote.java
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessPojoBean.java
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulLocalBusinessIntfcTests.java
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulRemoteBusinessIntfcTests.java
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessLocalBusinessIntfcTests.java
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessRemoteBusinessIntfcTests.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
Fri Sep 14 04:33:27 2007
@@ -18,19 +18,19 @@
import java.io.ObjectStreamException;
import java.lang.reflect.Method;
-import java.rmi.RemoteException;
import java.rmi.AccessException;
+import java.rmi.RemoteException;
import java.util.List;
-import javax.ejb.EJBAccessException;
import javax.ejb.AccessLocalException;
+import javax.ejb.EJBAccessException;
-import org.apache.openejb.InterfaceType;
import org.apache.openejb.DeploymentInfo;
+import org.apache.openejb.InterfaceType;
import org.apache.openejb.core.ServerFederation;
+import org.apache.openejb.spi.ApplicationServer;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
-import org.apache.openejb.spi.ApplicationServer;
public abstract class EjbObjectProxyHandler extends BaseEjbProxyHandler {
private static final Logger logger =
Logger.getInstance(LogCategory.OPENEJB, "org.apache.openejb.util.resources");
@@ -62,7 +62,7 @@
}
Integer operation = (Integer) dispatchTable.get(m.getName());
- if (operation == null) {
+ if (operation == null || interfaceType.isBusiness()) {
retValue = businessMethod(interfce, m, a, p);
} else {
switch (operation.intValue()) {
Modified:
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessLocal.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessLocal.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessLocal.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessLocal.java
Fri Sep 14 04:33:27 2007
@@ -68,4 +68,9 @@
* @return operations policy
*/
public OperationsPolicy getAllowedOperationsReport(String methodName);
+
+ /**
+ * Verify if we can invoke remove() on a stateful session bean as a
business method
+ */
+ public Object remove();
}
Modified:
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessRemote.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessRemote.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessRemote.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulBusinessRemote.java
Fri Sep 14 04:33:27 2007
@@ -68,4 +68,9 @@
* @return operations policy
*/
public OperationsPolicy getAllowedOperationsReport(String methodName);
+
+ /**
+ * Verify if we can invoke remove() on a stateful session bean as a
business method
+ */
+ public Object remove();
}
Modified:
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulPojoBean.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulPojoBean.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulPojoBean.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateful/BasicStatefulPojoBean.java
Fri Sep 14 04:33:27 2007
@@ -39,7 +39,7 @@
}
@Remove
- public void remove(){
+ public void removeBean(){
}
/**
@@ -105,5 +105,9 @@
}
public void setSessionContext(SessionContext ctx) throws EJBException,
RemoteException {
+ }
+
+ public Object remove() {
+ return new String("Executed remove() Method");
}
}
Modified:
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessLocal.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessLocal.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessLocal.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessLocal.java
Fri Sep 14 04:33:27 2007
@@ -68,4 +68,10 @@
* @return operations policy
*/
public OperationsPolicy getAllowedOperationsReport(String methodName);
+
+ /**
+ * Verify if we can invoke remove() on a stateless session bean as a
business method
+ */
+ public Object remove();
+
}
Modified:
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessRemote.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessRemote.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessRemote.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessBusinessRemote.java
Fri Sep 14 04:33:27 2007
@@ -68,4 +68,9 @@
* @return operations policy
*/
public OperationsPolicy getAllowedOperationsReport(String methodName);
+
+ /**
+ * Verify if we can invoke remove() on a stateless session bean as a
business method
+ */
+ public Object remove();
}
Modified:
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessPojoBean.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessPojoBean.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessPojoBean.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/stateless/BasicStatelessPojoBean.java
Fri Sep 14 04:33:27 2007
@@ -94,4 +94,8 @@
public void setSessionContext(SessionContext ctx) throws EJBException,
RemoteException {
}
+
+ public Object remove() {
+ return new String("Executed remove() Method");
+ }
}
Modified:
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulLocalBusinessIntfcTests.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulLocalBusinessIntfcTests.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulLocalBusinessIntfcTests.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulLocalBusinessIntfcTests.java
Fri Sep 14 04:33:27 2007
@@ -126,6 +126,11 @@
//
// Test remote interface methods
//=================================
+
+ public void test06_testRemove(){
+ Object obj =businessLocal.remove();
+ assertNotNull(obj);
+ }
protected void tearDown() throws Exception {
super.tearDown();
Modified:
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulRemoteBusinessIntfcTests.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulRemoteBusinessIntfcTests.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulRemoteBusinessIntfcTests.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateful/StatefulRemoteBusinessIntfcTests.java
Fri Sep 14 04:33:27 2007
@@ -127,6 +127,11 @@
//
// Test remote interface methods
//=================================
+
+ public void test06_testRemove(){
+ Object obj =businessRemote.remove();
+ assertNotNull(obj);
+ }
protected void tearDown() throws Exception {
super.tearDown();
Modified:
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessLocalBusinessIntfcTests.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessLocalBusinessIntfcTests.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessLocalBusinessIntfcTests.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessLocalBusinessIntfcTests.java
Fri Sep 14 04:33:27 2007
@@ -126,6 +126,11 @@
//
// Test remote interface methods
//=================================
+
+ public void test06_testRemove(){
+ Object obj =businessLocal.remove();
+ assertNotNull(obj);
+ }
protected void tearDown() throws Exception {
super.tearDown();
Modified:
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessRemoteBusinessIntfcTests.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessRemoteBusinessIntfcTests.java?rev=575630&r1=575629&r2=575630&view=diff
==============================================================================
---
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessRemoteBusinessIntfcTests.java
(original)
+++
openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/stateless/StatelessRemoteBusinessIntfcTests.java
Fri Sep 14 04:33:27 2007
@@ -127,6 +127,11 @@
//
// Test remote interface methods
//=================================
+
+ public void test06_testRemove(){
+ Object obj =businessRemote.remove();
+ assertNotNull(obj);
+ }
protected void tearDown() throws Exception {
super.tearDown();