djencks     2004/07/07 18:17:36

  Modified:    modules/core/src/test/org/openejb/slsb InvocationTest.java
                        StatelessInstanceInterceptorTest.java
  Added:       modules/core/src/test/org/openejb/slsb
                        StatelessSystemMethodIndicesTest.java
  Log:

  A lot more work to route system lifecycle calls through a partial interceptor stack 
(OPENEJB-5).  All that is left is ejbCreate methods when called by the container (slsb 
and mdb)
  
  Revision  Changes    Path
  1.6       +6 -6      
openejb/modules/core/src/test/org/openejb/slsb/InvocationTest.java
  
  Index: InvocationTest.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/test/org/openejb/slsb/InvocationTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- InvocationTest.java       31 May 2004 16:31:47 -0000      1.5
  +++ InvocationTest.java       7 Jul 2004 22:17:36 -0000       1.6
  @@ -52,16 +52,15 @@
   
   import javax.ejb.SessionBean;
   
  -import org.apache.geronimo.core.service.SimpleInvocationResult;
  -import org.apache.geronimo.transaction.UserTransactionImpl;
  -
   import junit.framework.TestCase;
   import net.sf.cglib.reflect.FastClass;
  +import org.apache.geronimo.core.service.SimpleInvocationResult;
   import org.openejb.EJBInterfaceType;
   import org.openejb.EJBInvocation;
   import org.openejb.EJBInvocationImpl;
  +import org.openejb.dispatch.InterfaceMethodSignature;
   import org.openejb.dispatch.MethodSignature;
  -import org.openejb.proxy.EJBProxyFactory;
  +import org.openejb.dispatch.SystemMethodIndices;
   
   /**
    *
  @@ -129,7 +128,8 @@
                   instance,
                   null,
                   null,
  -                new HashSet(),
  +                SystemMethodIndices.createSystemMethodIndices(new 
InterfaceMethodSignature[] {}, null, null, null),
  +                null, new HashSet(),
                   new HashSet());
           invocation.setEJBInstanceContext(ctx);
           bizMethod.execute(invocation);
  
  
  
  1.4       +11 -2     
openejb/modules/core/src/test/org/openejb/slsb/StatelessInstanceInterceptorTest.java
  
  Index: StatelessInstanceInterceptorTest.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/test/org/openejb/slsb/StatelessInstanceInterceptorTest.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StatelessInstanceInterceptorTest.java     31 May 2004 16:31:47 -0000      1.3
  +++ StatelessInstanceInterceptorTest.java     7 Jul 2004 22:17:36 -0000       1.4
  @@ -60,6 +60,8 @@
   import org.openejb.EJBInvocation;
   import org.openejb.EJBInvocationImpl;
   import org.openejb.EJBInterfaceType;
  +import org.openejb.dispatch.SystemMethodIndices;
  +import org.openejb.dispatch.InterfaceMethodSignature;
   
   /**
    *
  @@ -117,7 +119,14 @@
           private boolean removed;
   
           public MockPool(MockEJB mockEJB) {
  -            ctx = new StatelessInstanceContext("containerId", mockEJB, null, null, 
new HashSet(), new HashSet());
  +            ctx = new StatelessInstanceContext("containerId",
  +                    mockEJB,
  +                    null,
  +                    null,
  +                    SystemMethodIndices.createSystemMethodIndices(new 
InterfaceMethodSignature[] {}, null, null, null),
  +                    null,
  +                    new HashSet(),
  +                    new HashSet());
           }
   
           public Object acquire() throws InterruptedException, Exception {
  
  
  
  1.1                  
openejb/modules/core/src/test/org/openejb/slsb/StatelessSystemMethodIndicesTest.java
  
  Index: StatelessSystemMethodIndicesTest.java
  ===================================================================
  /* ====================================================================
   * Redistribution and use of this software and associated documentation
   * ("Software"), with or without modification, are permitted provided
   * that the following conditions are met:
   *
   * 1. Redistributions of source code must retain copyright
   *    statements and notices.  Redistributions must also contain a
   *    copy of this document.
   *
   * 2. Redistributions in binary form must reproduce this list of
   *    conditions and the following disclaimer in the documentation
   *    and/or other materials provided with the distribution.
   *
   * 3. The name "OpenEJB" must not be used to endorse or promote
   *    products derived from this Software without prior written
   *    permission of The OpenEJB Group.  For written permission,
   *    please contact [EMAIL PROTECTED]
   *
   * 4. Products derived from this Software may not be called "OpenEJB"
   *    nor may "OpenEJB" appear in their names without prior written
   *    permission of The OpenEJB Group. OpenEJB is a registered
   *    trademark of The OpenEJB Group.
   *
   * 5. Due credit should be given to the OpenEJB Project
   *    (http://openejb.org/).
   *
   * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
   * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
   * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
   * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the OpenEJB Project.  For more information
   * please see <http://openejb.org/>.
   *
   * ====================================================================
   */
  package org.openejb.slsb;
  
  import java.util.Map;
  
  import javax.ejb.EntityContext;
  import javax.ejb.SessionContext;
  
  import org.openejb.entity.bmp.BMPContainerBuilder;
  import org.openejb.entity.MockBMPEJB;
  import org.openejb.dispatch.InterfaceMethodSignature;
  import org.openejb.dispatch.SystemMethodIndices;
  import junit.framework.TestCase;
  
  /**
   *
   *
   * @version $Revision: 1.1 $ $Date: 2004/07/07 22:17:36 $
   *
   * */
  public class StatelessSystemMethodIndicesTest extends TestCase {
  
      public void testSystemMethodIndices() throws Exception {
          StatelessContainerBuilder builder = new StatelessContainerBuilder();
          builder.setClassLoader(MockEJB.class.getClassLoader());
          Map vopMap = builder.buildVopMap(MockEJB.class);
          InterfaceMethodSignature[] signatures = (InterfaceMethodSignature[]) 
vopMap.keySet().toArray(new InterfaceMethodSignature[vopMap.size()]);
          SystemMethodIndices systemMethodIndices = 
SystemMethodIndices.createSystemMethodIndices(signatures, "setSessionContext", new 
String(SessionContext.class.getName()), null);
          
assertFalse(systemMethodIndices.getEjbActivateInvocation(null).getMethodIndex() == -1);
          assertTrue(systemMethodIndices.getEjbLoadInvocation(null).getMethodIndex() 
== -1);
          
assertFalse(systemMethodIndices.getEjbPassivateInvocation(null).getMethodIndex() == 
-1);
          assertTrue(systemMethodIndices.getEjbStoreInvocation(null).getMethodIndex() 
== -1);
          assertFalse(systemMethodIndices.getSetContextInvocation(null, 
null).getMethodIndex() == -1);
          
assertTrue(systemMethodIndices.getUnsetContextInvocation(null).getMethodIndex() == -1);
      }
  }
  
  
  

Reply via email to