Modify Example code 97/7997/2
authorHuabingZhao <zhao.huabing@zte.com.cn>
Fri, 18 Aug 2017 08:18:01 +0000 (16:18 +0800)
committerHuabingZhao <zhao.huabing@zte.com.cn>
Fri, 18 Aug 2017 08:53:28 +0000 (08:53 +0000)
Issue-Id: MSB-23
Change-Id: I03a05b27987015725234d31ccbef2b979be40f92
Signed-off-by: HuabingZhao <zhao.huabing@zte.com.cn>
example/src/main/java/org/onap/msb/sdk/example/client/AnimalServiceClient.java [moved from example/src/main/java/org/onap/msb/sdk/httpclient/client/AnimalServiceClient.java with 85% similarity]
example/src/main/java/org/onap/msb/sdk/example/client/ExampleClient.java [moved from example/src/main/java/org/onap/msb/sdk/httpclient/client/ExampleClient.java with 86% similarity]
example/src/main/java/org/onap/msb/sdk/example/common/Animal.java [moved from example/src/main/java/org/onap/msb/sdk/httpclient/common/Animal.java with 97% similarity]
example/src/main/java/org/onap/msb/sdk/example/server/Config.java [moved from example/src/main/java/org/onap/msb/sdk/httpclient/server/Config.java with 95% similarity]
example/src/main/java/org/onap/msb/sdk/example/server/ExampleApp.java [moved from example/src/main/java/org/onap/msb/sdk/httpclient/server/ExampleApp.java with 89% similarity]
example/src/main/java/org/onap/msb/sdk/example/server/MsbHelper.java [moved from example/src/main/java/org/onap/msb/sdk/httpclient/server/MsbHelper.java with 97% similarity]
example/src/main/java/org/onap/msb/sdk/example/server/resources/AnimalResource.java [moved from example/src/main/java/org/onap/msb/sdk/httpclient/server/resources/AnimalResource.java with 79% similarity]
src/main/java/org/onap/msb/sdk/discovery/entity/Node.java
src/main/java/org/onap/msb/sdk/discovery/entity/Service.java

  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  ******************************************************************************/
-package org.onap.msb.sdk.httpclient.client;
+package org.onap.msb.sdk.example.client;
 
+import org.onap.msb.sdk.example.common.Animal;
 import org.onap.msb.sdk.httpclient.annotaion.ServiceHttpEndPoint;
-import org.onap.msb.sdk.httpclient.common.Animal;
 
 import retrofit2.Call;
 import retrofit2.http.GET;
@@ -25,10 +25,9 @@ import retrofit2.http.Path;
  *
  */
 
-@ServiceHttpEndPoint(serviceName = "animals", serviceVersion = "v1", nameSpace = "javaAF")
+@ServiceHttpEndPoint(serviceName = "animals", serviceVersion = "v1")
 public interface AnimalServiceClient {
 
   @GET("animals/{name}")
-  Call<Animal> queryAnimal(@Path("name") String name);
-
+  Call<Animal> queryAnimal1(@Path("name") String name);
 }
 /**
  * 
  */
-package org.onap.msb.sdk.httpclient.client;
+package org.onap.msb.sdk.example.client;
 
 import java.io.IOException;
 
+import org.onap.msb.sdk.example.common.Animal;
 import org.onap.msb.sdk.httpclient.RetrofitServiceCreater;
-import org.onap.msb.sdk.httpclient.common.Animal;
 import org.onap.msb.sdk.httpclient.conf.HttpClientConf;
 import org.onap.msb.sdk.httpclient.msb.MSBServiceWrapperClient;
 
@@ -31,16 +31,18 @@ public class ExampleClient {
    * @throws IOException
    */
   public static void main(String[] args) throws IOException {
-
+    String MSB_IP="127.0.0.1";
+    int MSB_Port=10081;
+    
     HttpClientConf globalHttpClientConf = new HttpClientConf();
-    MSBServiceWrapperClient msbClient = new MSBServiceWrapperClient("127.0.0.1", 10081);
+    MSBServiceWrapperClient msbClient = new MSBServiceWrapperClient(MSB_IP, MSB_Port);
 
     RetrofitServiceCreater retrofitServiceCreater =
         new RetrofitServiceCreater(globalHttpClientConf, msbClient);
 
     AnimalServiceClient implProxy =
         retrofitServiceCreater.createRetrofitService(AnimalServiceClient.class);
-    Animal animal = implProxy.queryAnimal("example").execute().body();
+    Animal animal = implProxy.queryAnimal1("panda").execute().body();
     System.out.println("animal:" + animal);
   }
 
@@ -11,7 +11,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  ******************************************************************************/
-package org.onap.msb.sdk.httpclient.common;
+package org.onap.msb.sdk.example.common;
 
 import java.io.Serializable;
 
@@ -11,7 +11,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  ******************************************************************************/
-package org.onap.msb.sdk.httpclient.server;
+package org.onap.msb.sdk.example.server;
 
 import io.dropwizard.Configuration;
 
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  ******************************************************************************/
-package org.onap.msb.sdk.httpclient.server;
+package org.onap.msb.sdk.example.server;
 
+import org.onap.msb.sdk.example.server.resources.AnimalResource;
 import org.onap.msb.sdk.httpclient.msb.MSBServiceWrapperClient;
-import org.onap.msb.sdk.httpclient.server.resources.AnimalResource;
 
 import io.dropwizard.Application;
 import io.dropwizard.setup.Environment;
@@ -38,10 +38,13 @@ public class ExampleApp extends Application<Config> {
 
   @Override
   public void run(Config configuration, Environment environment) throws Exception {
-
+    
+    String MSB_IP="127.0.0.1";
+    int MSB_Port=10081;
+    
     environment.jersey().register(new AnimalResource());
 
-    MSBServiceWrapperClient msbClient = new MSBServiceWrapperClient("127.0.0.1", 10081);
+    MSBServiceWrapperClient msbClient = new MSBServiceWrapperClient(MSB_IP, MSB_Port);
 
     MsbHelper helper = new MsbHelper(msbClient);
     helper.registerMsb();
@@ -11,7 +11,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  ******************************************************************************/
-package org.onap.msb.sdk.httpclient.server;
+package org.onap.msb.sdk.example.server;
 
 import java.net.InetAddress;
 import java.util.HashSet;
@@ -50,7 +50,7 @@ public class MsbHelper {
     msinfo.setUrl("/api/rpc/v1");
     msinfo.setProtocol("REST");
     msinfo.setVisualRange("0|1");
-
+    
     Set<Node> nodes = new HashSet<>();
     Node node1 = new Node();
     node1.setIp(InetAddress.getLocalHost().getHostAddress());
@@ -58,9 +58,5 @@ public class MsbHelper {
     nodes.add(node1);
     msinfo.setNodes(nodes);
     msbClient.registerMicroServiceInfo(msinfo, false);
-
   }
-
-
-
 }
@@ -11,7 +11,7 @@
  * or implied. See the License for the specific language governing permissions and limitations under
  * the License.
  ******************************************************************************/
-package org.onap.msb.sdk.httpclient.server.resources;
+package org.onap.msb.sdk.example.server.resources;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
@@ -20,7 +20,7 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-import org.onap.msb.sdk.httpclient.common.Animal;
+import org.onap.msb.sdk.example.common.Animal;
 
 
 @Path("/animals")
@@ -30,9 +30,9 @@ public class AnimalResource {
   @GET
   @Path("/{name}")
   @Produces(MediaType.APPLICATION_JSON)
-  public Response query(@PathParam("name") String name) {
-    return Response.ok(new Animal("animal", name, (int) System.currentTimeMillis() % 10)).build();
+  public Response queryJson(@PathParam("name") String name) {
+    return Response.ok(new Animal("animal", name, Math.abs((int) System.currentTimeMillis() % 10)))
+        .build();
   }
 
-
 }
index c28f232..1bdeab8 100644 (file)
@@ -27,34 +27,6 @@ public class Node implements Serializable {
 
   private String ttl = "";
 
-  // 负载均衡策略参数
-  private String lb_server_params = "";
-
-  // 健康检查参数
-  private String checkType = "";
-  private String checkUrl = "";
-  private String checkInterval = "";
-  private String checkTimeOut = "";
-
-  private String ha_role = "";
-
-
-  public String getHa_role() {
-    return ha_role;
-  }
-
-
-  /**
-   * @Title setHa_role
-   * @Description TODO(实例主备状态,取值范围:active,standby)
-   * @param ha_role
-   * @return void
-   */
-  public void setHa_role(String ha_role) {
-    this.ha_role = ha_role;
-  }
-
-
 
   public String getIp() {
     return ip;
@@ -80,7 +52,6 @@ public class Node implements Serializable {
     this.ttl = ttl;
   }
 
-
   @Override
   public String toString() {
     // TODO Auto-generated method stub
@@ -88,79 +59,4 @@ public class Node implements Serializable {
         .toString();
   }
 
-  public String getLb_server_params() {
-    return lb_server_params;
-  }
-
-  /**
-   * @Title setLb_server_params
-   * @Description TODO(针对协议为TCP或UDP的服务实例配置负载均衡参数) <br>
-   *              支持的server参数设置: <br>
-   *              1. weight: server的权重,不显式设置默认为1 <br>
-   *              2.
-   *              max_fails:在fail_timeout设置的时间间隔内,允许失败尝试的次数,不显式设置默认为1.比如fail_timeout=30s,max_fails=6,那表示在30s内如果6次连接失败,那认定该server为unavailable
-   *              <br>
-   *              3. fail_timeout:判定server为unavailable的时间间隔。如果不显式设置,默认设置为10s
-   * @param lb_server_params (示例:weight=5,max_fails=3,fail_timeout=30s)
-   * @return void
-   */
-  public void setLb_server_params(String lb_server_params) {
-    this.lb_server_params = lb_server_params;
-  }
-
-  public String getCheckType() {
-    return checkType;
-  }
-
-  /**
-   * @Title setCheckType
-   * @Description TODO(健康检查类型,可选范围:TTL,HTTP,TCP) <br>
-   *              1.HTTP保活由"MSB"每隔checkInterval时间向"服务提供方"发送 GET请求。如果请求返回任何2xx状态码,检测成功。 <br>
-   *              2.TCP保活原理同HTTP,协议不同。 <br>
-   *              3.TTL保活由"服务提供方"向"MSB"发送HTTP请求以保持联通状态,在checkInterval设置的时间间隔内未能收到保活请求,服务发现将此服务状态设置为无效。
-   * @param checkType
-   * @return void
-   */
-  public void setCheckType(String checkType) {
-    this.checkType = checkType;
-  }
-
-  public String getCheckUrl() {
-    return checkUrl;
-  }
-
-  /**
-   * @Title setCheckUrl
-   * @Description TODO(健康检查类型为HTTP或TCP,填写检查URL)
-   * @param checkUrl
-   * @return void
-   */
-  public void setCheckUrl(String checkUrl) {
-    this.checkUrl = checkUrl;
-  }
-
-  public String getCheckInterval() {
-    return checkInterval;
-  }
-
-  /**
-   * @Title setCheckInterval
-   * @Description TODO(健康检查轮询时间,单位:秒)
-   * @param checkInterval
-   * @return void
-   */
-  public void setCheckInterval(String checkInterval) {
-    this.checkInterval = checkInterval;
-  }
-
-
-  public String getCheckTimeOut() {
-    return checkTimeOut;
-  }
-
-
-  public void setCheckTimeOut(String checkTimeOut) {
-    this.checkTimeOut = checkTimeOut;
-  }
-
 }
index a89ded9..306e59b 100644 (file)
@@ -22,54 +22,52 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class Service<T> implements Serializable {
   private static final long serialVersionUID = 1L;
-  // 服务名[必填]
   private String serviceName;
-  // 版本号 ( 格式:v(小写)+数字)
+
   private String version = "";
-  // 服务url (格式:url地址以/开头,不能以/结尾)
+  
   private String url = "";
-  // 服务对应协议,比如REST、UI、HTTP、MQ、FTP、SNMP、TCP、UDP
+  
+  //REST、UI
   private String protocol = "";
-  // 服务的可见范围 0:系统间 1:系统内
+  //0: External 1: Internal
   private String visualRange = "1";
 
-  // 负载均衡策略类型
   private String lb_policy = "";
 
-
-  private String host = "";
-
   private String path = "";
 
   private Set<T> nodes;
 
-  // 服务自身属性的键值对
   private List<KeyVaulePair> metadata;
 
-  public String getHost() {
-    return host;
-  }
-
-  public void setHost(String host) {
-    this.host = host;
-  }
-
   public String getPath() {
     return path;
   }
 
+  /**
+   * The customized publish path of this service.
+   * If this parameter is specified when registering the service, the service will be published to api gateway under this path.
+   * Otherwise, the service will be published to api gateway using a fixed format: api/{serviceName} /{version}.
+   * Do not specific a path unless you know what you're doing.
+   * @param path
+   */
   public void setPath(String path) {
     this.path = path;
   }
 
+  /**
+   * Load balancing method used when MSB routes the service requests. Currently, Round robin and IP hash are supported.
+   * @return
+   */
   public String getLb_policy() {
     return lb_policy;
   }
 
   /**
-   * @Title setLb_policy
-   * @Description TODO(针对协议为TCP或UDP的服务选择负载均衡策略)
-   * @param lb_policy (可选策略:round-robin,ip_hash)
+   * Load balancing method used when MSB routes the service requests. Currently, Round robin and IP hash are supported.
+   * @param lb_policy (round-robin,ip_hash)
    * @return void
    */
   public void setLb_policy(String lb_policy) {
@@ -80,23 +78,19 @@ public class Service<T> implements Serializable {
     return metadata;
   }
 
-  /**
-   * @Title setMetadata
-   * @Description TODO(配置服务特有的附加属性键值对)
-   * @param metadata
-   * @return void
-   */
   public void setMetadata(List<KeyVaulePair> metadata) {
     this.metadata = metadata;
   }
 
+  /**
+   * The service instance nodes
+   */
   public Set<T> getNodes() {
     return nodes;
   }
 
   /**
-   * @Title setNodes
-   * @Description TODO(配置服务的服务器实例列表)
+   * The service instance nodes
    * @param nodes
    * @return void
    */
@@ -104,43 +98,47 @@ public class Service<T> implements Serializable {
     this.nodes = nodes;
   }
 
+  /**
+   * An unique name of the service, it should be constant so the service consumer can access the service.
+   */
   public String getServiceName() {
     return serviceName;
   }
 
   /**
-   * 
-   * @Title setServiceName
-   * @Description TODO(服务名[必填])
+   * An unique name of the service, it should be constant so the service consumer can access the service.
    * @param serviceName
-   * @return void
    */
   public void setServiceName(String serviceName) {
     this.serviceName = serviceName;
   }
 
+  /**
+   * Service version. Only the major version of service is used in the URI.
+   * @return
+   */
   public String getVersion() {
     return version;
   }
 
   /**
-   * 
-   * @Title setVersion
-   * @Description TODO(版本号 ( 格式:v(小写)+数字))
+   * Service version. Only the major version of service is used in the URI.
    * @param version
-   * @return void
    */
   public void setVersion(String version) {
     this.version = version;
   }
 
+  /**
+   * The actual URL of the service to be registered.
+   * @return
+   */
   public String getUrl() {
     return url;
   }
 
   /**
-   * @Title setUrl
-   * @Description TODO(目标服务URL地址 (格式:url地址以/开头,不能以/结尾))
+   * The actual URL of the service to be registered.
    * @param url
    * @return void
    */
@@ -148,30 +146,36 @@ public class Service<T> implements Serializable {
     this.url = url;
   }
 
+  /**
+   * supported protocols: 'REST', 'UI'
+   * @return
+   */
   public String getProtocol() {
     return protocol;
   }
 
   /**
-   * @Title setProtocol
-   * @Description TODO(服务对应协议,比如REST、MQ、FTP、SNMP[必填])
+   * supported protocols: 'REST', 'UI'
    * @param protocol
-   * @return void
    */
   public void setProtocol(String protocol) {
     this.protocol = protocol;
   }
 
-
+  /**
+   * Visibility of the service. 
+   * External(can be accessed by external systems):0
+   * Internal(can only be accessed by ONAP microservices):1
+   */
   public String getVisualRange() {
     return visualRange;
   }
 
   /**
-   * @Title setVisualRange
-   * @Description TODO(服务的可见范围 系统间:0 系统内:1 ,多个可见范围用 "|"分隔,如"0|1" )
+   * Visibility of the service. 
+   * External(can be accessed by external systems):0
+   * Internal(can only be accessed by ONAP microservices):1
    * @param visualRange
-   * @return void
    */
   public void setVisualRange(String visualRange) {
     this.visualRange = visualRange;