24e34c0a95766265bd3ee42e57367c4478c9b295
[hc2vpp.git] /
1 package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.impl.rev141210;
2
3 import io.fd.honeycomb.v3po.data.impl.DataBroker;
4 import java.util.Map;
5 import javax.annotation.Nonnull;
6 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
7 import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener;
8 import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
9 import org.opendaylight.controller.md.sal.dom.api.DOMDataBrokerExtension;
10 import org.opendaylight.controller.md.sal.dom.api.DOMDataChangeListener;
11 import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction;
12 import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
13 import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
14 import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
15 import org.opendaylight.yangtools.concepts.ListenerRegistration;
16 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
17 import org.slf4j.Logger;
18 import org.slf4j.LoggerFactory;
19
20 public class DataBrokerModule extends
21         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.impl.rev141210.AbstractDataBrokerModule {
22
23     private static final Logger LOG = LoggerFactory.getLogger(DataBrokerModule.class);
24
25     public DataBrokerModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,
26                             org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
27         super(identifier, dependencyResolver);
28     }
29
30     public DataBrokerModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier,
31                             org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
32                             org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.impl.rev141210.DataBrokerModule oldModule,
33                             java.lang.AutoCloseable oldInstance) {
34         super(identifier, dependencyResolver, oldModule, oldInstance);
35     }
36
37     @Override
38     public void customValidation() {
39         // add custom validation form module attributes here.
40     }
41
42     @Override
43     public java.lang.AutoCloseable createInstance() {
44         LOG.debug("DataBrokerModule.createInstance()");
45         return new CloseableDataBroker(
46                 new DataBroker(getOperationalDataTreeDependency(), getConfigDataTreeDependency()));
47     }
48
49     private static final class CloseableDataBroker implements AutoCloseable, DOMDataBroker {
50
51         private final DataBroker delegate;
52
53         CloseableDataBroker(final DataBroker delegate) {
54             this.delegate = delegate;
55         }
56
57         @Override
58         public void close() throws Exception {
59             LOG.debug("CloseableDataBroker.close()");
60             // NOP
61         }
62
63         @Override
64         public DOMDataReadOnlyTransaction newReadOnlyTransaction() {
65             LOG.trace("CloseableDataBroker.newReadOnlyTransaction()");
66             return delegate.newReadOnlyTransaction();
67         }
68
69         @Override
70         public DOMDataReadWriteTransaction newReadWriteTransaction() {
71             LOG.trace("CloseableDataBroker.newReadWriteTransaction()");
72             return delegate.newReadWriteTransaction();
73         }
74
75         @Override
76         public DOMDataWriteTransaction newWriteOnlyTransaction() {
77             LOG.trace("CloseableDataBroker.newWriteOnlyTransaction()");
78             return delegate.newWriteOnlyTransaction();
79         }
80
81         @Override
82         public ListenerRegistration<DOMDataChangeListener> registerDataChangeListener(final LogicalDatastoreType store,
83                                                                                       final YangInstanceIdentifier path,
84                                                                                       final DOMDataChangeListener listener,
85                                                                                       final DataChangeScope triggeringScope) {
86             LOG.trace("CloseableDataBroker.createTransactionChain store={}, path={}, listener={}, triggeringScope={}",
87                     store, path, listener, triggeringScope);
88             return delegate.registerDataChangeListener(store, path, listener, triggeringScope);
89         }
90
91         @Override
92         public DOMTransactionChain createTransactionChain(final TransactionChainListener listener) {
93             LOG.trace("CloseableDataBroker.createTransactionChain listener={}", listener);
94             return delegate.createTransactionChain(listener);
95         }
96
97         @Nonnull
98         @Override
99         public Map<Class<? extends DOMDataBrokerExtension>, DOMDataBrokerExtension> getSupportedExtensions() {
100             LOG.trace("CloseableDataBroker.getSupportedExtensions()");
101             return delegate.getSupportedExtensions();
102         }
103     }
104 }