djencks     2005/01/31 19:58:11

  Modified:    modules/core/src/java/org/openejb/timer
                        BasicTimerService.java TimerHandleImpl.java
  Log:

  Make timer handles work, add some error detection and handling
  
  Revision  Changes    Path
  1.2       +9 -4      
openejb/modules/core/src/java/org/openejb/timer/BasicTimerService.java
  
  Index: BasicTimerService.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/timer/BasicTimerService.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BasicTimerService.java    20 Jul 2004 23:40:03 -0000      1.1
  +++ BasicTimerService.java    1 Feb 2005 00:58:10 -0000       1.2
  @@ -55,6 +55,7 @@
   
   import javax.ejb.EJBException;
   import javax.ejb.Timer;
  +import javax.ejb.NoSuchObjectLocalException;
   import javax.management.ObjectName;
   import javax.transaction.RollbackException;
   import javax.transaction.Status;
  @@ -186,10 +187,14 @@
           return timers;
       }
   
  -    private TimerImpl getTimerById(Long id) {
  +    public TimerImpl getTimerById(Long id) {
           WorkInfo workInfo = persistentTimer.getWorkInfo(id);
  -        TimerImpl timer = (TimerImpl) workInfo.getClientHandle();
  -        return timer;
  +        if (workInfo != null) {
  +            TimerImpl timer = (TimerImpl) workInfo.getClientHandle();
  +            return timer;
  +        } else {
  +            throw new NoSuchObjectLocalException("No timer");
  +        }
       }
   
       void registerCancelSynchronization(Synchronization 
cancelSynchronization) throws RollbackException, SystemException {
  
  
  
  1.2       +2 -2      
openejb/modules/core/src/java/org/openejb/timer/TimerHandleImpl.java
  
  Index: TimerHandleImpl.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/timer/TimerHandleImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TimerHandleImpl.java      18 Jul 2004 22:24:00 -0000      1.1
  +++ TimerHandleImpl.java      1 Feb 2005 00:58:11 -0000       1.2
  @@ -78,7 +78,7 @@
       public Timer getTimer() throws EJBException, IllegalStateException, 
NoSuchObjectLocalException {
           Kernel kernel = Kernel.getKernel(kernelName);
           try {
  -            return (Timer) kernel.invoke(timerSourceName, "getWorkInfoById", 
new Object[] {new Long(id)}, new String[] {Long.class.getName()});
  +            return (Timer) kernel.invoke(timerSourceName, "getTimerById", 
new Object[] {new Long(id)}, new String[] {Long.class.getName()});
           } catch (Exception e) {
               throw new EJBException(e);
           }
  
  
  

Reply via email to