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();


Reply via email to