blob: 627573f06c556f73c8f343f44a803d47fb499405 [file] [log] [blame]
tom5ac51882014-08-27 18:10:33 -07001package org.onlab.onos.impl;
tom0eb04ca2014-08-25 14:34:51 -07002
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;
tom5ac51882014-08-27 18:10:33 -07008import org.onlab.onos.GreetService;
tom0eb04ca2014-08-25 14:34:51 -07009import org.slf4j.Logger;
tom5f38b3a2014-08-27 23:50:54 -070010
11import static org.slf4j.LoggerFactory.getLogger;
tom0eb04ca2014-08-25 14:34:51 -070012
13/**
14 * Example of a component that does not provide any service, but consumes one.
15 */
16@Component(immediate = true)
17public class SomeOtherComponent {
18
tom5f38b3a2014-08-27 23:50:54 -070019 private final Logger log = getLogger(getClass());
tom0eb04ca2014-08-25 14:34:51 -070020
21 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
22 protected GreetService service;
23 // protected to allow injection for testing;
24 // alternative is to write bindSeedService and unbindSeedService, which is more code
25
26 @Activate
27 public void activate() {
28 log.info("SomeOtherComponent started");
29 service.yo("neighbour");
30 }
31
32 @Deactivate
33 public void deactivate() {
34 log.info("SomeOtherComponent stopped");
35 }
36
37}