Merge "Issue fix for config subsystem"
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / messages / CanCommitTransaction.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.cluster.datastore.messages;
10
11 import org.opendaylight.controller.protobuff.messages.cohort3pc.ThreePhaseCommitCohortMessages;
12
13 public class CanCommitTransaction implements SerializableMessage {
14     public static final Class<?> SERIALIZABLE_CLASS = ThreePhaseCommitCohortMessages.CanCommitTransaction.class;
15
16     private final String transactionID;
17
18     public CanCommitTransaction(String transactionID) {
19         this.transactionID = transactionID;
20     }
21
22     public String getTransactionID() {
23         return transactionID;
24     }
25
26     @Override
27     public Object toSerializable() {
28         return ThreePhaseCommitCohortMessages.CanCommitTransaction.newBuilder().
29                 setTransactionId(transactionID).build();
30     }
31
32     public static CanCommitTransaction fromSerializable(Object message) {
33         return new CanCommitTransaction(((ThreePhaseCommitCohortMessages.CanCommitTransaction)message).
34                 getTransactionId());
35     }
36 }