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.ListenableFuture;
import java.util.concurrent.locks.ReentrantReadWriteLock;
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.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);
}
- public <T extends DataObject> CheckedFuture<Optional<T>,
- ReadFailedException> read(LogicalDatastoreType store,InstanceIdentifier<T> path) {
+ public <T extends DataObject> ListenableFuture<Optional<T>>
+ read(LogicalDatastoreType store,InstanceIdentifier<T> path) {
- CheckedFuture<Optional<T>, ReadFailedException> result = null;
+ ListenableFuture<Optional<T>> 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();
public <T extends DataObject> 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);
}
InstanceIdentifier<T> path, T data, boolean createMissingParents) {
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, createMissingParents);
}
InstanceIdentifier<T> 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);
}
InstanceIdentifier<T> path, T data, boolean createMissingParents) {
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, createMissingParents);
}
InstanceIdentifier<T> 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);
}
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();
}