BUG-2242: LLDP speaker as separate application.
[openflowplugin.git] / applications / lldp-speaker / src / main / java / org / opendaylight / yang / gen / v1 / urn / opendaylight / params / xml / ns / yang / openflow / applications / lldp / speaker / rev141023 / LLDPSpeakerModule.java
1 package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.applications.lldp.speaker.rev141023;
2
3 import org.opendaylight.controller.config.api.DependencyResolver;
4 import org.opendaylight.controller.config.api.ModuleIdentifier;
5 import org.opendaylight.openflowplugin.applications.lldpspeaker.LLDPSpeaker;
6 import org.opendaylight.openflowplugin.applications.lldpspeaker.NodeConnectorInventoryEventTranslator;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
10
11 public class LLDPSpeakerModule extends AbstractLLDPSpeakerModule {
12     private static final Logger LOG = LoggerFactory.getLogger(LLDPSpeakerModule.class);
13
14     public LLDPSpeakerModule(ModuleIdentifier identifier, DependencyResolver dependencyResolver) {
15         super(identifier, dependencyResolver);
16     }
17
18     public LLDPSpeakerModule(ModuleIdentifier identifier, DependencyResolver dependencyResolver,
19                              LLDPSpeakerModule oldModule, AutoCloseable oldInstance) {
20         super(identifier, dependencyResolver, oldModule, oldInstance);
21     }
22
23     @Override
24     public void customValidation() {
25         // add custom validation form module attributes here.
26     }
27
28     @Override
29     public AutoCloseable createInstance() {
30         LOG.trace("Creating LLDP speaker.");
31
32         PacketProcessingService packetProcessingService =
33                 getRpcRegistryDependency().getRpcService(PacketProcessingService.class);
34
35         final LLDPSpeaker lldpSpeaker = new LLDPSpeaker(packetProcessingService);
36         final NodeConnectorInventoryEventTranslator eventTranslator =
37                 new NodeConnectorInventoryEventTranslator(getDataBrokerDependency(), lldpSpeaker);
38
39         return new AutoCloseable() {
40             @Override
41             public void close() {
42                 LOG.trace("Closing LLDP speaker.");
43                 eventTranslator.close();
44                 lldpSpeaker.close();
45             }
46         };
47     }
48
49 }