1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import java.util.Collection;
26
27 import org.apache.maven.api.Event;
28 import org.apache.maven.api.Listener;
29 import org.apache.maven.eventspy.EventSpy;
30 import org.apache.maven.execution.ExecutionEvent;
31
32 @Named
33 @Singleton
34 public class EventSpyImpl implements EventSpy {
35
36 private DefaultSessionFactory sessionFactory;
37
38 @Inject
39 EventSpyImpl(DefaultSessionFactory sessionFactory) {
40 this.sessionFactory = sessionFactory;
41 }
42
43 @Override
44 public void init(Context context) throws Exception {}
45
46 @Override
47 public void onEvent(Object arg) throws Exception {
48 if (arg instanceof ExecutionEvent) {
49 ExecutionEvent ee = (ExecutionEvent) arg;
50 InternalMavenSession session =
51 InternalMavenSession.from(ee.getSession().getSession());
52 Collection<Listener> listeners = session.getListeners();
53 if (!listeners.isEmpty()) {
54 Event event = new DefaultEvent(session, ee);
55 for (Listener listener : listeners) {
56 listener.onEvent(event);
57 }
58 }
59 }
60 }
61
62 @Override
63 public void close() throws Exception {}
64 }