ac5313a9caa99fdaf4fdb5c29fd7690b08e3589c
[controller.git] / opendaylight / md-sal / sal-dom-broker / src / main / java / org / opendaylight / controller / sal / dom / broker / DataBrokerImpl.java
1 package org.opendaylight.controller.sal.dom.broker;
2
3 import java.util.concurrent.atomic.AtomicLong;
4
5 import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent;
6 import org.opendaylight.controller.md.sal.common.api.data.DataReader;
7 import org.opendaylight.controller.md.sal.common.impl.service.AbstractDataBroker;
8 import org.opendaylight.controller.sal.common.DataStoreIdentifier;
9 import org.opendaylight.controller.sal.core.api.data.DataChangeListener;
10 import org.opendaylight.controller.sal.core.api.data.DataProviderService;
11 import org.opendaylight.controller.sal.core.api.data.DataValidator;
12 import org.opendaylight.controller.sal.dom.broker.impl.DataReaderRouter;
13 import org.opendaylight.yangtools.concepts.Registration;
14 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
15 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
16
17 public class DataBrokerImpl extends AbstractDataBroker<InstanceIdentifier, CompositeNode, DataChangeListener> implements
18         DataProviderService {
19
20     public DataBrokerImpl() {
21         setDataReadRouter(new DataReaderRouter());
22     }
23
24     private AtomicLong nextTransaction = new AtomicLong();
25     
26     @Override
27     public DataTransactionImpl beginTransaction() {
28         String transactionId = "DOM-" + nextTransaction.getAndIncrement();
29         return new DataTransactionImpl(transactionId,this);
30     }
31
32     @Override
33     public Registration<DataReader<InstanceIdentifier, CompositeNode>> registerConfigurationReader(
34             InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader) {
35         return getDataReadRouter().registerConfigurationReader(path, reader);
36     }
37
38     @Override
39     public Registration<DataReader<InstanceIdentifier, CompositeNode>> registerOperationalReader(
40             InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader) {
41         return getDataReadRouter().registerOperationalReader(path, reader);
42     }
43
44     @Deprecated
45     @Override
46     public void addValidator(DataStoreIdentifier store, DataValidator validator) {
47         throw new UnsupportedOperationException("Deprecated");
48
49     }
50
51     @Deprecated
52     @Override
53     public void removeValidator(DataStoreIdentifier store, DataValidator validator) {
54         throw new UnsupportedOperationException("Deprecated");
55     }
56
57     @Deprecated
58     @Override
59     public void addRefresher(DataStoreIdentifier store, DataRefresher refresher) {
60         throw new UnsupportedOperationException("Deprecated");
61     }
62
63     @Deprecated
64     @Override
65     public void removeRefresher(DataStoreIdentifier store, DataRefresher refresher) {
66         throw new UnsupportedOperationException("Deprecated");
67     }
68
69 }