On Wed, Nov 10, 2010 at 20:45, Sergiu Dumitriu <[email protected]> wrote: > On 11/10/2010 07:29 PM, Marius Dumitru Florea wrote: >> What about creating an EventLogger component with implementations for >> each of the events that need to be logged by the activity stream? When >> an event is triggered you lookup the corresponding EventLogger. If there >> is no EventLogger for the specific hint then ignore the event. >> > > The problem is that you have to write extra code to store the extra > events. It's just moving the current if-else to a different level. It is > more easily extensible, but I don't agree that any new component sending > events has to have a dependency on the activity stream plugin to also be > able to store those events in the stream.
I don't agree with the activity stream dependency. It's not about activity stream, it's a handler that extract important event informations in a serializable object. This system is then used by activity stream and remote observation manager to store or send events. > >> Hope this helps, >> Marius >> >> On 11/10/2010 10:08 AM, Stefan abageru wrote: >>> Hi devs ! >>> >>> I thought about adding some changes in Events and Activity Stream. >>> >>> First of all, I want to remove all the listeners from Activity Stream >>> and make this class listen to AllEvent, making it capable of cathcing >>> all events that occur in the wiki (and this way, when adding a new >>> event, you wouldn't need any modifications to this class in order to >>> catch it). >>> >>> Secondly, I would like to modify onEvent function in the class so that >>> it uses the simpleClassName of the event occurred in order to log the >>> event (the eventType would be this simpleClassName...for example >>> DocumentSavedEvent, AnnotationAddedEvent and so on). >>> >>> And thirdly i thought about adding one field in AbstractFilterableEvent >>> called /identifier/ and make all events extend directly this class. And >>> that /identifier/ would be used in a different way by the events >>> themselves. But it would be used to retrieve infos about that events. >>> And so, when logging an event, we could use classname + identifier. >>> For example >>> AnnotationAddedEvent + "This is my annotation" . >>> CommentAddedEvent + "This is my comment" or the number of the comment. > > > -- > Sergiu Dumitriu > http://purl.org/net/sergiu/ > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

