8e6b0645997cd1eb1cf7f18405db086fc7eee657
[packetcable.git] / packetcable-consumer / src / main / java / org / opendaylight / controller / config / yang / config / pcmm_service / impl / PcmmServiceModule.java
1 package org.opendaylight.controller.config.yang.config.pcmm_service.impl;
2
3 import org.opendaylight.controller.org.pcmm.api.PcmmService;
4 import org.opendaylight.controller.org.pcmm.impl.PcmmServiceImpl;
5 //import org.opendaylight.yang.gen.v1.urn.opendaylight.packetcable.service.rev140120.PacketcableServiceService;
6 import org.opendaylight.yangtools.concepts.Registration;
7
8 public class PcmmServiceModule
9                 extends
10                 org.opendaylight.controller.config.yang.config.pcmm_service.impl.AbstractPcmmServiceModule {
11         public PcmmServiceModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
12                 super(identifier, dependencyResolver);
13         }
14
15         public PcmmServiceModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.pcmm_service.impl.PcmmServiceModule oldModule, java.lang.AutoCloseable oldInstance) {
16                 super(identifier, dependencyResolver, oldModule, oldInstance);
17         }
18
19         @Override
20         public void customValidation() {
21                 // add custom validation form module attributes here.
22         }
23
24         @Override
25         public java.lang.AutoCloseable createInstance() {
26                 // PacketcableServiceService packetcableServiceService =
27                 // getRpcRegistryDependency().getRpcService(PacketcableServiceService.class);
28                 final PcmmService pcmmService = new PcmmServiceImpl();
29                 final Registration pcmmListenerReg = getNotificationServiceDependency().registerNotificationListener(pcmmService);
30                 final PcmmServiceRuntimeRegistration runtimeReg = getRootRuntimeBeanRegistratorWrapper().register(pcmmService);
31                 return new AutoCloseablePcmmService(pcmmListenerReg, runtimeReg);
32         }
33
34         class AutoCloseablePcmmService extends PcmmServiceImpl implements
35                         AutoCloseable {
36
37                 private PcmmServiceRuntimeRegistration runtimeReg;
38                 private Registration pcmmListenerReg;
39
40                 public AutoCloseablePcmmService(Registration pcmmListenerReg, PcmmServiceRuntimeRegistration runtimeReg) {
41                         super();
42                         this.runtimeReg = runtimeReg;
43                         this.pcmmListenerReg = pcmmListenerReg;
44                 }
45
46                 @Override
47                 public void close() throws Exception {
48                         pcmmListenerReg.close();
49                         runtimeReg.close();
50                 }
51
52         }
53 }