package org.opendaylight.controller.cluster.datastore;
-import akka.actor.ActorSelection;
import com.google.common.base.Preconditions;
import java.util.Collections;
import java.util.List;
private interface State {
boolean isReady();
- List<Future<ActorSelection>> getPreviousReadyFutures();
+ List<Future<Object>> getPreviousReadyFutures();
}
private static class Allocated implements State {
}
@Override
- public List<Future<ActorSelection>> getPreviousReadyFutures() {
+ public List<Future<Object>> getPreviousReadyFutures() {
return transaction.getReadyFutures();
}
}
private static abstract class AbstractDefaultState implements State {
@Override
- public List<Future<ActorSelection>> getPreviousReadyFutures() {
+ public List<Future<Object>> getPreviousReadyFutures() {
return Collections.emptyList();
}
}
State localState = currentState;
checkReadyState(localState);
- return new ChainedTransactionProxy(actorContext, TransactionProxy.TransactionType.READ_ONLY,
+ return new ChainedTransactionProxy(actorContext, TransactionType.READ_ONLY,
transactionChainId, localState.getPreviousReadyFutures());
}
@Override
public DOMStoreReadWriteTransaction newReadWriteTransaction() {
actorContext.acquireTxCreationPermit();
- return allocateWriteTransaction(TransactionProxy.TransactionType.READ_WRITE);
+ return allocateWriteTransaction(TransactionType.READ_WRITE);
}
@Override
public DOMStoreWriteTransaction newWriteOnlyTransaction() {
actorContext.acquireTxCreationPermit();
- return allocateWriteTransaction(TransactionProxy.TransactionType.WRITE_ONLY);
+ return allocateWriteTransaction(TransactionType.WRITE_ONLY);
}
@Override
currentState = CLOSED_STATE;
// Send a close transaction chain request to each and every shard
- actorContext.broadcast(new CloseTransactionChain(transactionChainId));
+ actorContext.broadcast(new CloseTransactionChain(transactionChainId).toSerializable());
}
- private ChainedTransactionProxy allocateWriteTransaction(TransactionProxy.TransactionType type) {
+ private ChainedTransactionProxy allocateWriteTransaction(TransactionType type) {
State localState = currentState;
checkReadyState(localState);