djencks     2004/07/18 18:32:25

  Modified:    modules/core/src/java/org/openejb/sfsb BusinessMethod.java
                        CreateMethod.java RemoveMethod.java
                        StatefulContainerBuilder.java
                        StatefulInstanceContext.java
                        StatefulInstanceContextFactory.java
                        StatefulInstanceInterceptor.java
                        StatefulInterceptorBuilder.java
  Log:

  Add timer support to session and mdbs. (entities still todo). Adapt to 
TransactionContextManager. Adapt to deploying with external plan.
  
  Revision  Changes    Path
  1.3       +2 -2      
openejb/modules/core/src/java/org/openejb/sfsb/BusinessMethod.java
  
  Index: BusinessMethod.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/sfsb/BusinessMethod.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BusinessMethod.java       21 Mar 2004 21:26:36 -0000      1.2
  +++ BusinessMethod.java       18 Jul 2004 22:32:24 -0000      1.3
  @@ -48,7 +48,7 @@
   package org.openejb.sfsb;
   
   import org.apache.geronimo.core.service.InvocationResult;
  -import org.apache.geronimo.transaction.TransactionContext;
  +import org.apache.geronimo.transaction.context.TransactionContext;
   
   import org.openejb.EJBInvocation;
   import org.openejb.EJBOperation;
  
  
  
  1.3       +2 -2      openejb/modules/core/src/java/org/openejb/sfsb/CreateMethod.java
  
  Index: CreateMethod.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/sfsb/CreateMethod.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CreateMethod.java 21 Mar 2004 21:26:36 -0000      1.2
  +++ CreateMethod.java 18 Jul 2004 22:32:24 -0000      1.3
  @@ -54,7 +54,7 @@
   
   import org.apache.geronimo.core.service.InvocationResult;
   import org.apache.geronimo.core.service.SimpleInvocationResult;
  -import org.apache.geronimo.transaction.TransactionContext;
  +import org.apache.geronimo.transaction.context.TransactionContext;
   
   import net.sf.cglib.reflect.FastClass;
   import org.openejb.EJBInstanceContext;
  
  
  
  1.3       +2 -2      openejb/modules/core/src/java/org/openejb/sfsb/RemoveMethod.java
  
  Index: RemoveMethod.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/sfsb/RemoveMethod.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RemoveMethod.java 21 Mar 2004 21:26:36 -0000      1.2
  +++ RemoveMethod.java 18 Jul 2004 22:32:24 -0000      1.3
  @@ -48,7 +48,7 @@
   package org.openejb.sfsb;
   
   import org.apache.geronimo.core.service.InvocationResult;
  -import org.apache.geronimo.transaction.TransactionContext;
  +import org.apache.geronimo.transaction.context.TransactionContext;
   
   import org.openejb.EJBInvocation;
   import org.openejb.EJBOperation;
  
  
  
  1.8       +3 -2      
openejb/modules/core/src/java/org/openejb/sfsb/StatefulContainerBuilder.java
  
  Index: StatefulContainerBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/sfsb/StatefulContainerBuilder.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- StatefulContainerBuilder.java     7 Jul 2004 22:17:35 -0000       1.7
  +++ StatefulContainerBuilder.java     18 Jul 2004 22:32:24 -0000      1.8
  @@ -96,7 +96,8 @@
           if (buildContainer) {
               return createContainer(signatures, contextFactory, interceptorBuilder, 
pool);
           } else {
  -            return createConfiguration(classLoader, signatures, contextFactory, 
interceptorBuilder, pool);
  +            //stateful has no timers
  +            return createConfiguration(classLoader, signatures, contextFactory, 
interceptorBuilder, pool, null);
           }
       }
   
  
  
  
  1.6       +3 -2      
openejb/modules/core/src/java/org/openejb/sfsb/StatefulInstanceContext.java
  
  Index: StatefulInstanceContext.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/sfsb/StatefulInstanceContext.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- StatefulInstanceContext.java      7 Jul 2004 22:17:35 -0000       1.5
  +++ StatefulInstanceContext.java      18 Jul 2004 22:32:24 -0000      1.6
  @@ -71,7 +71,8 @@
       private boolean dead = false;
   
       public StatefulInstanceContext(Object containerId, EJBProxyFactory 
proxyFactory, SessionBean instance, Object id, UserTransactionImpl userTransaction, 
SystemMethodIndices systemMethodIndices, Interceptor systemChain, Set 
unshareableResources, Set applicationManagedSecurityResources) {
  -        super(systemMethodIndices, systemChain, unshareableResources, 
applicationManagedSecurityResources, instance, proxyFactory);
  +        //currently stateful beans have no timer service.
  +        super(systemMethodIndices, systemChain, unshareableResources, 
applicationManagedSecurityResources, instance, proxyFactory, null);
           this.containerId = containerId;
           this.id = id;
           statefulContext = new StatefulSessionContext(this, userTransaction);
  
  
  
  1.8       +9 -2      
openejb/modules/core/src/java/org/openejb/sfsb/StatefulInstanceContextFactory.java
  
  Index: StatefulInstanceContextFactory.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/sfsb/StatefulInstanceContextFactory.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- StatefulInstanceContextFactory.java       7 Jul 2004 22:17:35 -0000       1.7
  +++ StatefulInstanceContextFactory.java       18 Jul 2004 22:32:24 -0000      1.8
  @@ -60,6 +60,7 @@
   import org.openejb.EJBInstanceFactory;
   import org.openejb.EJBInstanceFactoryImpl;
   import org.openejb.InstanceContextFactory;
  +import org.openejb.timer.TimerServiceImpl;
   import org.openejb.dispatch.InterfaceMethodSignature;
   import org.openejb.dispatch.SystemMethodIndices;
   import org.openejb.proxy.EJBProxyFactory;
  @@ -95,8 +96,14 @@
           this.systemChain = systemChain;
       }
   
  -    public void setSignatures(InterfaceMethodSignature[] signatures) {
  +    public SystemMethodIndices setSignatures(InterfaceMethodSignature[] signatures) 
{
           systemMethodIndices = 
SystemMethodIndices.createSystemMethodIndices(signatures, "setSessionContext", 
SessionContext.class.getName(), "unsetSessionContext");
  +        //perhaps this should be null, stateful doesn't have timers.
  +        return systemMethodIndices;
  +    }
  +
  +    public void setTimerService(TimerServiceImpl timerService) {
  +        //stateful beans have no timers.
       }
   
       public InstanceContext newInstance() throws Exception {
  
  
  
  1.3       +3 -3      
openejb/modules/core/src/java/org/openejb/sfsb/StatefulInstanceInterceptor.java
  
  Index: StatefulInstanceInterceptor.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/sfsb/StatefulInstanceInterceptor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- StatefulInstanceInterceptor.java  21 Mar 2004 21:26:36 -0000      1.2
  +++ StatefulInstanceInterceptor.java  18 Jul 2004 22:32:24 -0000      1.3
  @@ -53,7 +53,7 @@
   import org.apache.geronimo.core.service.Interceptor;
   import org.apache.geronimo.core.service.Invocation;
   import org.apache.geronimo.core.service.InvocationResult;
  -import org.apache.geronimo.transaction.TransactionContext;
  +import org.apache.geronimo.transaction.context.TransactionContext;
   
   import org.openejb.EJBInvocation;
   import org.openejb.cache.InstanceCache;
  @@ -91,7 +91,7 @@
               assert ctx.getInstance() != null: "Got a context with no instance 
assigned";
               id = ctx.getId();
               cache.putActive(id, ctx);
  -            
  +
               TransactionContext transactionContext = 
ejbInvocation.getTransactionContext();
               transactionContext.associate(ctx);
           } else {
  
  
  
  1.5       +3 -3      
openejb/modules/core/src/java/org/openejb/sfsb/StatefulInterceptorBuilder.java
  
  Index: StatefulInterceptorBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/sfsb/StatefulInterceptorBuilder.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- StatefulInterceptorBuilder.java   7 Jul 2004 22:17:35 -0000       1.4
  +++ StatefulInterceptorBuilder.java   18 Jul 2004 22:32:24 -0000      1.5
  @@ -67,7 +67,7 @@
   public class StatefulInterceptorBuilder extends AbstractInterceptorBuilder {
   
       public TwoChains buildInterceptorChains() {
  -        if (transactionManager == null) {
  +        if (transactionContextManager == null) {
               throw new IllegalStateException("Transaction manager must be set before 
building the interceptor chain");
           }
           if (instancePool == null) {
  @@ -94,7 +94,7 @@
               firstInterceptor = new 
PolicyContextHandlerEJBInterceptor(firstInterceptor);
           }
           firstInterceptor = new StatefulInstanceInterceptor(firstInterceptor, 
containerId, instanceFactory, instanceCache);
  -        firstInterceptor = new TransactionContextInterceptor(firstInterceptor, 
transactionManager, transactionPolicyManager);
  +        firstInterceptor = new TransactionContextInterceptor(firstInterceptor, 
transactionContextManager, transactionPolicyManager);
           firstInterceptor = new SystemExceptionInterceptor(firstInterceptor, 
ejbName);
           return new TwoChains(firstInterceptor, systemChain);
       }
  
  
  

Reply via email to