3fff82e32090905574a8404e8e311446daa2c1c2
[hc2vpp.git] /
1 package org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.vpp.data.init.rev160407;
2
3 import io.fd.honeycomb.v3po.vpp.data.init.InitializerRegistry;
4 import io.fd.honeycomb.v3po.vpp.data.init.InitializerRegistryImpl;
5 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory;
7
8 /**
9 * Initializer registry, delegating initialization to a list of initializers
10 */
11 public class ConfigurationInitializerRegistryModule extends org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.vpp.data.init.rev160407.AbstractConfigurationInitializerRegistryModule {
12
13     private static final Logger LOG = LoggerFactory.getLogger(ConfigurationInitializerRegistryModule.class);
14
15     public ConfigurationInitializerRegistryModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
16         super(identifier, dependencyResolver);
17     }
18
19     public ConfigurationInitializerRegistryModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.vpp.data.init.rev160407.ConfigurationInitializerRegistryModule oldModule, java.lang.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 java.lang.AutoCloseable createInstance() {
30         LOG.info("VppConfigurationInitializerModule.createInstance(): initialization started");
31
32         final InitializerRegistry initializer = new InitializerRegistryImpl(getInitializersDependency());
33
34         try {
35             // Initialize contexts first so that other initializers can find any relevant mapping before initializing
36             // configuration to what is already in VPP
37             getPersistedContextInitializerDependency().initialize();
38             LOG.info("Persisted context restored successfully");
39             // Initialize all registered initializers
40             initializer.initialize();
41             LOG.info("VPP configuration initialized successfully from VPP");
42             // Initialize stored configuration on top
43             getPersistedConfigInitializerDependency().initialize();
44             LOG.info("Persisted configuration restored successfully");
45         } catch (Exception e) {
46             LOG.warn("Failed to initialize config", e);
47         }
48
49         LOG.info("Honeycomb initialized");
50
51         return initializer;
52     }
53
54 }