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 22082fece5243be6b65499552089913cff2d9bb0
Author: KomachiSion <263976...@qq.com>
AuthorDate: Fri Aug 24 11:19:17 2018 +0800

    SCB-866 extend SQLTransport type
---
 .../apache/servicecomb/saga/core/Operation.java    |  1 +
 .../core/{Operation.java => SQLOperation.java}     | 41 ++++++++++++++++++----
 .../SQLTransport.java}                             | 14 ++++----
 3 files changed, 43 insertions(+), 13 deletions(-)

diff --git 
a/saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java 
b/saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java
index 99e760b..5950865 100644
--- a/saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java
+++ b/saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java
@@ -21,6 +21,7 @@ public interface Operation {
 
   String TYPE_NOP = "NOP";
   String TYPE_REST = "rest";
+  String TYPE_SQL = "sql";
   SagaResponse SUCCESSFUL_SAGA_RESPONSE = new 
SuccessfulSagaResponse("success");
 
   SagaResponse send(String address);
diff --git 
a/saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java 
b/saga-core/src/main/java/org/apache/servicecomb/saga/core/SQLOperation.java
similarity index 51%
copy from 
saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java
copy to 
saga-core/src/main/java/org/apache/servicecomb/saga/core/SQLOperation.java
index 99e760b..6444e2b 100644
--- a/saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java
+++ b/saga-core/src/main/java/org/apache/servicecomb/saga/core/SQLOperation.java
@@ -17,13 +17,42 @@
 
 package org.apache.servicecomb.saga.core;
 
-public interface Operation {
+import java.util.Collections;
+import java.util.List;
 
-  String TYPE_NOP = "NOP";
-  String TYPE_REST = "rest";
-  SagaResponse SUCCESSFUL_SAGA_RESPONSE = new 
SuccessfulSagaResponse("success");
+public class SQLOperation implements Operation {
 
-  SagaResponse send(String address);
+  private final String sql;
+  private final List<String> params;
 
-  SagaResponse send(String address, SagaResponse response);
+  public SQLOperation(String sql, List<String> params) {
+    this.sql = sql;
+    this.params = params == null ? Collections.<String>emptyList() : params;
+  }
+
+  public String sql() {
+    return sql;
+  }
+
+  public List<String> params() {
+    return params;
+  }
+
+  @Override
+  public String toString() {
+    return "SQLOperation{" +
+        "sql='" + sql + '\'' +
+        ", params=" + params +
+        '}';
+  }
+
+  @Override
+  public SagaResponse send(String datasource) {
+    return SUCCESSFUL_SAGA_RESPONSE;
+  }
+
+  @Override
+  public SagaResponse send(String datasource, SagaResponse response) {
+    return send(datasource);
+  }
 }
diff --git 
a/saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java 
b/saga-core/src/main/java/org/apache/servicecomb/saga/transports/SQLTransport.java
similarity index 72%
copy from 
saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java
copy to 
saga-core/src/main/java/org/apache/servicecomb/saga/transports/SQLTransport.java
index 99e760b..6e534dd 100644
--- a/saga-core/src/main/java/org/apache/servicecomb/saga/core/Operation.java
+++ 
b/saga-core/src/main/java/org/apache/servicecomb/saga/transports/SQLTransport.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.servicecomb.saga.core;
+package org.apache.servicecomb.saga.transports;
 
-public interface Operation {
+import java.util.List;
 
-  String TYPE_NOP = "NOP";
-  String TYPE_REST = "rest";
-  SagaResponse SUCCESSFUL_SAGA_RESPONSE = new 
SuccessfulSagaResponse("success");
+import org.apache.servicecomb.saga.core.SagaResponse;
+import org.apache.servicecomb.saga.core.Transport;
 
-  SagaResponse send(String address);
+public interface SQLTransport extends Transport {
+
+  SagaResponse with(String datasource, String sql, List<String> params);
 
-  SagaResponse send(String address, SagaResponse response);
 }

Reply via email to