djencks     2004/07/18 18:32:23

  Modified:    modules/core/src/java/org/openejb/entity/cmp
                        CMPContainerBuilder.java CMPCreateMethod.java
                        CMPInstanceContext.java
                        CMPInstanceContextFactory.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.20      +5 -2      
openejb/modules/core/src/java/org/openejb/entity/cmp/CMPContainerBuilder.java
  
  Index: CMPContainerBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/cmp/CMPContainerBuilder.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- CMPContainerBuilder.java  7 Jul 2004 22:17:33 -0000       1.19
  +++ CMPContainerBuilder.java  18 Jul 2004 22:32:22 -0000      1.20
  @@ -54,6 +54,8 @@
   import java.util.List;
   import java.util.Map;
   
  +import javax.management.ObjectName;
  +
   import org.apache.geronimo.deployment.DeploymentException;
   import org.apache.geronimo.kernel.ClassLoading;
   import org.openejb.AbstractContainerBuilder;
  @@ -254,11 +256,12 @@
   
           // build the pool
           InstancePool pool = createInstancePool(instanceFactory);
  +        ObjectName timerName = getTimerName(beanClass);
   
           if (buildContainer) {
               return createContainer(signatures, contextFactory, interceptorBuilder, 
pool);
           } else {
  -            return createConfiguration(classLoader, signatures, contextFactory, 
interceptorBuilder, pool);
  +            return createConfiguration(classLoader, signatures, contextFactory, 
interceptorBuilder, pool, timerName);
           }
       }
   
  
  
  
  1.6       +2 -2      
openejb/modules/core/src/java/org/openejb/entity/cmp/CMPCreateMethod.java
  
  Index: CMPCreateMethod.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/cmp/CMPCreateMethod.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- CMPCreateMethod.java      21 Apr 2004 23:45:59 -0000      1.5
  +++ CMPCreateMethod.java      18 Jul 2004 22:32:22 -0000      1.6
  @@ -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 org.openejb.EJBInvocation;
   import org.openejb.EJBOperation;
   import org.openejb.dispatch.MethodSignature;
  
  
  
  1.11      +6 -5      
openejb/modules/core/src/java/org/openejb/entity/cmp/CMPInstanceContext.java
  
  Index: CMPInstanceContext.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/cmp/CMPInstanceContext.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- CMPInstanceContext.java   7 Jul 2004 22:17:33 -0000       1.10
  +++ CMPInstanceContext.java   18 Jul 2004 22:32:22 -0000      1.11
  @@ -54,11 +54,12 @@
   
   import net.sf.cglib.proxy.MethodInterceptor;
   import net.sf.cglib.proxy.MethodProxy;
  -import org.apache.geronimo.transaction.TransactionContext;
   import org.apache.geronimo.core.service.Interceptor;
  +import org.apache.geronimo.transaction.context.TransactionContext;
  +import org.openejb.dispatch.SystemMethodIndices;
   import org.openejb.entity.EntityInstanceContext;
   import org.openejb.proxy.EJBProxyFactory;
  -import org.openejb.dispatch.SystemMethodIndices;
  +import org.openejb.timer.TimerServiceImpl;
   import org.tranql.cache.CacheRow;
   import org.tranql.cache.CacheRowState;
   import org.tranql.cache.FaultHandler;
  @@ -78,8 +79,8 @@
       private CacheRow cacheRow;
       private TransactionContext transactionContext;
   
  -    public CMPInstanceContext(Object containerId, EJBProxyFactory proxyFactory, 
InstanceOperation[] itable, FaultHandler loadFault, IdentityTransform 
primaryKeyTransform, CMPInstanceContextFactory contextFactory, Interceptor 
lifecycleInterceptorChain, SystemMethodIndices systemMethodIndices, Set 
unshareableResources, Set applicationManagedSecurityResources) throws Exception {
  -        super(containerId, proxyFactory, null, lifecycleInterceptorChain, 
systemMethodIndices, unshareableResources, applicationManagedSecurityResources);
  +    public CMPInstanceContext(Object containerId, EJBProxyFactory proxyFactory, 
InstanceOperation[] itable, FaultHandler loadFault, IdentityTransform 
primaryKeyTransform, CMPInstanceContextFactory contextFactory, Interceptor 
lifecycleInterceptorChain, SystemMethodIndices systemMethodIndices, Set 
unshareableResources, Set applicationManagedSecurityResources, TimerServiceImpl 
timerService) throws Exception {
  +        super(containerId, proxyFactory, null, lifecycleInterceptorChain, 
systemMethodIndices, unshareableResources, applicationManagedSecurityResources, 
timerService);
           this.itable = itable;
           this.loadFault = loadFault;
           this.primaryKeyTransform = primaryKeyTransform;
  
  
  
  1.11      +11 -6     
openejb/modules/core/src/java/org/openejb/entity/cmp/CMPInstanceContextFactory.java
  
  Index: CMPInstanceContextFactory.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/cmp/CMPInstanceContextFactory.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- CMPInstanceContextFactory.java    7 Jul 2004 22:17:33 -0000       1.10
  +++ CMPInstanceContextFactory.java    18 Jul 2004 22:32:23 -0000      1.11
  @@ -69,6 +69,7 @@
   import net.sf.cglib.proxy.NoOp;
   import net.sf.cglib.reflect.FastClass;
   import org.openejb.InstanceContextFactory;
  +import org.openejb.timer.TimerServiceImpl;
   import org.openejb.dispatch.MethodHelper;
   import org.openejb.dispatch.MethodSignature;
   import org.openejb.dispatch.InterfaceMethodSignature;
  @@ -95,8 +96,7 @@
       private transient EJBProxyFactory proxyFactory;
       private transient Interceptor systemChain;
       private transient SystemMethodIndices systemMethodIndices;
  -//    private transient int loadIndex = -1;
  -//    private transient int storeIndex = -1;
  +    private transient TimerServiceImpl timerService;
   
       public CMPInstanceContextFactory(Object containerId, IdentityTransform 
primaryKeyTransform, FaultHandler loadFault, Class beanClass, Map imap, Set 
unshareableResources, Set applicationManagedSecurityResources) throws 
ClassNotFoundException {
           this.containerId = containerId;
  @@ -134,15 +134,20 @@
           this.systemChain = systemChain;
       }
   
  -    public void setSignatures(InterfaceMethodSignature[] signatures) {
  -            systemMethodIndices = 
SystemMethodIndices.createSystemMethodIndices(signatures, "setEntityContext", 
EntityContext.class.getName(), "unsetEntityContext");
  +    public SystemMethodIndices setSignatures(InterfaceMethodSignature[] signatures) 
{
  +        systemMethodIndices = 
SystemMethodIndices.createSystemMethodIndices(signatures, "setEntityContext", 
EntityContext.class.getName(), "unsetEntityContext");
  +        return systemMethodIndices;
  +    }
  +
  +    public void setTimerService(TimerServiceImpl timerService) {
  +        this.timerService = timerService;
       }
   
       public synchronized InstanceContext newInstance() throws Exception {
           if (proxyFactory == null) {
               throw new IllegalStateException("ProxyFactory has not been set");
           }
  -        return new CMPInstanceContext(containerId, proxyFactory, itable, loadFault, 
primaryKeyTransform, this, systemChain, systemMethodIndices, unshareableResources, 
applicationManagedSecurityResources);
  +        return new CMPInstanceContext(containerId, proxyFactory, itable, loadFault, 
primaryKeyTransform, this, systemChain, systemMethodIndices, unshareableResources, 
applicationManagedSecurityResources, timerService);
       }
   
       public synchronized EntityBean createCMPBeanInstance(CMPInstanceContext 
instanceContext) {
  
  
  

Reply via email to