it.eng.spagobi.events
Class EventsManager

java.lang.Object
  extended by it.eng.spagobi.events.EventsManager

public class EventsManager
extends java.lang.Object

This class menage SpagoBI Event System

Author:
Gioia TODO add logging

Field Summary
private  EventDAOHibImpl eventDAO
           
private  EventLogDAOHibImpl eventLogDAO
           
private static EventsManager instance
          Singleton design pattern
 
Constructor Summary
private EventsManager()
           
 
Method Summary
 void fireEvent(java.lang.String eventId, java.lang.String user, java.lang.String desc, java.util.Map params)
          Fire a registered event
 void fireEvent(java.lang.String eventId, java.lang.String user, java.lang.String desc, java.lang.String params)
          Fire a registered event
 java.util.List getFiredEvents(java.lang.String user)
          Get a list of all fired events registered by the given user and ordered by date
static EventsManager getInstance()
           
static java.lang.String getParamsStr(java.util.Map params)
           
static java.util.Map parseParamsStr(java.lang.String str)
           
 java.lang.Integer registerEvent(java.lang.String user)
          Register a new event for the given user
 void registerHandler(long id, java.lang.Object handler)
          Associate an handler to the given event.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eventDAO

private EventDAOHibImpl eventDAO

eventLogDAO

private EventLogDAOHibImpl eventLogDAO

instance

private static EventsManager instance
Singleton design pattern

Constructor Detail

EventsManager

private EventsManager()
Method Detail

getInstance

public static EventsManager getInstance()

registerEvent

public java.lang.Integer registerEvent(java.lang.String user)
Register a new event for the given user

Parameters:
user - User who want to register the new event
Returns:
The unique id of the newly generated event

registerHandler

public void registerHandler(long id,
                            java.lang.Object handler)
Associate an handler to the given event. Every time an event is fired all the handlers associteted to it are executed by the EventManager. To be implemented ....

Parameters:
id - the event unique id to which the handler is associated
handler - the handler to execute when the event is fired TODO decide EventHandler interface TODO decide EventHandler execution order policy TODO implement some default EventHandler (i.e. NotificationHandler, HousekeepingHandler, ecc...)

fireEvent

public void fireEvent(java.lang.String eventId,
                      java.lang.String user,
                      java.lang.String desc,
                      java.lang.String params)
Fire a registered event

Parameters:
id - the event unique id
user - the user that have registered the event
desc - a description provided by the agent that fired the event
params - parameters provided by the agent that fired the event (usefull for the handlers configuration)

fireEvent

public void fireEvent(java.lang.String eventId,
                      java.lang.String user,
                      java.lang.String desc,
                      java.util.Map params)
Fire a registered event

Parameters:
id - the event unique id
user - the user that have registered the event
desc - a description provided by the agent that fired the event
params - parameters provided by the agent that fired the event (usefull for the handlers configuration)

getFiredEvents

public java.util.List getFiredEvents(java.lang.String user)
Get a list of all fired events registered by the given user and ordered by date

Parameters:
user -
Returns:

getParamsStr

public static java.lang.String getParamsStr(java.util.Map params)

parseParamsStr

public static java.util.Map parseParamsStr(java.lang.String str)