You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicecomb.apache.org by GitBox <gi...@apache.org> on 2018/01/14 12:39:38 UTC

[GitHub] WillemJiang closed pull request #115: SCB-228 Update to replace the type of TxEvent with Enum

WillemJiang closed pull request #115: SCB-228 Update to replace the type of TxEvent with Enum
URL: https://github.com/apache/incubator-servicecomb-saga/pull/115
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java
index 5534db99..f6b5d763 100644
--- a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java
+++ b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java
@@ -97,7 +97,7 @@ private GrpcTxEvent convertEvent(TxEvent event) {
         .setGlobalTxId(event.globalTxId())
         .setLocalTxId(event.localTxId())
         .setParentTxId(event.parentTxId() == null ? "" : event.parentTxId())
-        .setType(event.type())
+        .setType(event.type().name())
         .setCompensationMethod(event.compensationMethod())
         .setPayloads(payloads);
 
diff --git a/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java b/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java
index f280de0f..8fe5247f 100644
--- a/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java
+++ b/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java
@@ -92,7 +92,7 @@
   private final String localTxId = uniquify("localTxId");
   private final String parentTxId = uniquify("parentTxId");
   private final String compensationMethod = getClass().getCanonicalName();
-  private final TxEvent event = new TxEvent(globalTxId, localTxId, parentTxId, compensationMethod, "blah");
+  private final TxEvent event = new TxEvent(TxEvent.EventType.TxStartedEvent, globalTxId, localTxId, parentTxId, compensationMethod, "blah");
 
   private final String serviceName = uniquify("serviceName");
   private final String[] addresses = {"localhost:8080", "localhost:8090"};
@@ -298,6 +298,7 @@ public void onConnected(GrpcServiceConfig request, StreamObserver<GrpcCompensate
     @Override
     public void onTxEvent(GrpcTxEvent request, StreamObserver<GrpcAck> responseObserver) {
       events.offer(new TxEvent(
+          TxEvent.EventType.valueOf(request.getType()),
           request.getGlobalTxId(),
           request.getLocalTxId(),
           request.getParentTxId(),
@@ -306,7 +307,7 @@ public void onTxEvent(GrpcTxEvent request, StreamObserver<GrpcAck> responseObser
 
       sleep();
 
-      if ("TxAbortedEvent".equals(request.getType())) {
+      if (TxEvent.EventType.TxAbortedEvent.name().equals(request.getType())) {
         this.responseObserver.onNext(GrpcCompensateCommand
             .newBuilder()
             .setGlobalTxId(request.getGlobalTxId())
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaEndedEvent.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaEndedEvent.java
index 3048d36d..8a0c3ebe 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaEndedEvent.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaEndedEvent.java
@@ -20,6 +20,6 @@
 public class SagaEndedEvent extends TxEvent {
 
   public SagaEndedEvent(String globalTxId, String localTxId) {
-    super(globalTxId, localTxId, null, "");
+    super(EventType.SagaEndedEvent, globalTxId, localTxId, null, "");
   }
 }
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaStartedEvent.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaStartedEvent.java
index 0985f595..d5bf70c9 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaStartedEvent.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/SagaStartedEvent.java
@@ -21,6 +21,6 @@
 
   public SagaStartedEvent(String globalTxId, String localTxId) {
     // use "" instead of null as compensationMethod requires not null in sql
-    super(globalTxId, localTxId, null, "");
+    super(EventType.SagaStartedEvent, globalTxId, localTxId, null, "");
   }
 }
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxAbortedEvent.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxAbortedEvent.java
index 0bba8a11..af6ba84b 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxAbortedEvent.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxAbortedEvent.java
@@ -22,7 +22,7 @@
 
 public class TxAbortedEvent extends TxEvent {
   public TxAbortedEvent(String globalTxId, String localTxId, String parentTxId, String compensationMethod, Throwable throwable) {
-    super(globalTxId, localTxId, parentTxId, compensationMethod, stackTrace(throwable));
+    super(EventType.TxAbortedEvent, globalTxId, localTxId, parentTxId, compensationMethod, stackTrace(throwable));
   }
 
   private static String stackTrace(Throwable e) {
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxCompensatedEvent.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxCompensatedEvent.java
index 733e060e..089d4a8f 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxCompensatedEvent.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxCompensatedEvent.java
@@ -19,6 +19,6 @@
 
 public class TxCompensatedEvent extends TxEvent {
   public TxCompensatedEvent(String globalTxId, String localTxId, String parentTxId, String compensationMethod) {
-    super(globalTxId, localTxId, parentTxId, compensationMethod);
+    super(EventType.TxCompensatedEvent, globalTxId, localTxId, parentTxId, compensationMethod);
   }
 }
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxEndedEvent.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxEndedEvent.java
index b08932cd..d03155a9 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxEndedEvent.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxEndedEvent.java
@@ -19,6 +19,6 @@
 
 public class TxEndedEvent extends TxEvent {
   public TxEndedEvent(String globalTxId, String localTxId, String parentTxId, String compensationMethod) {
-    super(globalTxId, localTxId, parentTxId, compensationMethod);
+    super(EventType.TxEndedEvent, globalTxId, localTxId, parentTxId, compensationMethod);
   }
 }
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxEvent.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxEvent.java
index 725ef085..58c79c61 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxEvent.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxEvent.java
@@ -20,15 +20,26 @@
 import java.util.Arrays;
 
 public class TxEvent {
+  public enum EventType {
+    SagaStartedEvent,
+    SagaEndedEvent,
+    TxStartedEvent,
+    TxEndedEvent,
+    TxAbortedEvent,
+    TxCompensatedEvent
+  };
+
   private final long timestamp;
+  private final EventType type;
   private final String globalTxId;
   private final String localTxId;
   private final String parentTxId;
   private final String compensationMethod;
   private final Object[] payloads;
 
-  public TxEvent(String globalTxId, String localTxId, String parentTxId, String compensationMethod, Object... payloads) {
+  public TxEvent(EventType type, String globalTxId, String localTxId, String parentTxId, String compensationMethod, Object... payloads) {
     this.timestamp = System.currentTimeMillis();
+    this.type = type;
     this.localTxId = localTxId;
     this.parentTxId = parentTxId;
     this.compensationMethod = compensationMethod;
@@ -56,8 +67,8 @@ public String parentTxId() {
     return payloads;
   }
 
-  public String type() {
-    return this.getClass().getSimpleName();
+  public EventType type() {
+    return type;
   }
 
   public String compensationMethod() {
@@ -66,7 +77,7 @@ public String compensationMethod() {
 
   @Override
   public String toString() {
-    return "TxEvent{" +
+    return type.name() + "{" +
         "globalTxId='" + globalTxId + '\'' +
         ", localTxId='" + localTxId + '\'' +
         ", parentTxId='" + parentTxId + '\'' +
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxStartedEvent.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxStartedEvent.java
index d54b0614..bd72cd3c 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxStartedEvent.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxStartedEvent.java
@@ -20,6 +20,6 @@
 public class TxStartedEvent extends TxEvent {
 
   public TxStartedEvent(String globalTxId, String localTxId, String parentTxId, String compensationMethod, Object... payloads) {
-    super(globalTxId, localTxId, parentTxId, compensationMethod, payloads);
+    super(EventType.TxStartedEvent, globalTxId, localTxId, parentTxId, compensationMethod, payloads);
   }
 }
diff --git a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptorTest.java b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptorTest.java
index 609ea6d3..a7aa4569 100644
--- a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptorTest.java
+++ b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensableInterceptorTest.java
@@ -65,7 +65,7 @@ public void sendsTxStartedEventBefore() throws Exception {
     assertThat(event.globalTxId(), is(globalTxId));
     assertThat(event.localTxId(), is(localTxId));
     assertThat(event.parentTxId(), is(parentTxId));
-    assertThat(event.type(), is("TxStartedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.TxStartedEvent));
     assertThat(event.compensationMethod(), is(compensationMethod));
     assertThat(asList(event.payloads()), contains(message));
   }
@@ -79,7 +79,7 @@ public void sendsTxEndedEventAfter() throws Exception {
     assertThat(event.globalTxId(), is(globalTxId));
     assertThat(event.localTxId(), is(localTxId));
     assertThat(event.parentTxId(), is(parentTxId));
-    assertThat(event.type(), is("TxEndedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.TxEndedEvent));
     assertThat(event.compensationMethod(), is(compensationMethod));
     assertThat(event.payloads().length, is(0));
   }
@@ -93,7 +93,7 @@ public void sendsTxAbortedEventOnError() throws Exception {
     assertThat(event.globalTxId(), is(globalTxId));
     assertThat(event.localTxId(), is(localTxId));
     assertThat(event.parentTxId(), is(parentTxId));
-    assertThat(event.type(), is("TxAbortedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.TxAbortedEvent));
     assertThat(event.compensationMethod(), is(compensationMethod));
   }
 }
diff --git a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensationMessageHandlerTest.java b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensationMessageHandlerTest.java
index 2585f3fe..08278337 100644
--- a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensationMessageHandlerTest.java
+++ b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/CompensationMessageHandlerTest.java
@@ -53,7 +53,7 @@ public void sendsEventOnCompensationCompleted() throws Exception {
     assertThat(event.globalTxId(), is(globalTxId));
     assertThat(event.localTxId(), is(localTxId));
     assertThat(event.parentTxId(), is(parentTxId));
-    assertThat(event.type(), is("TxCompensatedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.TxCompensatedEvent));
     assertThat(event.compensationMethod(), is(getClass().getCanonicalName()));
     assertThat(event.payloads().length, is(0));
 
diff --git a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessorTest.java b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessorTest.java
index 9b8adf5d..48399b46 100644
--- a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessorTest.java
+++ b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAnnotationProcessorTest.java
@@ -65,7 +65,7 @@ public void sendsSagaStartedEvent() {
     assertThat(event.localTxId(), is(globalTxId));
     assertThat(event.parentTxId(), is(nullValue()));
     assertThat(event.compensationMethod().isEmpty(), is(true));
-    assertThat(event.type(), is("SagaStartedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.SagaStartedEvent));
     assertThat(event.payloads().length, is(0));
   }
 
@@ -79,7 +79,7 @@ public void sendsSagaEndedEvent() {
     assertThat(event.localTxId(), is(globalTxId));
     assertThat(event.parentTxId(), is(nullValue()));
     assertThat(event.compensationMethod().isEmpty(), is(true));
-    assertThat(event.type(), is("SagaEndedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.SagaEndedEvent));
     assertThat(event.payloads().length, is(0));
   }
-}
\ No newline at end of file
+}
diff --git a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAspectTest.java b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAspectTest.java
index b63b8beb..e2a1c623 100644
--- a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAspectTest.java
+++ b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/SagaStartAspectTest.java
@@ -74,14 +74,14 @@ public void newGlobalTxIdInSagaStart() throws Throwable {
     assertThat(startedEvent.globalTxId(), is(globalTxId));
     assertThat(startedEvent.localTxId(), is(globalTxId));
     assertThat(startedEvent.parentTxId(), is(nullValue()));
-    assertThat(startedEvent.type(), is("SagaStartedEvent"));
+    assertThat(startedEvent.type(), is(TxEvent.EventType.SagaStartedEvent));
 
     TxEvent endedEvent = messages.get(1);
 
     assertThat(endedEvent.globalTxId(), is(globalTxId));
     assertThat(endedEvent.localTxId(), is(globalTxId));
     assertThat(endedEvent.parentTxId(), is(nullValue()));
-    assertThat(endedEvent.type(), is("SagaEndedEvent"));
+    assertThat(endedEvent.type(), is(TxEvent.EventType.SagaEndedEvent));
 
     assertThat(omegaContext.globalTxId(), is(nullValue()));
     assertThat(omegaContext.localTxId(), is(nullValue()));
@@ -106,7 +106,7 @@ public void clearContextOnSagaStartError() throws Throwable {
     assertThat(event.globalTxId(), is(globalTxId));
     assertThat(event.localTxId(), is(globalTxId));
     assertThat(event.parentTxId(), is(nullValue()));
-    assertThat(event.type(), is("SagaStartedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.SagaStartedEvent));
 
     assertThat(omegaContext.globalTxId(), is(nullValue()));
     assertThat(omegaContext.localTxId(), is(nullValue()));
@@ -137,7 +137,7 @@ public void sendsAbortEventOnTimeout() throws Throwable {
     assertThat(event.globalTxId(), is(globalTxId));
     assertThat(event.localTxId(), is(globalTxId));
     assertThat(event.parentTxId(), is(nullValue()));
-    assertThat(event.type(), is("TxAbortedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.TxAbortedEvent));
 
     latch.countDown();
 
diff --git a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspectTest.java b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspectTest.java
index 2ce34b88..4bc0f885 100644
--- a/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspectTest.java
+++ b/omega/omega-transaction/src/test/java/org/apache/servicecomb/saga/omega/transaction/TransactionAspectTest.java
@@ -80,14 +80,14 @@ public void newLocalTxIdInCompensable() throws Throwable {
     assertThat(startedEvent.globalTxId(), is(globalTxId));
     assertThat(startedEvent.localTxId(), is(newLocalTxId));
     assertThat(startedEvent.parentTxId(), is(localTxId));
-    assertThat(startedEvent.type(), is("TxStartedEvent"));
+    assertThat(startedEvent.type(), is(TxEvent.EventType.TxStartedEvent));
 
     TxEvent endedEvent = messages.get(1);
 
     assertThat(endedEvent.globalTxId(), is(globalTxId));
     assertThat(endedEvent.localTxId(), is(newLocalTxId));
     assertThat(endedEvent.parentTxId(), is(localTxId));
-    assertThat(endedEvent.type(), is("TxEndedEvent"));
+    assertThat(endedEvent.type(), is(TxEvent.EventType.TxEndedEvent));
 
     assertThat(omegaContext.globalTxId(), is(globalTxId));
     assertThat(omegaContext.localTxId(), is(localTxId));
@@ -111,7 +111,7 @@ public void restoreContextOnCompensableError() throws Throwable {
     assertThat(event.globalTxId(), is(globalTxId));
     assertThat(event.localTxId(), is(newLocalTxId));
     assertThat(event.parentTxId(), is(localTxId));
-    assertThat(event.type(), is("TxAbortedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.TxAbortedEvent));
 
     assertThat(omegaContext.globalTxId(), is(globalTxId));
     assertThat(omegaContext.localTxId(), is(localTxId));
@@ -142,7 +142,7 @@ public void sendsAbortEventOnTimeout() throws Throwable {
     assertThat(event.globalTxId(), is(globalTxId));
     assertThat(event.localTxId(), is(newLocalTxId));
     assertThat(event.parentTxId(), is(localTxId));
-    assertThat(event.type(), is("TxAbortedEvent"));
+    assertThat(event.type(), is(TxEvent.EventType.TxAbortedEvent));
 
     latch.countDown();
 


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services