djencks     2004/07/20 19:40:02

  Modified:    modules/core/src/java/org/openejb/entity/cmp
                        CMPContainerBuilder.java CMPInstanceContext.java
                        CMPInstanceContextFactory.java
  Log:

  Extend timer service to entity beans
  
  Revision  Changes    Path
  1.21      +12 -1     
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.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- CMPContainerBuilder.java  18 Jul 2004 22:32:22 -0000      1.20
  +++ CMPContainerBuilder.java  20 Jul 2004 23:40:02 -0000      1.21
  @@ -55,6 +55,8 @@
   import java.util.Map;
   
   import javax.management.ObjectName;
  +import javax.ejb.TimedObject;
  +import javax.ejb.Timer;
   
   import org.apache.geronimo.deployment.DeploymentException;
   import org.apache.geronimo.kernel.ClassLoading;
  @@ -67,6 +69,7 @@
   import org.openejb.dispatch.MethodHelper;
   import org.openejb.dispatch.MethodSignature;
   import org.openejb.dispatch.VirtualOperation;
  +import org.openejb.dispatch.EJBTimeoutOperation;
   import org.openejb.entity.BusinessMethod;
   import org.openejb.entity.dispatch.EJBLoadOperation;
   import org.openejb.entity.dispatch.EJBStoreOperation;
  @@ -397,6 +400,14 @@
   
               // create a VirtualOperation for the method (if the method is 
understood)
               String name = beanMethod.getName();
  +
  +            if (TimedObject.class.isAssignableFrom(beanClass)) {
  +                MethodSignature signature = new MethodSignature("ejbTimeout", new 
Class[]{Timer.class});
  +                vopMap.put(
  +                        MethodHelper.translateToInterface(signature)
  +                        , EJBTimeoutOperation.INSTANCE);
  +            }
  +
               MethodSignature signature = new MethodSignature(beanMethod);
   
               if (name.startsWith("ejbCreate")) {
  
  
  
  1.12      +3 -3      
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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- CMPInstanceContext.java   18 Jul 2004 22:32:22 -0000      1.11
  +++ CMPInstanceContext.java   20 Jul 2004 23:40:02 -0000      1.12
  @@ -59,7 +59,7 @@
   import org.openejb.dispatch.SystemMethodIndices;
   import org.openejb.entity.EntityInstanceContext;
   import org.openejb.proxy.EJBProxyFactory;
  -import org.openejb.timer.TimerServiceImpl;
  +import org.openejb.timer.BasicTimerService;
   import org.tranql.cache.CacheRow;
   import org.tranql.cache.CacheRowState;
   import org.tranql.cache.FaultHandler;
  @@ -79,7 +79,7 @@
       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, TimerServiceImpl 
timerService) throws Exception {
  +    public CMPInstanceContext(Object containerId, EJBProxyFactory proxyFactory, 
InstanceOperation[] itable, FaultHandler loadFault, IdentityTransform 
primaryKeyTransform, CMPInstanceContextFactory contextFactory, Interceptor 
lifecycleInterceptorChain, SystemMethodIndices systemMethodIndices, Set 
unshareableResources, Set applicationManagedSecurityResources, BasicTimerService 
timerService) throws Exception {
           super(containerId, proxyFactory, null, lifecycleInterceptorChain, 
systemMethodIndices, unshareableResources, applicationManagedSecurityResources, 
timerService);
           this.itable = itable;
           this.loadFault = loadFault;
  
  
  
  1.12      +4 -4      
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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- CMPInstanceContextFactory.java    18 Jul 2004 22:32:23 -0000      1.11
  +++ CMPInstanceContextFactory.java    20 Jul 2004 23:40:02 -0000      1.12
  @@ -69,7 +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.timer.BasicTimerService;
   import org.openejb.dispatch.MethodHelper;
   import org.openejb.dispatch.MethodSignature;
   import org.openejb.dispatch.InterfaceMethodSignature;
  @@ -96,7 +96,7 @@
       private transient EJBProxyFactory proxyFactory;
       private transient Interceptor systemChain;
       private transient SystemMethodIndices systemMethodIndices;
  -    private transient TimerServiceImpl timerService;
  +    private transient BasicTimerService timerService;
   
       public CMPInstanceContextFactory(Object containerId, IdentityTransform 
primaryKeyTransform, FaultHandler loadFault, Class beanClass, Map imap, Set 
unshareableResources, Set applicationManagedSecurityResources) throws 
ClassNotFoundException {
           this.containerId = containerId;
  @@ -139,7 +139,7 @@
           return systemMethodIndices;
       }
   
  -    public void setTimerService(TimerServiceImpl timerService) {
  +    public void setTimerService(BasicTimerService timerService) {
           this.timerService = timerService;
       }
   
  
  
  

Reply via email to