X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FShardTransaction.java;h=7a0b19742e7843c979bd21d35eb5c28cafd5dfc8;hb=321d959d82bf14a6826e5bf42419c1a1460a1cbc;hp=33e13694437e5535e5f05fd0fd5a81eb683c8ba7;hpb=12a178609f39e8c73856fc640813cfda9f058167;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java index 33e1369443..7a0b19742e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java @@ -123,8 +123,8 @@ public class ShardTransaction extends AbstractUntypedActor { @Override public void handleReceive(Object message) throws Exception { - if (message instanceof ReadData) { - readData((ReadData) message); + if (ReadData.SERIALIZABLE_CLASS.equals(message.getClass())) { + readData(ReadData.fromSerializable(message)); } else if (WriteData.SERIALIZABLE_CLASS.equals(message.getClass())) { writeData(WriteData.fromSerializable(message, schemaContext)); } else if (MergeData.SERIALIZABLE_CLASS.equals(message.getClass())) { @@ -139,6 +139,8 @@ public class ShardTransaction extends AbstractUntypedActor { // This is here for testing only getSender().tell(new GetCompositeModificationReply( new ImmutableCompositeModification(modification)), getSelf()); + }else{ + throw new Exception ("handleRecieve received an unknown mesages"+message); } } @@ -155,9 +157,9 @@ public class ShardTransaction extends AbstractUntypedActor { try { Optional> optional = future.get(); if (optional.isPresent()) { - sender.tell(new ReadDataReply(optional.get()), self); + sender.tell(new ReadDataReply(schemaContext,optional.get()).toSerializable(), self); } else { - sender.tell(new ReadDataReply(null), self); + sender.tell(new ReadDataReply(schemaContext,null).toSerializable(), self); } } catch (InterruptedException | ExecutionException e) { log.error(e, @@ -172,14 +174,14 @@ public class ShardTransaction extends AbstractUntypedActor { private void writeData(WriteData message) { modification.addModification( - new WriteModification(message.getPath(), message.getData())); + new WriteModification(message.getPath(), message.getData(),schemaContext)); transaction.write(message.getPath(), message.getData()); getSender().tell(new WriteDataReply(), getSelf()); } private void mergeData(MergeData message) { modification.addModification( - new MergeModification(message.getPath(), message.getData())); + new MergeModification(message.getPath(), message.getData(), schemaContext)); transaction.merge(message.getPath(), message.getData()); getSender().tell(new MergeDataReply(), getSelf()); }