24a1ca5196e6246da5afea425f415422a64fdc64
[honeycomb.git] / v3po / data-impl / src / main / java / org / opendaylight / yang / gen / v1 / urn / honeycomb / params / xml / ns / yang / data / impl / rev160411 / OperationalDataTreeModule.java
1 package org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.impl.rev160411;
2
3 import com.google.common.base.Optional;
4 import com.google.common.util.concurrent.CheckedFuture;
5 import io.fd.honeycomb.v3po.data.ReadableDataTree;
6 import io.fd.honeycomb.v3po.data.impl.OperationalDataTree;
7 import javax.annotation.Nonnull;
8 import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
9 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
10 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
11 import org.slf4j.Logger;
12 import org.slf4j.LoggerFactory;
13
14 public class OperationalDataTreeModule extends
15         org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.impl.rev160411.AbstractOperationalDataTreeModule {
16
17     private static final Logger LOG = LoggerFactory.getLogger(OperationalDataTreeModule.class);
18
19     public OperationalDataTreeModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,
20                                      org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
21         super(identifier, dependencyResolver);
22     }
23
24     public OperationalDataTreeModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,
25                                      org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
26                                      org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.impl.rev160411.OperationalDataTreeModule oldModule,
27                                      java.lang.AutoCloseable oldInstance) {
28         super(identifier, dependencyResolver, oldModule, oldInstance);
29     }
30
31     @Override
32     public void customValidation() {
33         // add custom validation form module attributes here.
34     }
35
36     @Override
37     public java.lang.AutoCloseable createInstance() {
38         LOG.debug("OperationalDataTreeModule.createInstance()");
39         return new CloseableOperationalDataTree(
40                 new OperationalDataTree(getSerializerDependency(), getSchemaServiceDependency().getGlobalContext(),
41                         getReaderRegistryDependency()));
42     }
43
44     private static final class CloseableOperationalDataTree implements ReadableDataTree, AutoCloseable {
45
46         private final OperationalDataTree delegate;
47
48         CloseableOperationalDataTree(final OperationalDataTree delegate) {
49             this.delegate = delegate;
50         }
51
52         @Override
53         public void close() throws Exception {
54             LOG.debug("CloseableOperationalDataTree.close()");
55             // NOP
56         }
57
58         @Override
59         public CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read(
60                 @Nonnull final YangInstanceIdentifier path) {
61             LOG.trace("CloseableOperationalDataTree.read path={}", path);
62             return delegate.read(path);
63         }
64     }
65 }