X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fnetwork%2FRequestProcessor.java;h=54a88c5afed759ca94c8cb1e593973ab71bdda52;hb=3cc9cc2152696a25177e965a40d63a5c0ab5f73f;hp=f64c18195c6e51a8ebc7073372fe82fcbcb5c186;hpb=c8ee06305ef3e445b10ff207a220c7d5b40a8e3c;p=transportpce.git diff --git a/common/src/main/java/org/opendaylight/transportpce/common/network/RequestProcessor.java b/common/src/main/java/org/opendaylight/transportpce/common/network/RequestProcessor.java index f64c18195..54a88c5af 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/network/RequestProcessor.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/network/RequestProcessor.java @@ -7,33 +7,28 @@ */ package org.opendaylight.transportpce.common.network; -import com.google.common.base.Optional; -import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.ListenableFuture; - +import java.util.Optional; import java.util.concurrent.locks.ReentrantReadWriteLock; - -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; -import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; - -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; - +import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.binding.api.ReadWriteTransaction; +import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - - public class RequestProcessor { private static final Logger LOG = LoggerFactory.getLogger(RequestProcessor.class); private final DataBroker dataBroker; private ReadWriteTransaction rwTx; - private ReadOnlyTransaction readTx; + private ReadTransaction readTx; private ReentrantReadWriteLock lock; @@ -47,12 +42,12 @@ public class RequestProcessor { } - public CheckedFuture, - ReadFailedException> read(LogicalDatastoreType store,InstanceIdentifier path) { + public ListenableFuture> + read(LogicalDatastoreType store,InstanceIdentifier path) { - CheckedFuture, ReadFailedException> result = null; + ListenableFuture> result = null; acquireReadLock(); - LOG.debug("Number of threads in queue to read " + lock.getQueueLength()); + LOG.debug("Number of threads in queue to read {}", lock.getQueueLength()); result = rwTx.read(store, path); releaseReadLock(); @@ -62,47 +57,32 @@ public class RequestProcessor { public void delete(LogicalDatastoreType store, InstanceIdentifier path) { acquireLock(); - LOG.info("Number of delete requests waiting in queue :" + lock.getQueueLength()); + LOG.info("Number of delete requests waiting in queue :{}", lock.getQueueLength()); rwTx.delete(store, path); } - public void put(LogicalDatastoreType store, - InstanceIdentifier path, T data, boolean createMissingParents) { - - acquireLock(); - LOG.debug("Number of put requests waiting in queue :" + lock.getQueueLength()); - rwTx.put(store, path, data, createMissingParents); - } public void put(LogicalDatastoreType store, InstanceIdentifier path, T data) { acquireLock(); - LOG.debug("Number of put requests waiting in queue :" + lock.getQueueLength()); + LOG.debug("Number of put requests waiting in queue :{}", lock.getQueueLength()); rwTx.put(store, path, data); } - public void merge(LogicalDatastoreType store, - InstanceIdentifier path, T data, boolean createMissingParents) { - - acquireLock(); - LOG.debug("Number of merge requests waiting in queue :" + lock.getQueueLength()); - rwTx.merge(store, path, data, createMissingParents); - } - public void merge(LogicalDatastoreType store, InstanceIdentifier path, T data) { acquireLock(); - LOG.debug("Number of merge requests waiting in queue :" + lock.getQueueLength()); + LOG.debug("Number of merge requests waiting in queue :{}", lock.getQueueLength()); rwTx.merge(store, path, data); } - public ListenableFuture submit() { + public FluentFuture commit() { acquireLock(); - ListenableFuture future = null; - future = rwTx.submit(); + FluentFuture future = null; + future = rwTx.commit(); releaseLock(); resetRwTx(); return future; @@ -115,33 +95,33 @@ public class RequestProcessor { private void acquireLock() { if (!lock.writeLock().isHeldByCurrentThread()) { lock.writeLock().lock(); - LOG.debug("Number of write lock requests waiting in queue :" + lock.getQueueLength()); - LOG.info("Write Lock acquired by : " + Thread.currentThread().getName()); + LOG.debug("Number of write lock requests waiting in queue :{}", lock.getQueueLength()); + LOG.info("Write Lock acquired by : {}", Thread.currentThread().getName()); rwTx = resetRwTx(); } else { - LOG.debug("Lock already acquired by : " + Thread.currentThread().getName()); + LOG.debug("Lock already acquired by : {}", Thread.currentThread().getName()); } } private void acquireReadLock() { if (lock.getReadHoldCount() > 0) { - LOG.info("Read Lock already acquired by : " + Thread.currentThread().getName()); + LOG.info("Read Lock already acquired by : {}", Thread.currentThread().getName()); } else { lock.readLock().lock(); rwTx = resetRwTx(); - LOG.info("Read Lock acquired by : " + Thread.currentThread().getName()); + LOG.info("Read Lock acquired by : {}", Thread.currentThread().getName()); } } private void releaseLock() { if (lock.writeLock().isHeldByCurrentThread()) { - LOG.info("Write Lock released by : " + Thread.currentThread().getName()); + LOG.info("Write Lock released by : {}", Thread.currentThread().getName()); lock.writeLock().unlock(); } } private void releaseReadLock() { - LOG.info("Read Lock released by : " + Thread.currentThread().getName()); + LOG.info("Read Lock released by : {}", Thread.currentThread().getName()); lock.readLock().unlock(); }