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 }