You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2017/12/27 09:14:43 UTC

[incubator-servicecomb-java-chassis] 02/02: JAV-592 add demo for producer return CompletableFuture

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

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

commit 4ab35710f80bb043142f098aa7235357f27404c0
Author: wujimin <wu...@huawei.com>
AuthorDate: Tue Dec 26 14:35:40 2017 +0800

    JAV-592 add demo for producer return CompletableFuture
---
 .../io/servicecomb/demo/pojo/client/CodeFirstPojoClient.java     | 6 +++++-
 .../io/servicecomb/demo/pojo/client/CodeFirstPojoClientIntf.java | 2 ++
 .../main/java/io/servicecomb/demo/pojo/server/CodeFirstPojo.java | 9 +++++++--
 .../src/main/java/io/servicecomb/demo/CodeFirstPojoIntf.java     | 2 --
 .../io/servicecomb/demo/pojo/test/PojoIntegrationTestBase.java   | 6 ------
 5 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClient.java b/demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClient.java
index 578c722..a3ef60c 100644
--- a/demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClient.java
+++ b/demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClient.java
@@ -152,7 +152,11 @@ public class CodeFirstPojoClient {
   }
 
   protected void testCodeFirstSayHi2(CodeFirstPojoIntf codeFirst) {
-    String result = codeFirst.sayHi2("world");
+    if (!CodeFirstPojoClientIntf.class.isInstance(codeFirst)) {
+      return;
+    }
+
+    String result = ((CodeFirstPojoClientIntf) codeFirst).sayHi2("world");
     TestMgr.check("world sayhi 2", result);
   }
 
diff --git a/demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClientIntf.java b/demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClientIntf.java
index 6603deb..15b91e9 100644
--- a/demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClientIntf.java
+++ b/demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClientIntf.java
@@ -24,4 +24,6 @@ import io.swagger.annotations.ApiOperation;
 public interface CodeFirstPojoClientIntf extends CodeFirstPojoIntf {
   @ApiOperation(nickname = "sayHi", value = "")
   CompletableFuture<String> sayHiAsync(String name);
+
+  String sayHi2(String name);
 }
diff --git a/demo/demo-pojo/pojo-server/src/main/java/io/servicecomb/demo/pojo/server/CodeFirstPojo.java b/demo/demo-pojo/pojo-server/src/main/java/io/servicecomb/demo/pojo/server/CodeFirstPojo.java
index 4a68d9a..bf75882 100644
--- a/demo/demo-pojo/pojo-server/src/main/java/io/servicecomb/demo/pojo/server/CodeFirstPojo.java
+++ b/demo/demo-pojo/pojo-server/src/main/java/io/servicecomb/demo/pojo/server/CodeFirstPojo.java
@@ -20,12 +20,14 @@ package io.servicecomb.demo.pojo.server;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.CompletableFuture;
 
 import io.servicecomb.demo.CodeFirstPojoIntf;
 import io.servicecomb.demo.compute.Person;
 import io.servicecomb.demo.server.User;
 import io.servicecomb.provider.pojo.RpcSchema;
 import io.servicecomb.swagger.invocation.context.ContextUtils;
+import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.SwaggerDefinition;
 
 @RpcSchema()
@@ -85,8 +87,11 @@ public class CodeFirstPojo implements CodeFirstPojoIntf {
     return name + " sayhi";
   }
 
-  public String sayHi2(String name) {
-    return name + " sayhi 2";
+  @ApiOperation(nickname = "sayHi2", value = "")
+  public CompletableFuture<String> sayHi2Async(String name) {
+    CompletableFuture<String> future = new CompletableFuture<>();
+    future.complete(name + " sayhi 2");
+    return future;
   }
 
   public boolean isTrue() {
diff --git a/demo/demo-schema/src/main/java/io/servicecomb/demo/CodeFirstPojoIntf.java b/demo/demo-schema/src/main/java/io/servicecomb/demo/CodeFirstPojoIntf.java
index 80ce57b..a8749bd 100644
--- a/demo/demo-schema/src/main/java/io/servicecomb/demo/CodeFirstPojoIntf.java
+++ b/demo/demo-schema/src/main/java/io/servicecomb/demo/CodeFirstPojoIntf.java
@@ -43,8 +43,6 @@ public interface CodeFirstPojoIntf {
 
   String sayHi(String name);
 
-  String sayHi2(String name);
-
   boolean isTrue();
 
   String addString(List<String> s);
diff --git a/integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/PojoIntegrationTestBase.java b/integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/PojoIntegrationTestBase.java
index e5f4b5a..4f4c976 100644
--- a/integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/PojoIntegrationTestBase.java
+++ b/integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/PojoIntegrationTestBase.java
@@ -304,12 +304,6 @@ public class PojoIntegrationTestBase {
   }
 
   @Test
-  public void remoteCodeFirstPojo_sayHi2() {
-    String result = PojoService.codeFirst.sayHi2("world");
-    assertThat(result, is("world sayhi 2"));
-  }
-
-  @Test
   public void remoteCodeFirstPojo_isTrue() {
     boolean result = PojoService.codeFirst.isTrue();
     assertThat(result, is(true));

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.