1 package org.opendaylight.controller.sal.binding.impl;
\r
4 import java.util.concurrent.Future;
\r
5 import java.util.concurrent.atomic.AtomicLong;
\r
7 import org.opendaylight.controller.md.sal.common.impl.service.AbstractDataBroker;
\r
8 import org.opendaylight.controller.sal.binding.api.data.DataChangeListener;
\r
9 import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
\r
10 import org.opendaylight.controller.sal.binding.impl.util.BindingAwareDataReaderRouter;
\r
11 import org.opendaylight.controller.sal.common.DataStoreIdentifier;
\r
12 import org.opendaylight.yangtools.yang.binding.DataObject;
\r
13 import org.opendaylight.yangtools.yang.binding.DataRoot;
\r
14 import org.opendaylight.yangtools.yang.binding.Identifiable;
\r
15 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
\r
16 import org.opendaylight.yangtools.yang.common.RpcResult;
\r
19 public class DataBrokerImpl extends AbstractDataBroker<InstanceIdentifier<? extends DataObject>, DataObject, DataChangeListener> //
\r
20 implements DataProviderService, AutoCloseable {
\r
22 private final AtomicLong nextTransaction = new AtomicLong();
\r
23 private final AtomicLong createdTransactionsCount = new AtomicLong();
\r
25 public AtomicLong getCreatedTransactionsCount() {
\r
26 return createdTransactionsCount;
\r
29 public DataBrokerImpl() {
\r
30 setDataReadRouter(new BindingAwareDataReaderRouter());
\r
34 public DataTransactionImpl beginTransaction() {
\r
35 String transactionId = "BA-" + nextTransaction.getAndIncrement();
\r
36 createdTransactionsCount.getAndIncrement();
\r
37 return new DataTransactionImpl(transactionId,this);
\r
42 public <T extends DataRoot> T getData(DataStoreIdentifier store, Class<T> rootType) {
\r
43 throw new UnsupportedOperationException("Deprecated");
\r
48 public <T extends DataRoot> T getData(DataStoreIdentifier store, T filter) {
\r
49 throw new UnsupportedOperationException("Deprecated");
\r
54 public <T extends DataRoot> T getCandidateData(DataStoreIdentifier store, Class<T> rootType) {
\r
55 throw new UnsupportedOperationException("Deprecated");
\r
60 public <T extends DataRoot> T getCandidateData(DataStoreIdentifier store, T filter) {
\r
61 throw new UnsupportedOperationException("Deprecated");
\r
66 public RpcResult<DataRoot> editCandidateData(DataStoreIdentifier store, DataRoot changeSet) {
\r
67 throw new UnsupportedOperationException("Deprecated");
\r
72 public Future<RpcResult<Void>> commit(DataStoreIdentifier store) {
\r
73 throw new UnsupportedOperationException("Deprecated");
\r
78 public DataObject getData(InstanceIdentifier<? extends DataObject> data) {
\r
79 throw new UnsupportedOperationException("Deprecated");
\r
84 public DataObject getConfigurationData(InstanceIdentifier<?> data) {
\r
85 throw new UnsupportedOperationException("Deprecated");
\r
90 public void registerChangeListener(InstanceIdentifier<? extends DataObject> path, DataChangeListener changeListener) {
\r
91 throw new UnsupportedOperationException("Deprecated");
\r
96 public void unregisterChangeListener(InstanceIdentifier<? extends DataObject> path,
\r
97 DataChangeListener changeListener) {
\r
98 throw new UnsupportedOperationException("Deprecated");
\r
102 public void close() throws Exception {
\r
108 protected boolean isAffectedBy(InstanceIdentifier<? extends DataObject> key,
109 Set<InstanceIdentifier<? extends DataObject>> paths) {
110 if (paths.contains(key)) {
113 for (InstanceIdentifier<?> path : paths) {
114 if (key.containsWildcarded(path)) {