HONEYCOMB-130: Separate v3po plugin from HC infra
[honeycomb.git] / infra / cfg-init / src / main / java / org / opendaylight / yang / gen / v1 / urn / honeycomb / params / xml / ns / yang / vpp / data / init / rev160407 / PersistedFileInitializerModule.java
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.RestoringInitializer;
4 import java.nio.file.InvalidPathException;
5 import java.nio.file.Paths;
6 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
7 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
8 import org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.api.rev160411.DatatreeType;
9
10 /**
11 * Initializer restoring data from a persisted file
12 */
13 public class PersistedFileInitializerModule extends org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.vpp.data.init.rev160407.AbstractPersistedFileInitializerModule {
14     public PersistedFileInitializerModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
15         super(identifier, dependencyResolver);
16     }
17
18     public PersistedFileInitializerModule(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.PersistedFileInitializerModule oldModule, java.lang.AutoCloseable oldInstance) {
19         super(identifier, dependencyResolver, oldModule, oldInstance);
20     }
21
22     @Override
23     public void customValidation() {
24         try {
25             Paths.get(getPersistFilePath());
26         } catch (InvalidPathException e) {
27             throw new JmxAttributeValidationException("Invalid persist path", e, persistFilePathJmxAttribute);
28         }
29     }
30
31     @Override
32     public java.lang.AutoCloseable createInstance() {
33         return new RestoringInitializer(getSchemaServiceDependency(), Paths.get(getPersistFilePath()),
34             getDomDataBrokerDependency(), getRestorationType(),
35             getDatastoreType() == DatatreeType.Config ? LogicalDatastoreType.CONFIGURATION : LogicalDatastoreType.OPERATIONAL);
36     }
37
38 }