Tianming GUO
RICM5
Publisher
Mediator
Subscriber
Publisher_1
Publisher_2
Mediator
Subscriber_1
Subscriber_2
Subscriber_3
Subscribe(x)
Subscribe(x)
Subscribe(y)
Publish(x)
Publish(y)
Notify
Notify
Notify
String[] topics = new String[] {
"com/acme/reportgenerator/GENERATED"
};
Dictionary props = new Hashtable();
props.put(EventConstants.EVENT_TOPIC, topics);
props.put(EventConstants.EVENT_FILTER, "(title=samplereport)");
bundleContext.registerService(EventHandler.class.getName(), new ReportEventHandler() , props);
public class ReportEventHandler implements EventHandler
{
public void handleEvent(Event event)
{
String reportTitle = (String) event.getProperty("title");
String reportPath = (String) event.getProperty("path");
sendReportByEmail(reportTitle, reportPath);
}