hammant     2002/10/18 03:14:01

  Modified:    .        build.xml
               src/java/org/apache/avalon/cornerstone/blocks/scheduler
                        DefaultTimeScheduler.java TimeScheduledEntry.java
  Added:       src/java/org/apache/avalon/cornerstone/blocks/scheduler
                        MonitorableTimeScheduler.java
                        MonitorableTimeSchedulerMBean.java
  Log:
  A JMX face to scheduler
  
  Revision  Changes    Path
  1.117     +2 -0      jakarta-avalon-cornerstone/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/build.xml,v
  retrieving revision 1.116
  retrieving revision 1.117
  diff -u -r1.116 -r1.117
  --- build.xml 17 Oct 2002 21:44:22 -0000      1.116
  +++ build.xml 18 Oct 2002 10:14:00 -0000      1.117
  @@ -164,6 +164,7 @@
         <include name="org/apache/avalon/cornerstone/services/**"/>
           <fileset dir="${gen.dir}">
               <include name="**/*.xinfo"/>
  +            <include name="**/*.mxinfo"/>
           </fileset>
           <fileset dir="${src.dir}/java">
               <include name="**/*-schema.xml"/>
  @@ -181,6 +182,7 @@
         <include name="org/apache/avalon/cornerstone/blocks/**"/>
         <fileset dir="${gen.dir}">
             <include name="**/*.xinfo"/>
  +          <include name="**/*.mxinfo"/>
         </fileset>
       </jar>
     </target>
  
  
  
  1.25      +17 -3     
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/DefaultTimeScheduler.java
  
  Index: DefaultTimeScheduler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/DefaultTimeScheduler.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- DefaultTimeScheduler.java 5 Oct 2002 00:49:08 -0000       1.24
  +++ DefaultTimeScheduler.java 18 Oct 2002 10:14:01 -0000      1.25
  @@ -7,9 +7,7 @@
    */
   package org.apache.avalon.cornerstone.blocks.scheduler;
   
  -import java.util.Hashtable;
  -import java.util.NoSuchElementException;
  -import java.util.ArrayList;
  +import java.util.*;
   
   import org.apache.avalon.cornerstone.services.scheduler.Target;
   import org.apache.avalon.cornerstone.services.scheduler.TimeScheduler;
  @@ -28,6 +26,7 @@
    *
    * @phoenix:block
    * @phoenix:service 
name="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"
  + * @phoenix:mx 
name="org.apache.avalon.cornerstone.blocks.scheduler.MonitorableTimeSchedulerMBean"
    *
    * @author <a href="mailto:peter at apache.org">Peter Donald</a>
    * @author <a href="mailto:ram.chidambaram@;telus.com">Ram Chidambaram</a>
  @@ -390,6 +389,21 @@
               triggerFailureListener.triggerFailure(t);
           }
   
  +    }
  +
  +
  +    /**
  +     * Return a collection of the triggerable names.
  +     * @return
  +     */
  +    public synchronized Collection getEntries() {
  +        Collection coll = m_entries.keySet();
  +        Vector retval = new Vector();
  +        for (Iterator iterator = coll.iterator(); iterator.hasNext();) {
  +            TimeScheduledEntry tse = (TimeScheduledEntry) m_entries.get((String) 
iterator.next());
  +            retval.add(tse.toString());
  +        }
  +        return retval;
       }
   
   
  
  
  
  1.6       +5 -1      
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/TimeScheduledEntry.java
  
  Index: TimeScheduledEntry.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/TimeScheduledEntry.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TimeScheduledEntry.java   5 Aug 2002 14:12:13 -0000       1.5
  +++ TimeScheduledEntry.java   18 Oct 2002 10:14:01 -0000      1.6
  @@ -10,6 +10,9 @@
   import org.apache.avalon.cornerstone.services.scheduler.Target;
   import org.apache.avalon.cornerstone.services.scheduler.TimeTrigger;
   
  +import java.text.SimpleDateFormat;
  +import java.util.Date;
  +
   /**
    * Class use internally to package to hold scheduled time entries.
    *
  @@ -21,6 +24,7 @@
       protected final String m_name;
       protected final TimeTrigger m_trigger;
       protected final Target m_target;
  +    private static SimpleDateFormat DATEFORMAT = new SimpleDateFormat();
   
       //cached version of time from TimeTrigger class
       protected long m_time;
  @@ -108,7 +112,7 @@
   
       public String toString()
       {
  -        return "TimeEntry[ name=" + m_name + " valid=" + m_isValid + " time=" + 
m_time;
  +        return "TimeEntry[ name=" + m_name + " valid=" + m_isValid + " time=" + 
DATEFORMAT.format(new Date(m_time)) + " ]";
       }
   }
   
  
  
  
  1.1                  
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/MonitorableTimeScheduler.java
  
  Index: MonitorableTimeScheduler.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.avalon.cornerstone.blocks.scheduler;
  
  /**
   * A JMX Monitorable TimeScheduler.
   * @author Paul Hammant
   */
  public class MonitorableTimeScheduler extends DefaultTimeScheduler
          implements MonitorableTimeSchedulerMBean {
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/scheduler/MonitorableTimeSchedulerMBean.java
  
  Index: MonitorableTimeSchedulerMBean.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.avalon.cornerstone.blocks.scheduler;
  
  import java.util.Collection;
  
  /**
   * @phoenix:mx-topic name="SchedulerMonitor"
   * @author Paul Hammant
   */
  public interface MonitorableTimeSchedulerMBean {
  
      /**
       * The triggerable names.
       * @return The triggerable names
       * @phoenix:mx-attribute
       */
      Collection getEntries();
  }
  
  
  

--
To unsubscribe, e-mail:   <mailto:avalon-cvs-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@;jakarta.apache.org>

Reply via email to