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/25 00:12:05 UTC
[incubator-servicecomb-saga] 01/03: SCB-866 extend SQLTransport type
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 <26...@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);
}