X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fdom%2Fbroker%2FDataBrokerImpl.java;h=8f62be97d801f7a557026a1aacd054bdaf5f6936;hp=d95fdcc53dbc68019704b876c7a2ea7bdb34051e;hb=43a4eb1e085754c92a88b0d9740610fe382298f8;hpb=f8e25f0e3d6196b5d3625c94a52ed5a6ab3fe5a7 diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/DataBrokerImpl.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/DataBrokerImpl.java index d95fdcc53d..8f62be97d8 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/DataBrokerImpl.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/DataBrokerImpl.java @@ -1,5 +1,7 @@ package org.opendaylight.controller.sal.dom.broker; +import java.util.concurrent.atomic.AtomicLong; + import org.opendaylight.controller.md.sal.common.api.data.DataReader; import org.opendaylight.controller.md.sal.common.impl.service.AbstractDataBroker; import org.opendaylight.controller.sal.common.DataStoreIdentifier; @@ -11,16 +13,28 @@ import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.data.api.CompositeNode; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +import com.google.common.util.concurrent.MoreExecutors; + public class DataBrokerImpl extends AbstractDataBroker implements - DataProviderService { + DataProviderService, AutoCloseable { + private AtomicLong nextTransaction = new AtomicLong(); + private final AtomicLong createdTransactionsCount = new AtomicLong(); + public DataBrokerImpl() { setDataReadRouter(new DataReaderRouter()); + setExecutor(MoreExecutors.sameThreadExecutor()); } - + + public AtomicLong getCreatedTransactionsCount() { + return createdTransactionsCount; + } + @Override public DataTransactionImpl beginTransaction() { - return new DataTransactionImpl(this); + String transactionId = "DOM-" + nextTransaction.getAndIncrement(); + createdTransactionsCount.getAndIncrement(); + return new DataTransactionImpl(transactionId,this); } @Override @@ -38,29 +52,31 @@ public class DataBrokerImpl extends AbstractDataBroker