You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/09/13 21:58:10 UTC
svn commit: r1523074 - in /jena/trunk/jena-arq/src:
main/java/org/apache/jena/atlas/lib/AlarmClock.java
test/java/org/apache/jena/atlas/lib/TestAlarmClock.java
Author: andy
Date: Fri Sep 13 19:58:10 2013
New Revision: 1523074
URL: http://svn.apache.org/r1523074
Log:
Retune alarm clock timeout to help stability on a busy build server.
Reformat.
Add javadoc.
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java?rev=1523074&r1=1523073&r2=1523074&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java Fri Sep 13 19:58:10 2013
@@ -16,54 +16,54 @@
* limitations under the License.
*/
-package org.apache.jena.atlas.lib;
+package org.apache.jena.atlas.lib ;
import java.util.concurrent.ScheduledThreadPoolExecutor ;
import java.util.concurrent.TimeUnit ;
-/** An AlarmClock is an object that will make a callback (with a vaklue) at a preset time.
- * Simple abstraction of add/reset/cancel of a Runnable.
- * Currently, backed by {@linkplain ScheduledThreadPoolExecutor}
+/**
+ * An AlarmClock is an object that will make a callback (with a value) at a
+ * preset time. Simple abstraction of add/reset/cancel of a Runnable. Currently,
+ * backed by {@linkplain ScheduledThreadPoolExecutor}
*/
-public class AlarmClock
-{
- ScheduledThreadPoolExecutor timer = new ScheduledThreadPoolExecutor(1) ;
+public class AlarmClock {
+ private ScheduledThreadPoolExecutor timer = new ScheduledThreadPoolExecutor(1) ;
+
+ /* package */AlarmClock() {}
- /*package*/ AlarmClock() {}
-
static private AlarmClock singleton = new AlarmClock() ;
- /** Global singleton for general use */
- static public AlarmClock get()
- {
+
+ /** Global singleton for general use */
+ static public AlarmClock get() {
return singleton ;
}
- public void add(Runnable task, long delay)
- {
+ /** Add a task to be called after a delay (in milliseconds) */
+ public void add(Runnable task, long delay) {
if ( task == null )
throw new IllegalArgumentException("Task is null") ;
timer.schedule(task, delay, TimeUnit.MILLISECONDS) ;
}
- public void reset(Runnable task, long delay)
- {
+ /** Reschedule a task to now run after a different delay from now (in milliseconds) */
+ public void reset(Runnable task, long delay) {
if ( task == null )
throw new IllegalArgumentException("Task is null") ;
cancel(task) ;
add(task, delay) ;
}
- public void cancel(Runnable task)
- {
+ /** Cancel a task */
+ public void cancel(Runnable task) {
if ( task == null )
throw new IllegalArgumentException("Task is null") ;
timer.remove(task) ;
}
-
- //public int getCount() { return timer.getQueue().size(); }
-
- public void release()
- {
+
+ // public int getCount() { return timer.getQueue().size(); }
+
+ /** Clean up */
+ public void release() {
timer.shutdownNow() ;
}
-}
\ No newline at end of file
+}
\ No newline at end of file
Modified: jena/trunk/jena-arq/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java?rev=1523074&r1=1523073&r2=1523074&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java (original)
+++ jena/trunk/jena-arq/src/test/java/org/apache/jena/atlas/lib/TestAlarmClock.java Fri Sep 13 19:58:10 2013
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.apache.jena.atlas.lib;
+package org.apache.jena.atlas.lib ;
import static org.apache.jena.atlas.lib.Lib.sleep ;
@@ -25,19 +25,17 @@ import java.util.concurrent.atomic.Atomi
import org.apache.jena.atlas.junit.BaseTest ;
import org.junit.Test ;
-public class TestAlarmClock extends BaseTest
-{
- AtomicInteger count = new AtomicInteger(0) ;
- Runnable callback = new Runnable() {
-
- @Override
- public void run()
- {
- count.getAndIncrement() ;
- }} ;
-
- @Test public void alarm_01()
- {
+public class TestAlarmClock extends BaseTest {
+ AtomicInteger count = new AtomicInteger(0) ;
+ Runnable callback = new Runnable() {
+ @Override
+ public void run() {
+ count.getAndIncrement() ;
+ }
+ } ;
+
+ @Test
+ public void alarm_01() {
AlarmClock alarmClock = new AlarmClock() ;
// Very long - never happens.
alarmClock.add(callback, 10000000) ;
@@ -45,9 +43,9 @@ public class TestAlarmClock extends Base
assertEquals(0, count.get()) ;
alarmClock.release() ;
}
-
- @Test public void alarm_02()
- {
+
+ @Test
+ public void alarm_02() {
AlarmClock alarmClock = new AlarmClock() ;
// Short - happens.
alarmClock.add(callback, 10) ;
@@ -58,31 +56,31 @@ public class TestAlarmClock extends Base
alarmClock.release() ;
}
- @Test public void alarm_03()
- {
+ @Test
+ public void alarm_03() {
AlarmClock alarmClock = new AlarmClock() ;
- alarmClock.add(callback, 50) ;
+ alarmClock.add(callback, 10) ;
alarmClock.add(callback, 100000) ;
- sleep(100) ;
+ sleep(150) ;
// ping1 went off.
assertEquals(1, count.get()) ;
alarmClock.cancel(callback) ;
alarmClock.release() ;
}
- @Test public void alarm_04()
- {
+ @Test
+ public void alarm_04() {
AlarmClock alarmClock = new AlarmClock() ;
alarmClock.add(callback, 10) ;
alarmClock.add(callback, 20) ;
sleep(200) ;
- // ping1 went off. ping2 went off.
+ // ping1 went off. ping2 went off.
assertEquals(2, count.get()) ;
alarmClock.release() ;
}
- @Test public void alarm_05()
- {
+ @Test
+ public void alarm_05() {
AlarmClock alarmClock = new AlarmClock() ;
alarmClock.add(callback, 100) ;
alarmClock.reset(callback, 2000) ;