- public static CanCommitTransactionReply fromSerializable(final Object message) {
- ThreePhaseCommitCohortMessages.CanCommitTransactionReply serialized =
- (ThreePhaseCommitCohortMessages.CanCommitTransactionReply) message;
- return serialized.getCanCommit() ? YES : NO;
+ @Override
+ public String toString() {
+ return "CanCommitTransactionReply [canCommit=" + canCommit + ", version=" + getVersion() + "]";
+ }
+
+ public static CanCommitTransactionReply yes(short version) {
+ return version == DataStoreVersions.CURRENT_VERSION ? YES : new CanCommitTransactionReply(true, version);
+ }
+
+ public static CanCommitTransactionReply no(short version) {
+ return version == DataStoreVersions.CURRENT_VERSION ? NO : new CanCommitTransactionReply(false, version);
+ }
+
+ public static CanCommitTransactionReply fromSerializable(final Object serializable) {
+ if(serializable instanceof CanCommitTransactionReply) {
+ return (CanCommitTransactionReply)serializable;
+ } else {
+ ThreePhaseCommitCohortMessages.CanCommitTransactionReply serialized =
+ (ThreePhaseCommitCohortMessages.CanCommitTransactionReply) serializable;
+ return serialized.getCanCommit() ? YES : NO;
+ }
+ }
+
+ public static boolean isSerializedType(Object message) {
+ return message instanceof CanCommitTransactionReply ||
+ message instanceof ThreePhaseCommitCohortMessages.CanCommitTransactionReply;