dain        2004/04/10 02:51:38

  Modified:    modules/core/src/java/org/openejb/proxy
                        EJBMethodInterceptor.java StatefulEJBHome.java
                        StatefulEJBLocalHome.java
                        StatefulEJBLocalObject.java StatelessEJBHome.java
                        StatelessEJBLocalHome.java
                        StatelessEJBLocalObject.java
  Log:

  Rewrote most unit tests to work against the new container
  Removed unit tests for already deleted code or functionality
  Changed EJBHome and EJBLocalHome remove by primary key on Session beans
  to throw RemoveException instead of RemoteException (see EJB 2.1
  Specification Section 6.6)
  
  Revision  Changes    Path
  1.5       +8 -7      
openejb/modules/core/src/java/org/openejb/proxy/EJBMethodInterceptor.java
  
  Index: EJBMethodInterceptor.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/EJBMethodInterceptor.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- EJBMethodInterceptor.java 6 Apr 2004 19:11:58 -0000       1.4
  +++ EJBMethodInterceptor.java 10 Apr 2004 06:51:38 -0000      1.5
  @@ -60,7 +60,7 @@
               interceptor = new ContainerHandler(container);    
           }
           
  -        if (!interfaceType.isLocal() || !skipCopy()) {
  +        if (!interfaceType.isLocal() && !skipCopy()) {
               interceptor = new SerializationHanlder(interceptor);
           }
           
  @@ -76,12 +76,13 @@
        * @return
        */
       private boolean skipCopy() {
  -        String value = 
org.openejb.OpenEJB.getInitProps().getProperty("openejb.localcopy");
  -        if (value == null) {
  -            value = System.getProperty("openejb.localcopy");
  -        }
  -
  -        return value != null && !value.equalsIgnoreCase("FALSE");
  +//        String value = 
org.openejb.OpenEJB.getInitProps().getProperty("openejb.localcopy");
  +//        if (value == null) {
  +//            value = System.getProperty("openejb.localcopy");
  +//        }
  +//
  +//        return value != null && !value.equalsIgnoreCase("FALSE");
  +        return false;
       }
   
       private void readObject(java.io.ObjectInputStream in) throws 
java.io.IOException, ClassNotFoundException {
  
  
  
  1.4       +2 -2      
openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBHome.java
  
  Index: StatefulEJBHome.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBHome.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StatefulEJBHome.java      21 Mar 2004 21:26:35 -0000      1.3
  +++ StatefulEJBHome.java      10 Apr 2004 06:51:38 -0000      1.4
  @@ -58,6 +58,6 @@
       }

   

       public void remove(Object primaryKey) throws RemoteException, RemoveException {

  -        throw new RemoteException("Session objects are private resources and do not 
have primary keys");        

  +        throw new RemoveException("Session objects are private resources and do not 
have primary keys");

       }

   }

  
  
  
  1.4       +2 -2      
openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBLocalHome.java
  
  Index: StatefulEJBLocalHome.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBLocalHome.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StatefulEJBLocalHome.java 21 Mar 2004 21:26:35 -0000      1.3
  +++ StatefulEJBLocalHome.java 10 Apr 2004 06:51:38 -0000      1.4
  @@ -58,6 +58,6 @@
       }

   

       public void remove(Object primaryKey) throws RemoveException, EJBException {

  -        throw new EJBException("Session objects are private resources and do not 
have primary keys");        

  +        throw new RemoveException("Session objects are private resources and do not 
have primary keys");

       }

   }

  
  
  
  1.4       +12 -12    
openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBLocalObject.java
  
  Index: StatefulEJBLocalObject.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBLocalObject.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StatefulEJBLocalObject.java       21 Mar 2004 21:26:35 -0000      1.3
  +++ StatefulEJBLocalObject.java       10 Apr 2004 06:51:38 -0000      1.4
  @@ -44,10 +44,8 @@
    */

   package org.openejb.proxy;

   

  -import java.rmi.RemoteException;

  -

   import javax.ejb.EJBException;

  -import javax.ejb.EJBObject;

  +import javax.ejb.EJBLocalObject;

   import javax.ejb.RemoveException;

   

   

  @@ -58,22 +56,24 @@
       }

   

       public Object getPrimaryKey() throws EJBException {

  -        throw new EJBException("Session objects are private resources and do not 
have primary keys");        

  +        throw new EJBException("Session objects are private resources and do not 
have primary keys");

       }

   

  -    public boolean isIdentical(EJBObject obj) throws RemoteException {

  +    public boolean isIdentical(EJBLocalObject obj) throws EJBException {

           try {

  -            if (obj instanceof StatefulEJBLocalObject){

  -                Object thatID = 
((StatefulEJBLocalObject)obj).getProxyInfo().getContainerID();

  +            if (obj instanceof StatefulEJBLocalObject) {

  +                Object thatID = ((StatefulEJBLocalObject) 
obj).getProxyInfo().getContainerID();

                   Object thisID = getProxyInfo().getContainerID();

                   return thisID.equals(thatID);

  -            } else return false;

  -        } catch (Throwable t){

  +            } else {

  +                return false;

  +            }

  +        } catch (Throwable t) {

               return false;

           }

       }

  -    

  +

       public void remove() throws EJBException, RemoveException {

       }

  -    

  +

   }

  
  
  
  1.4       +9 -2      
openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBHome.java
  
  Index: StatelessEJBHome.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBHome.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StatelessEJBHome.java     21 Mar 2004 21:26:35 -0000      1.3
  +++ StatelessEJBHome.java     10 Apr 2004 06:51:38 -0000      1.4
  @@ -60,9 +60,16 @@
       }

   

       public void remove(Handle handle) throws RemoteException, RemoveException {

  +        if (handle == null) {

  +            throw new RemoveException("Handle is null");

  +        }

  +        Class remoteInterface = ejbHandler.getProxyInfo().getRemoteInterface();

  +        if (!remoteInterface.isInstance(handle.getEJBObject())) {

  +            throw new RemoteException("Handle does not hold a " + 
remoteInterface.getName());

  +        }

       }

   

       public void remove(Object primaryKey) throws RemoteException, RemoveException {

  -        throw new RemoteException("Session objects are private resources and do not 
have primary keys");        

  +        throw new RemoveException("Session objects are private resources and do not 
have primary keys");

       }

   }

  
  
  
  1.4       +2 -2      
openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBLocalHome.java
  
  Index: StatelessEJBLocalHome.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBLocalHome.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StatelessEJBLocalHome.java        21 Mar 2004 21:26:35 -0000      1.3
  +++ StatelessEJBLocalHome.java        10 Apr 2004 06:51:38 -0000      1.4
  @@ -58,6 +58,6 @@
       }

   

       public void remove(Object primaryKey) throws RemoveException, EJBException {

  -        throw new EJBException("Session objects are private resources and do not 
have primary keys");        

  +        throw new RemoveException("Session objects are private resources and do not 
have primary keys");

       }

   }

  
  
  
  1.4       +6 -6      
openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBLocalObject.java
  
  Index: StatelessEJBLocalObject.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBLocalObject.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StatelessEJBLocalObject.java      21 Mar 2004 21:26:35 -0000      1.3
  +++ StatelessEJBLocalObject.java      10 Apr 2004 06:51:38 -0000      1.4
  @@ -44,10 +44,8 @@
    */

   package org.openejb.proxy;

   

  -import java.rmi.RemoteException;

  -

   import javax.ejb.EJBException;

  -import javax.ejb.EJBObject;

  +import javax.ejb.EJBLocalObject;

   import javax.ejb.RemoveException;

   

   

  @@ -61,13 +59,15 @@
           throw new EJBException("Statless Session objects are anonymous resources 
and do not have primary keys");        

       }

   

  -    public boolean isIdentical(EJBObject obj) throws EJBException {

  +    public boolean isIdentical(EJBLocalObject obj) throws EJBException {

           try {

               if (obj instanceof StatelessEJBLocalObject){

                   Object thatID = 
((StatelessEJBLocalObject)obj).getProxyInfo().getContainerID();

                   Object thisID = getProxyInfo().getContainerID();

                   return thisID.equals(thatID);

  -            } else return false;

  +            } else {

  +                return false;

  +            }

           } catch (Throwable t){

               return false;

           }

  
  
  

Reply via email to