blob: 1fafc323654f0785c1134aa5b7d4b3f30ffaad7e [file] [log] [blame]
tom0755a362014-09-24 11:54:43 -07001package org.onlab.onos.foo;
2
3import org.apache.felix.scr.annotations.Activate;
4import org.apache.felix.scr.annotations.Component;
5import org.apache.felix.scr.annotations.Deactivate;
6import org.apache.felix.scr.annotations.Reference;
7import org.apache.felix.scr.annotations.ReferenceCardinality;
8import org.onlab.onos.cluster.ClusterEvent;
9import org.onlab.onos.cluster.ClusterEventListener;
10import org.onlab.onos.cluster.ClusterService;
tom0768a022014-09-24 16:16:16 -070011import org.onlab.onos.net.device.DeviceEvent;
12import org.onlab.onos.net.device.DeviceListener;
13import org.onlab.onos.net.device.DeviceService;
tom0755a362014-09-24 11:54:43 -070014import org.slf4j.Logger;
15
16import static org.slf4j.LoggerFactory.getLogger;
17
18/**
19 * Playground app component.
20 */
21@Component(immediate = true)
22public class FooComponent {
23
24 private final Logger log = getLogger(getClass());
25
26 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
27 protected ClusterService clusterService;
28
tom0768a022014-09-24 16:16:16 -070029 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
30 protected DeviceService deviceService;
31
32 private final ClusterEventListener clusterListener = new InnerClusterListener();
33 private final DeviceListener deviceListener = new InnerDeviceListener();
tom0755a362014-09-24 11:54:43 -070034
35 @Activate
36 public void activate() {
37 clusterService.addListener(clusterListener);
tom0768a022014-09-24 16:16:16 -070038 deviceService.addListener(deviceListener);
tom0755a362014-09-24 11:54:43 -070039 log.info("Started");
40 }
41
42 @Deactivate
43 public void deactivate() {
44 clusterService.removeListener(clusterListener);
tom0768a022014-09-24 16:16:16 -070045 deviceService.removeListener(deviceListener);
tom0755a362014-09-24 11:54:43 -070046 log.info("Stopped");
47 }
48
49 private class InnerClusterListener implements ClusterEventListener {
50 @Override
51 public void event(ClusterEvent event) {
52 log.info("WOOOOT! {}", event);
53 }
54 }
tom0768a022014-09-24 16:16:16 -070055
56 private class InnerDeviceListener implements DeviceListener {
57 @Override
58 public void event(DeviceEvent event) {
59 log.info("YEEEEHAAAAW! {}", event);
60 }
61 }
tom0755a362014-09-24 11:54:43 -070062}
63
64