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>