Mercurial > hg > blitz_condensed
comparison src/org/dancres/blitz/notify/RemoteEventDispatcher.java @ 0:3dc0c5604566
Initial checkin of blitz 2.0 fcs - no installer yet.
author | Dan Creswell <dan.creswell@gmail.com> |
---|---|
date | Sat, 21 Mar 2009 11:00:06 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:3dc0c5604566 |
---|---|
1 package org.dancres.blitz.notify; | |
2 | |
3 import java.util.logging.*; | |
4 | |
5 import net.jini.space.JavaSpace; | |
6 | |
7 import org.dancres.blitz.task.Tasks; | |
8 | |
9 import org.dancres.blitz.Logging; | |
10 | |
11 import org.dancres.blitz.remote.NullJavaSpace; | |
12 | |
13 /** | |
14 Converts internal events into external RemoteEvents and arranges for | |
15 their dispatch. | |
16 */ | |
17 public class RemoteEventDispatcher { | |
18 static Logger theLogger = | |
19 Logging.newLogger("org.dancres.blitz.notify.RemoteEventDispatcher"); | |
20 | |
21 | |
22 private static JavaSpace theSource = new NullJavaSpace(); | |
23 | |
24 /** | |
25 Used to configure the EventGenerator with an appropriate remote | |
26 source reference for passing out with each event | |
27 */ | |
28 public static synchronized void setSource(JavaSpace aSource) { | |
29 theSource = aSource; | |
30 } | |
31 | |
32 RemoteEventDispatcher() { | |
33 } | |
34 | |
35 void sendEvent(DispatchTask aTask, EventGenerator aGenerator) { | |
36 try { | |
37 aTask.newDispatch(); | |
38 Tasks.queue("RemoteEvent", | |
39 new SendTask(theSource, aTask, aGenerator)); | |
40 } catch (InterruptedException anIE) { | |
41 theLogger.log(Level.SEVERE, "Failed to add event to queue", | |
42 anIE); | |
43 } | |
44 } | |
45 } |