1 package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.engine.impl.rev151010;
3 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
4 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
5 import org.opendaylight.nemo.intent.IntentResolver;
6 import org.opendaylight.nemo.user.UserManager;
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
10 public class NemoEngineModule extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.engine.impl.rev151010.AbstractNemoEngineModule {
11 private static final Logger LOG = LoggerFactory.getLogger(NemoEngineModule.class);
13 public NemoEngineModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
14 super(identifier, dependencyResolver);
17 public NemoEngineModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, NemoEngineModule oldModule, AutoCloseable oldInstance) {
18 super(identifier, dependencyResolver, oldModule, oldInstance);
22 public void customValidation() {
23 // add custom validation form module attributes here.
27 public AutoCloseable createInstance() {
28 DataBroker dataBroker = getDataBrokerDependency();
29 RpcProviderRegistry rpcProviderRegistry = getRpcRegistryDependency();
31 final IntentResolver intentResolver = new IntentResolver(dataBroker);
32 final UserManager userManager = new UserManager(dataBroker, rpcProviderRegistry, intentResolver);
34 final class NemoEngine implements AutoCloseable {
36 public void close() throws Exception {
37 if ( null != intentResolver ) {
38 intentResolver.close();
41 if ( null != userManager ) {
49 LOG.info("Initialized the NEMO engine.");
51 return new NemoEngine();