import org.opendaylight.controller.cluster.datastore.messages.CreateTransactionReply;
import org.opendaylight.controller.sal.core.spi.data.DOMStoreReadWriteTransaction;
import org.opendaylight.controller.sal.core.spi.data.DOMStoreTransactionChain;
import org.opendaylight.controller.cluster.datastore.messages.CreateTransactionReply;
import org.opendaylight.controller.sal.core.spi.data.DOMStoreReadWriteTransaction;
import org.opendaylight.controller.sal.core.spi.data.DOMStoreTransactionChain;
public class ShardTransactionChain extends AbstractUntypedActor {
private final DOMStoreTransactionChain chain;
public class ShardTransactionChain extends AbstractUntypedActor {
private final DOMStoreTransactionChain chain;
- if (message instanceof CreateTransaction) {
- CreateTransaction createTransaction = (CreateTransaction) message;
+ if (message.getClass().equals(CreateTransaction.SERIALIZABLE_CLASS)) {
+ CreateTransaction createTransaction = CreateTransaction.fromSerializable( message);
- getSender().tell(new CloseTransactionChainReply(), getSelf());
+ getSender().tell(new CloseTransactionChainReply().toSerializable(), getSelf());
+ }else{
+ throw new Exception("Not recognized message recieved="+message);
DOMStoreReadWriteTransaction transaction =
chain.newReadWriteTransaction();
ActorRef transactionActor = getContext().actorOf(ShardTransaction
DOMStoreReadWriteTransaction transaction =
chain.newReadWriteTransaction();
ActorRef transactionActor = getContext().actorOf(ShardTransaction
- .props(chain, transaction, getContext().parent()), "shard-" + createTransaction.getTransactionId());
+ .props(chain, transaction, getContext().parent(), schemaContext), "shard-" + createTransaction.getTransactionId());
- .tell(new CreateTransactionReply(transactionActor.path(), createTransaction.getTransactionId()),
+ .tell(new CreateTransactionReply(transactionActor.path().toString(),createTransaction.getTransactionId()).toSerializable(),
return Props.create(new Creator<ShardTransactionChain>() {
@Override
public ShardTransactionChain create() throws Exception {
return Props.create(new Creator<ShardTransactionChain>() {
@Override
public ShardTransactionChain create() throws Exception {