Merge "BUG-2218: Keep existing link augmentations during discovery process"
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / messages / CloseTransactionChain.java
index efa51fde2090c3762f8d32e5d75b2a4a50c77757..7db39b77a3063878f5fad44cbb61b3594b7b720f 100644 (file)
@@ -10,10 +10,29 @@ package org.opendaylight.controller.cluster.datastore.messages;
 
 import org.opendaylight.controller.protobuff.messages.transaction.ShardTransactionChainMessages;
 
-public class CloseTransactionChain implements SerializableMessage{
-  public static final Class SERIALIZABLE_CLASS = ShardTransactionChainMessages.CloseTransactionChain.class;
-  @Override
-  public Object toSerializable() {
-    return ShardTransactionChainMessages.CloseTransactionChain.newBuilder().build();
-  }
+public class CloseTransactionChain implements SerializableMessage {
+    public static final Class<ShardTransactionChainMessages.CloseTransactionChain> SERIALIZABLE_CLASS =
+        ShardTransactionChainMessages.CloseTransactionChain.class;
+    private final String transactionChainId;
+
+    public CloseTransactionChain(final String transactionChainId){
+        this.transactionChainId = transactionChainId;
+    }
+
+    @Override
+    public Object toSerializable() {
+        return ShardTransactionChainMessages.CloseTransactionChain.newBuilder()
+            .setTransactionChainId(transactionChainId).build();
+    }
+
+    public static CloseTransactionChain fromSerializable(final Object message){
+        ShardTransactionChainMessages.CloseTransactionChain closeTransactionChain
+            = (ShardTransactionChainMessages.CloseTransactionChain) message;
+
+        return new CloseTransactionChain(closeTransactionChain.getTransactionChainId());
+    }
+
+    public String getTransactionChainId() {
+        return transactionChainId;
+    }
 }