On Wed, Nov 10, 2010 at 20:45, Sergiu Dumitriu <sergiu(a)xwiki.com> 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
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Thomas Mortagne