1 package org.opendaylight.controller.sal.dom.broker;
3 import java.util.concurrent.atomic.AtomicLong;
5 import org.opendaylight.controller.md.sal.common.api.data.DataReader;
6 import org.opendaylight.controller.md.sal.common.impl.service.AbstractDataBroker;
7 import org.opendaylight.controller.sal.common.DataStoreIdentifier;
8 import org.opendaylight.controller.sal.core.api.data.DataChangeListener;
9 import org.opendaylight.controller.sal.core.api.data.DataProviderService;
10 import org.opendaylight.controller.sal.core.api.data.DataValidator;
11 import org.opendaylight.controller.sal.dom.broker.impl.DataReaderRouter;
12 import org.opendaylight.yangtools.concepts.Registration;
13 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
14 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
16 public class DataBrokerImpl extends AbstractDataBroker<InstanceIdentifier, CompositeNode, DataChangeListener> implements
17 DataProviderService, AutoCloseable {
19 private AtomicLong nextTransaction = new AtomicLong();
20 private final AtomicLong createdTransactionsCount = new AtomicLong();
22 public DataBrokerImpl() {
23 setDataReadRouter(new DataReaderRouter());
26 public AtomicLong getCreatedTransactionsCount() {
27 return createdTransactionsCount;
31 public DataTransactionImpl beginTransaction() {
32 String transactionId = "DOM-" + nextTransaction.getAndIncrement();
33 createdTransactionsCount.getAndIncrement();
34 return new DataTransactionImpl(transactionId,this);
38 public Registration<DataReader<InstanceIdentifier, CompositeNode>> registerConfigurationReader(
39 InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader) {
40 return getDataReadRouter().registerConfigurationReader(path, reader);
44 public Registration<DataReader<InstanceIdentifier, CompositeNode>> registerOperationalReader(
45 InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader) {
46 return getDataReadRouter().registerOperationalReader(path, reader);
51 public void addValidator(DataStoreIdentifier store, DataValidator validator) {
52 throw new UnsupportedOperationException("Deprecated");
58 public void removeValidator(DataStoreIdentifier store, DataValidator validator) {
59 throw new UnsupportedOperationException("Deprecated");
64 public void addRefresher(DataStoreIdentifier store, DataRefresher refresher) {
65 throw new UnsupportedOperationException("Deprecated");
70 public void removeRefresher(DataStoreIdentifier store, DataRefresher refresher) {
71 throw new UnsupportedOperationException("Deprecated");
75 public void close() throws Exception {