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%2Fmessages%2FCanCommitTransactionReply.java;h=7e8cd436d2ce0133d612eaa0ec2ad31ec57b54c9;hb=daaef05cbf70e6cbec9af181258faead6d9620a6;hp=d143c14b3bd491147d5dabc42301878601f4a99f;hpb=c1362c86eb19e92e6c64d10099a45deb499c6db1;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/CanCommitTransactionReply.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/CanCommitTransactionReply.java index d143c14b3b..7e8cd436d2 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/CanCommitTransactionReply.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/CanCommitTransactionReply.java @@ -8,14 +8,39 @@ package org.opendaylight.controller.cluster.datastore.messages; -public class CanCommitTransactionReply { - private final Boolean canCommit; +import org.opendaylight.controller.protobuff.messages.cohort3pc.ThreePhaseCommitCohortMessages; - public CanCommitTransactionReply(Boolean canCommit) { - this.canCommit = canCommit; - } +public class CanCommitTransactionReply implements SerializableMessage { + public static final Class SERIALIZABLE_CLASS = + ThreePhaseCommitCohortMessages.CanCommitTransactionReply.class; - public Boolean getCanCommit() { - return canCommit; - } + public static final CanCommitTransactionReply YES = new CanCommitTransactionReply(true); + public static final CanCommitTransactionReply NO = new CanCommitTransactionReply(false); + + private static final ThreePhaseCommitCohortMessages.CanCommitTransactionReply YES_SERIALIZED = + ThreePhaseCommitCohortMessages.CanCommitTransactionReply.newBuilder().setCanCommit(true).build(); + + private static final ThreePhaseCommitCohortMessages.CanCommitTransactionReply NO_SERIALIZED = + ThreePhaseCommitCohortMessages.CanCommitTransactionReply.newBuilder().setCanCommit(false).build(); + + private final boolean canCommit; + + private CanCommitTransactionReply(final boolean canCommit) { + this.canCommit = canCommit; + } + + public boolean getCanCommit() { + return canCommit; + } + + @Override + public Object toSerializable() { + return canCommit ? YES_SERIALIZED : NO_SERIALIZED; + } + + public static CanCommitTransactionReply fromSerializable(final Object message) { + ThreePhaseCommitCohortMessages.CanCommitTransactionReply serialized = + (ThreePhaseCommitCohortMessages.CanCommitTransactionReply) message; + return serialized.getCanCommit() ? YES : NO; + } }