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/31 04:49:27 UTC
[incubator-servicecomb-saga] branch master updated: SCB-876 Polish
the code to fix some minor issues
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
The following commit(s) were added to refs/heads/master by this push:
new bdf8efe SCB-876 Polish the code to fix some minor issues
bdf8efe is described below
commit bdf8efe8155661582c32ca737d6f8122a6072680
Author: Willem Jiang <ji...@huawei.com>
AuthorDate: Fri Aug 31 11:06:48 2018 +0800
SCB-876 Polish the code to fix some minor issues
---
...thodCheckingCallback.java => CallbackType.java} | 27 ++++++++--------------
.../spring/CompensableMethodCheckingCallback.java | 2 +-
.../transaction/spring/MethodCheckingCallback.java | 4 ++--
.../spring/ParticipateMethodCheckingCallback.java | 2 +-
.../spring/CompensableAnnotationCheckingTest.java | 2 +-
.../omega/transaction/spring/TccUserService.java | 19 +++++++--------
.../transaction/spring/TccUserServiceMain.java | 4 ----
7 files changed, 24 insertions(+), 36 deletions(-)
diff --git a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableMethodCheckingCallback.java b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CallbackType.java
similarity index 55%
copy from omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableMethodCheckingCallback.java
copy to omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CallbackType.java
index e9bbd42..70d9c82 100644
--- a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableMethodCheckingCallback.java
+++ b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CallbackType.java
@@ -17,22 +17,13 @@
package org.apache.servicecomb.saga.omega.transaction.spring;
-import java.lang.reflect.Method;
-import org.apache.servicecomb.saga.omega.context.CallbackContext;
-import org.apache.servicecomb.saga.omega.transaction.annotations.Compensable;
-
-class CompensableMethodCheckingCallback extends MethodCheckingCallback {
-
- public CompensableMethodCheckingCallback(Object bean, CallbackContext callbackContext) {
- super(bean, callbackContext, "compensation");
- }
-
- @Override
- public void doWith(Method method) throws IllegalArgumentException {
- if (!method.isAnnotationPresent(Compensable.class)) {
- return;
- }
- String compensationMethod = method.getAnnotation(Compensable.class).compensationMethod();
- loadMethodContext(method, compensationMethod);
- }
+public enum CallbackType {
+ /**
+ * Compensation is for the Saga pattern
+ */
+ Compensation,
+ /**
+ * Coordination is for the TCC pattern
+ */
+ Coordination
}
diff --git a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableMethodCheckingCallback.java b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableMethodCheckingCallback.java
index e9bbd42..e3f4907 100644
--- a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableMethodCheckingCallback.java
+++ b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableMethodCheckingCallback.java
@@ -24,7 +24,7 @@ import org.apache.servicecomb.saga.omega.transaction.annotations.Compensable;
class CompensableMethodCheckingCallback extends MethodCheckingCallback {
public CompensableMethodCheckingCallback(Object bean, CallbackContext callbackContext) {
- super(bean, callbackContext, "compensation");
+ super(bean, callbackContext, CallbackType.Compensation);
}
@Override
diff --git a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/MethodCheckingCallback.java b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/MethodCheckingCallback.java
index b5aa988..8a2ac13 100644
--- a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/MethodCheckingCallback.java
+++ b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/MethodCheckingCallback.java
@@ -33,9 +33,9 @@ public abstract class MethodCheckingCallback implements MethodCallback {
private final CallbackContext callbackContext;
- private final String callbackType;
+ private final CallbackType callbackType;
- public MethodCheckingCallback(Object bean, CallbackContext callbackContext, String callbackType) {
+ public MethodCheckingCallback(Object bean, CallbackContext callbackContext, CallbackType callbackType) {
this.bean = bean;
this.callbackContext = callbackContext;
this.callbackType = callbackType;
diff --git a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/ParticipateMethodCheckingCallback.java b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/ParticipateMethodCheckingCallback.java
index b704f89..98a2cec 100644
--- a/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/ParticipateMethodCheckingCallback.java
+++ b/omega/omega-spring-tx/src/main/java/org/apache/servicecomb/saga/omega/transaction/spring/ParticipateMethodCheckingCallback.java
@@ -24,7 +24,7 @@ import org.apache.servicecomb.saga.omega.transaction.annotations.Participate;
public class ParticipateMethodCheckingCallback extends MethodCheckingCallback {
public ParticipateMethodCheckingCallback(Object bean, CallbackContext callbackContext) {
- super(bean, callbackContext, "coordinate");
+ super(bean, callbackContext, CallbackType.Compensation);
}
@Override
diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableAnnotationCheckingTest.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableAnnotationCheckingTest.java
index d2abfc9..0bf6dce 100644
--- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableAnnotationCheckingTest.java
+++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/CompensableAnnotationCheckingTest.java
@@ -37,7 +37,7 @@ public class CompensableAnnotationCheckingTest {
expectFailing(BeanCreationException.class);
}
} catch (BeanCreationException e) {
- assertThat(e.getCause().getMessage(), startsWith("No such compensation method [none]"));
+ assertThat(e.getCause().getMessage(), startsWith("No such Compensation method [none]"));
}
}
diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TccUserService.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TccUserService.java
index eefe749..8223a87 100644
--- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TccUserService.java
+++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TccUserService.java
@@ -17,9 +17,13 @@
package org.apache.servicecomb.saga.omega.transaction.spring;
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.servicecomb.saga.omega.context.OmegaContext;
import org.apache.servicecomb.saga.omega.transaction.annotations.Participate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -29,19 +33,14 @@ class TccUserService {
static final String ILLEGAL_USER = "Illegal User";
private final UserRepository userRepository;
- private int count = 0;
-
@Autowired
TccUserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
- void resetCount() {
- this.count = 0;
- }
-
@Participate(confirmMethod = "confirm", cancelMethod = "cancel")
User add(User user) {
+ // Only for the validation check
if (ILLEGAL_USER.equals(user.username())) {
throw new IllegalArgumentException("User is illegal");
}
@@ -49,7 +48,9 @@ class TccUserService {
}
void confirm(User user) {
- userRepository.findByUsername(user.username());
+ User result = userRepository.findByUsername(user.username());
+ // Just make sure we can get the resource and keep doing other business
+ assertThat(result, is(user));
}
void cancel(User user) {
diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TccUserServiceMain.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TccUserServiceMain.java
index 94e5232..4d09dec 100644
--- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TccUserServiceMain.java
+++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TccUserServiceMain.java
@@ -27,10 +27,6 @@ public class TccUserServiceMain {
@Autowired
private TccUserService tccUserService;
- void resetCount() {
- tccUserService.resetCount();
- }
-
@TccStart
void add(User A, User B) {
tccUserService.add(A);