You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ri...@apache.org on 2007/01/08 22:22:38 UTC

svn commit: r494200 - in /incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba: CORBAHandle.java CorbaApplicationServer.java StandardServant.java

Author: rickmcguire
Date: Mon Jan  8 13:22:38 2007
New Revision: 494200

URL: http://svn.apache.org/viewvc?view=rev&rev=494200
Log:
OPENEJB-436 Exception when remove(handle) is called on a stateless session bean.


Modified:
    incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java
    incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java
    incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java

Modified: incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java?view=diff&rev=494200&r1=494199&r2=494200
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java Mon Jan  8 13:22:38 2007
@@ -42,22 +42,25 @@
  * or J2EE application components directly.
  *
  * @version $Revision$ $Date$
- */
+*/
 public class CORBAHandle implements Handle, Serializable {
 
     private static final long serialVersionUID = -3390719015323727224L;
 
     private String ior;
     private Object primaryKey;
+    // the remote interface this EJBObject implements
+    private Class  remoteInterface; 
 
-    public CORBAHandle(String ior, Object primaryKey) {
+    public CORBAHandle(String ior, Object primaryKey, Class remoteInterface) {
         this.ior = ior;
         this.primaryKey = primaryKey;
+        this.remoteInterface = remoteInterface; 
     }
 
     public EJBObject getEJBObject() throws RemoteException {
         try {
-            return (EJBObject) PortableRemoteObject.narrow(getOrb().string_to_object(ior), EJBObject.class);
+            return (EJBObject) PortableRemoteObject.narrow(getOrb().string_to_object(ior), remoteInterface);
         } catch (Exception e) {
             throw new RemoteException("Unable to convert IOR into object", e);
         }
@@ -71,12 +74,14 @@
         HandleDelegate handleDelegate = getHandleDelegate();
         handleDelegate.writeEJBObject(getEJBObject(), out);
         out.writeObject(primaryKey);
+        out.writeObject(remoteInterface); 
     }
 
     private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
         HandleDelegate handleDelegate = getHandleDelegate();
         EJBObject obj = handleDelegate.readEJBObject(in);
         primaryKey = in.readObject();
+        remoteInterface = (Class)in.readObject(); 
 
         try {
             ior = getOrb().object_to_string((org.omg.CORBA.Object) obj);

Modified: incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java?view=diff&rev=494200&r1=494199&r2=494200
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java Mon Jan  8 13:22:38 2007
@@ -59,7 +59,7 @@
     public javax.ejb.Handle getHandle(ProxyInfo proxyInfo) {
         org.omg.CORBA.Object ejbObject = (org.omg.CORBA.Object) getEJBObject(proxyInfo);
         String ior = getOrb().object_to_string(ejbObject);
-        Handle handle = new CORBAHandle(ior, proxyInfo.getPrimaryKey());
+        Handle handle = new CORBAHandle(ior, proxyInfo.getPrimaryKey(), proxyInfo.getRemoteInterface());
         return handle;
     }
 

Modified: incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java?view=diff&rev=494200&r1=494199&r2=494200
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java Mon Jan  8 13:22:38 2007
@@ -220,8 +220,6 @@
                                     return Util.writeUserException(method, reply, invocationResult.getException());
                                 }
                                 invocationResult.getResult();
-//
-//                                ejbContainer.getEjbHome().remove(handle.getPrimaryKey());
                             }
                         } catch (RemoveException e) {