You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2018/08/23 07:55:31 UTC

[incubator-servicecomb-saga] 02/02: SCB-867 Adapting Rest json to the generalization of TransportFactory

This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git

commit e8b46be0855d819fc300f2f3fb8ba624e83e9111
Author: KomachiSion <26...@qq.com>
AuthorDate: Thu Aug 23 14:43:56 2018 +0800

    SCB-867 Adapting Rest json to the generalization of TransportFactory
---
 .../java/org/apache/servicecomb/saga/format/JacksonFallback.java    | 3 ++-
 .../org/apache/servicecomb/saga/format/JacksonRestFallback.java     | 4 +++-
 .../org/apache/servicecomb/saga/format/JacksonRestOperation.java    | 6 +++---
 .../org/apache/servicecomb/saga/format/JsonRestSagaRequest.java     | 3 ++-
 .../java/org/apache/servicecomb/saga/format/JsonSagaRequest.java    | 3 ++-
 .../java/org/apache/servicecomb/saga/format/TransportAware.java     | 5 +++--
 .../apache/servicecomb/saga/format/JacksonFromJsonFormatTest.java   | 2 +-
 .../apache/servicecomb/saga/format/JacksonRestOperationTest.java    | 2 +-
 .../org/apache/servicecomb/saga/format/JsonRestSagaRequestTest.java | 2 +-
 .../org/apache/servicecomb/saga/format/SagaEventFormatTest.java     | 4 ++--
 10 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonFallback.java b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonFallback.java
index a70aafb..c6cbd47 100644
--- a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonFallback.java
+++ b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonFallback.java
@@ -20,6 +20,7 @@ package org.apache.servicecomb.saga.format;
 import org.apache.servicecomb.saga.core.Fallback;
 import org.apache.servicecomb.saga.core.Operation;
 import org.apache.servicecomb.saga.core.SagaResponse;
+import org.apache.servicecomb.saga.core.Transport;
 import org.apache.servicecomb.saga.transports.TransportFactory;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -39,7 +40,7 @@ import org.apache.servicecomb.saga.format.JacksonFallback.NopJacksonFallback;
     @Type(value = JacksonRestFallback.class, name = Operation.TYPE_REST),
     @Type(value = NopJacksonFallback.class, name = Operation.TYPE_NOP)
 })
-public interface JacksonFallback extends Fallback, TransportAware {
+public interface JacksonFallback<T extends Transport> extends Fallback, TransportAware<T> {
 
   JacksonFallback NOP_TRANSPORT_AWARE_FALLBACK = new NopJacksonFallback(TYPE_NOP);
 
diff --git a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonRestFallback.java b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonRestFallback.java
index 35c54fe..92db35a 100644
--- a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonRestFallback.java
+++ b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonRestFallback.java
@@ -19,10 +19,12 @@ package org.apache.servicecomb.saga.format;
 
 import java.util.Map;
 
+import org.apache.servicecomb.saga.transports.RestTransport;
+
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
-class JacksonRestFallback extends JacksonRestOperation implements JacksonFallback {
+class JacksonRestFallback extends JacksonRestOperation implements JacksonFallback<RestTransport> {
 
   private final String type;
 
diff --git a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonRestOperation.java b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonRestOperation.java
index c292168..e9dd762 100644
--- a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonRestOperation.java
+++ b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JacksonRestOperation.java
@@ -28,7 +28,7 @@ import org.apache.servicecomb.saga.core.RestOperation;
 import org.apache.servicecomb.saga.core.SagaResponse;
 import org.apache.servicecomb.saga.transports.RestTransport;
 
-class JacksonRestOperation extends RestOperation implements TransportAware {
+class JacksonRestOperation extends RestOperation implements TransportAware<RestTransport> {
 
   @JsonIgnore
   private RestTransport transport;
@@ -38,8 +38,8 @@ class JacksonRestOperation extends RestOperation implements TransportAware {
   }
 
   @Override
-  public JacksonRestOperation with(TransportFactory transport) {
-    this.transport = transport.restTransport();
+  public JacksonRestOperation with(TransportFactory<RestTransport> transport) {
+    this.transport = transport.getTransport();
     return this;
   }
 
diff --git a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JsonRestSagaRequest.java b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JsonRestSagaRequest.java
index 9660eb4..f91d29b 100644
--- a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JsonRestSagaRequest.java
+++ b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JsonRestSagaRequest.java
@@ -20,6 +20,7 @@ package org.apache.servicecomb.saga.format;
 import static org.apache.servicecomb.saga.format.JacksonFallback.NOP_TRANSPORT_AWARE_FALLBACK;
 
 import org.apache.servicecomb.saga.core.SagaRequestImpl;
+import org.apache.servicecomb.saga.transports.RestTransport;
 import org.apache.servicecomb.saga.transports.TransportFactory;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -27,7 +28,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 
 import org.apache.servicecomb.saga.core.Operation;
 
-public class JsonRestSagaRequest extends SagaRequestImpl implements JsonSagaRequest {
+public class JsonRestSagaRequest extends SagaRequestImpl implements JsonSagaRequest<RestTransport> {
 
   private final JacksonRestTransaction transaction;
   private final JacksonRestCompensation compensation;
diff --git a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JsonSagaRequest.java b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JsonSagaRequest.java
index 45d3981..a25542f 100644
--- a/saga-format/src/main/java/org/apache/servicecomb/saga/format/JsonSagaRequest.java
+++ b/saga-format/src/main/java/org/apache/servicecomb/saga/format/JsonSagaRequest.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.saga.format;
 
 import org.apache.servicecomb.saga.core.Operation;
 import org.apache.servicecomb.saga.core.SagaRequest;
+import org.apache.servicecomb.saga.core.Transport;
 import org.apache.servicecomb.saga.transports.TransportFactory;
 
 import com.fasterxml.jackson.annotation.JsonSubTypes;
@@ -33,7 +34,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
 @JsonSubTypes({
     @Type(value = JsonRestSagaRequest.class, name = Operation.TYPE_REST)
 })
-public interface JsonSagaRequest extends SagaRequest {
+public interface JsonSagaRequest<T extends Transport> extends SagaRequest {
 
   JsonSagaRequest with(TransportFactory transportFactory);
 }
diff --git a/saga-format/src/main/java/org/apache/servicecomb/saga/format/TransportAware.java b/saga-format/src/main/java/org/apache/servicecomb/saga/format/TransportAware.java
index edcabf7..10b353a 100644
--- a/saga-format/src/main/java/org/apache/servicecomb/saga/format/TransportAware.java
+++ b/saga-format/src/main/java/org/apache/servicecomb/saga/format/TransportAware.java
@@ -17,10 +17,11 @@
 
 package org.apache.servicecomb.saga.format;
 
+import org.apache.servicecomb.saga.core.Transport;
 import org.apache.servicecomb.saga.transports.TransportFactory;
 import org.apache.servicecomb.saga.core.Operation;
 
-interface TransportAware {
+interface TransportAware<T extends Transport> {
 
-  Operation with(TransportFactory transport);
+  Operation with(TransportFactory<T> transport);
 }
diff --git a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonFromJsonFormatTest.java b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonFromJsonFormatTest.java
index f2ae724..aafe105 100644
--- a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonFromJsonFormatTest.java
+++ b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonFromJsonFormatTest.java
@@ -191,7 +191,7 @@ public class JacksonFromJsonFormatTest {
 
   @Before
   public void setUp() throws Exception {
-    when(transportFactory.restTransport()).thenReturn(restTransport);
+    when(transportFactory.getTransport()).thenReturn(restTransport);
 
     when(restTransport.with("aaa", "/rest/as", "post", singletonMap("form", singletonMap("foo", "as"))))
         .thenReturn(response11);
diff --git a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonRestOperationTest.java b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonRestOperationTest.java
index 9241289..91f380d 100644
--- a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonRestOperationTest.java
+++ b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JacksonRestOperationTest.java
@@ -50,7 +50,7 @@ public class JacksonRestOperationTest {
 
   @Before
   public void setUp() throws Exception {
-    when(transportFactory.restTransport()).thenReturn(transport);
+    when(transportFactory.getTransport()).thenReturn(transport);
     restOperation.with(transportFactory);
   }
 
diff --git a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JsonRestSagaRequestTest.java b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JsonRestSagaRequestTest.java
index 4ef870c..fe10555 100644
--- a/saga-format/src/test/java/org/apache/servicecomb/saga/format/JsonRestSagaRequestTest.java
+++ b/saga-format/src/test/java/org/apache/servicecomb/saga/format/JsonRestSagaRequestTest.java
@@ -69,7 +69,7 @@ public class JsonRestSagaRequestTest {
   @SuppressWarnings("unchecked")
   @Test
   public void defaultToNopFallbackIfNotSpecified() {
-    when(transportFactory.restTransport()).thenReturn(restTransport);
+    when(transportFactory.getTransport()).thenReturn(restTransport);
     JsonRestSagaRequest request = newSagaRequest(transaction, compensation, null);
 
     request.with(transportFactory);
diff --git a/saga-format/src/test/java/org/apache/servicecomb/saga/format/SagaEventFormatTest.java b/saga-format/src/test/java/org/apache/servicecomb/saga/format/SagaEventFormatTest.java
index fc509e4..ad6fb62 100644
--- a/saga-format/src/test/java/org/apache/servicecomb/saga/format/SagaEventFormatTest.java
+++ b/saga-format/src/test/java/org/apache/servicecomb/saga/format/SagaEventFormatTest.java
@@ -80,12 +80,12 @@ public class SagaEventFormatTest {
 
   @Before
   public void setUp() throws Exception {
-    when(transportFactory.restTransport()).thenReturn(restTransport);
+    when(transportFactory.getTransport()).thenReturn(restTransport);
   }
 
   @After
   public void tearDown() throws Exception {
-    verify(transportFactory, times(3)).restTransport();
+    verify(transportFactory, times(3)).getTransport();
   }
 
   @Test