BUG 1712 - Distributed DataStore does not work properly with Transaction Chains
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / messages / CloseTransactionChain.java
index 04c422b68e0909decec335b298d478a89417b308..74de6c5aeacd3a39e777512980745d9190d7838c 100644 (file)
@@ -8,5 +8,31 @@
 
 package org.opendaylight.controller.cluster.datastore.messages;
 
-public class CloseTransactionChain {
+import org.opendaylight.controller.protobuff.messages.transaction.ShardTransactionChainMessages;
+
+public class CloseTransactionChain implements SerializableMessage {
+    public static final Class SERIALIZABLE_CLASS =
+        ShardTransactionChainMessages.CloseTransactionChain.class;
+    private final String transactionChainId;
+
+    public CloseTransactionChain(String transactionChainId){
+        this.transactionChainId = transactionChainId;
+    }
+
+    @Override
+    public Object toSerializable() {
+        return ShardTransactionChainMessages.CloseTransactionChain.newBuilder()
+            .setTransactionChainId(transactionChainId).build();
+    }
+
+    public static CloseTransactionChain fromSerializable(Object message){
+        ShardTransactionChainMessages.CloseTransactionChain closeTransactionChain
+            = (ShardTransactionChainMessages.CloseTransactionChain) message;
+
+        return new CloseTransactionChain(closeTransactionChain.getTransactionChainId());
+    }
+
+    public String getTransactionChainId() {
+        return transactionChainId;
+    }
 }