Merge "Bug 164"
[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.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;
15
16 public class DataBrokerImpl extends AbstractDataBroker<InstanceIdentifier, CompositeNode, DataChangeListener> implements
17         DataProviderService {
18
19     public DataBrokerImpl() {
20         setDataReadRouter(new DataReaderRouter());
21     }
22
23     private AtomicLong nextTransaction = new AtomicLong();
24     
25     @Override
26     public DataTransactionImpl beginTransaction() {
27         String transactionId = "DOM-" + nextTransaction.getAndIncrement();
28         return new DataTransactionImpl(transactionId,this);
29     }
30
31     @Override
32     public Registration<DataReader<InstanceIdentifier, CompositeNode>> registerConfigurationReader(
33             InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader) {
34         return getDataReadRouter().registerConfigurationReader(path, reader);
35     }
36
37     @Override
38     public Registration<DataReader<InstanceIdentifier, CompositeNode>> registerOperationalReader(
39             InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader) {
40         return getDataReadRouter().registerOperationalReader(path, reader);
41     }
42
43     @Deprecated
44     @Override
45     public void addValidator(DataStoreIdentifier store, DataValidator validator) {
46         throw new UnsupportedOperationException("Deprecated");
47
48     }
49
50     @Deprecated
51     @Override
52     public void removeValidator(DataStoreIdentifier store, DataValidator validator) {
53         throw new UnsupportedOperationException("Deprecated");
54     }
55
56     @Deprecated
57     @Override
58     public void addRefresher(DataStoreIdentifier store, DataRefresher refresher) {
59         throw new UnsupportedOperationException("Deprecated");
60     }
61
62     @Deprecated
63     @Override
64     public void removeRefresher(DataStoreIdentifier store, DataRefresher refresher) {
65         throw new UnsupportedOperationException("Deprecated");
66     }
67
68 }