aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/msb/sdk/httpclient/builder/impl/ClientRetrofitObjectBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/msb/sdk/httpclient/builder/impl/ClientRetrofitObjectBuilder.java')
-rw-r--r--src/main/java/org/onap/msb/sdk/httpclient/builder/impl/ClientRetrofitObjectBuilder.java209
1 files changed, 103 insertions, 106 deletions
diff --git a/src/main/java/org/onap/msb/sdk/httpclient/builder/impl/ClientRetrofitObjectBuilder.java b/src/main/java/org/onap/msb/sdk/httpclient/builder/impl/ClientRetrofitObjectBuilder.java
index e7f7cd5..7b7c6af 100644
--- a/src/main/java/org/onap/msb/sdk/httpclient/builder/impl/ClientRetrofitObjectBuilder.java
+++ b/src/main/java/org/onap/msb/sdk/httpclient/builder/impl/ClientRetrofitObjectBuilder.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright 2017 ZTE, Inc. and others.
+ * Copyright 2017-2018 ZTE, Inc. and others.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
@@ -41,141 +41,138 @@ import retrofit2.Retrofit;
public class ClientRetrofitObjectBuilder implements IRetrofitObjectBuilder {
- private RetrofitServiceHandlerContext context;
+ private RetrofitServiceHandlerContext context;
- public ClientRetrofitObjectBuilder(RetrofitServiceHandlerContext context) {
- super();
- this.context = context;
- }
+ public ClientRetrofitObjectBuilder(RetrofitServiceHandlerContext context) {
+ super();
+ this.context = context;
+ }
- /*
- * (non-Javadoc)
- *
- * @see
- * com.zte.ums.zenap.httpclient.retrofit.builder.IRetrofitObjectBuilder#buildRetrofitObject(java.
- * util.concurrent.atomic.AtomicReference)
- */
- @Override
- public Map<ServiceHttpEndPointObject, Object> buildRetrofitObject(
- AtomicReference<Map<ServiceHttpEndPointObject, Object>> endPointToRetrofitRef,
- ServiceHttpEndPointObject lastEndPoint) throws RetrofitServiceRuntimeException {
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * com.zte.ums.zenap.httpclient.retrofit.builder.IRetrofitObjectBuilder#buildRetrofitObject(
+ * java. util.concurrent.atomic.AtomicReference)
+ */
+ @Override
+ public Map<ServiceHttpEndPointObject, Object> buildRetrofitObject(
+ AtomicReference<Map<ServiceHttpEndPointObject, Object>> endPointToRetrofitRef,
+ ServiceHttpEndPointObject lastEndPoint) throws RetrofitServiceRuntimeException {
- Map<ServiceHttpEndPointObject, Object> srvEndPointToRetrofit = endPointToRetrofitRef.get();
- if (srvEndPointToRetrofit == null) {
- srvEndPointToRetrofit = new LinkedHashMap<>();
- try {
+ Map<ServiceHttpEndPointObject, Object> srvEndPointToRetrofit = endPointToRetrofitRef.get();
+ if (srvEndPointToRetrofit == null) {
+ srvEndPointToRetrofit = new LinkedHashMap<>();
+ try {
- ServiceHttpEndPointBeanObject srvhttpEndPointBeanObject =
- context.getServiceHttpEndPointBeanObject();
+ ServiceHttpEndPointBeanObject srvhttpEndPointBeanObject = context.getServiceHttpEndPointBeanObject();
- // MsbClientFactory msbClient = context.getLocator().getService(MsbClientFactory.class);
+ // MsbClientFactory msbClient =
+ // context.getLocator().getService(MsbClientFactory.class);
- MicroServiceFullInfo fullInfo = null;
+ MicroServiceFullInfo fullInfo = null;
- fullInfo =
- context.getMsbClient().queryMicroServiceInfo(srvhttpEndPointBeanObject.getServiceName(),
- srvhttpEndPointBeanObject.getServiceVersion());
+ fullInfo = context.getMsbClient().queryMicroServiceInfo(srvhttpEndPointBeanObject.getServiceName(),
+ srvhttpEndPointBeanObject.getServiceVersion());
- for (NodeInfo nodeInfo : fullInfo.getNodes()) {
+ for (NodeInfo nodeInfo : fullInfo.getNodes()) {
- MicroServiceFullInfo cloneFullInfo = cloneFullInfo(fullInfo, nodeInfo);
+ MicroServiceFullInfo cloneFullInfo = cloneFullInfo(fullInfo, nodeInfo);
- ServiceHttpEndPointObject endPointObj =
- new ServiceHttpEndPointObject(srvhttpEndPointBeanObject.getServiceName(),
- srvhttpEndPointBeanObject.getServiceVersion(), nodeInfo, cloneFullInfo);
+ ServiceHttpEndPointObject endPointObj = new ServiceHttpEndPointObject(
+ srvhttpEndPointBeanObject.getServiceName(),
+ srvhttpEndPointBeanObject.getServiceVersion(), nodeInfo, cloneFullInfo);
- // 目前支持http
- String baseUrl = null;
- if (fullInfo.getUrl() == null || fullInfo.getUrl().trim().length() == 0
- || fullInfo.getUrl().equals("/")) {
- baseUrl = String.format("http://%s:%s/", nodeInfo.getIp(), nodeInfo.getPort());
- } else {
- baseUrl = String.format("http://%s:%s%s/", nodeInfo.getIp(), nodeInfo.getPort(),
- fullInfo.getUrl());
- }
+ // 目前支持http
+ String baseUrl = null;
+ if (fullInfo.getUrl() == null || fullInfo.getUrl().trim().length() == 0
+ || fullInfo.getUrl().equals("/")) {
+ baseUrl = String.format("http://%s:%s/", nodeInfo.getIp(), nodeInfo.getPort());
+ } else {
+ baseUrl = String.format("http://%s:%s%s/", nodeInfo.getIp(), nodeInfo.getPort(),
+ fullInfo.getUrl());
+ }
- OkHttpClient httpClient = null;
+ OkHttpClient httpClient = null;
- if (context.getHttpClientConf() != null) {
- if (srvhttpEndPointBeanObject.getClientProtocl().toLowerCase().equals("https")) {
- httpClient =
- RetrofitServiceUtils.buildDefaultOkHttpsClient(context.getHttpClientConf());
- } else {
- httpClient =
- RetrofitServiceUtils.buildDefaultOkHttpClient(context.getHttpClientConf());
- }
- } else {
- if (srvhttpEndPointBeanObject.getClientProtocl().toLowerCase().equals("https")) {
- httpClient = RetrofitServiceUtils.buildDefaultOkHttpsClient(
- RetrofitServiceHandlerContext.getGlobalHttpClientConf());
- } else {
- httpClient = RetrofitServiceUtils.buildDefaultOkHttpClient(
- RetrofitServiceHandlerContext.getGlobalHttpClientConf());
- }
- }
+ if (context.getHttpClientConf() != null) {
+ if (srvhttpEndPointBeanObject.getClientProtocl().toLowerCase().equals("https")) {
+ httpClient = RetrofitServiceUtils.buildDefaultOkHttpsClient(context.getHttpClientConf());
+ } else {
+ httpClient = RetrofitServiceUtils.buildDefaultOkHttpClient(context.getHttpClientConf());
+ }
+ } else {
+ if (srvhttpEndPointBeanObject.getClientProtocl().toLowerCase().equals("https")) {
+ httpClient = RetrofitServiceUtils.buildDefaultOkHttpsClient(
+ RetrofitServiceHandlerContext.getGlobalHttpClientConf());
+ } else {
+ httpClient = RetrofitServiceUtils.buildDefaultOkHttpClient(
+ RetrofitServiceHandlerContext.getGlobalHttpClientConf());
+ }
+ }
- Retrofit retrofit = new Retrofit.Builder().client(httpClient).baseUrl(baseUrl)
- .addConverterFactory(context.getConverterFactoryBuilder().buildConverterFactory())
- .build();
+ Retrofit retrofit = new Retrofit.Builder().client(httpClient).baseUrl(baseUrl)
+ .addConverterFactory(context.getConverterFactoryBuilder().buildConverterFactory())
+ .build();
- srvEndPointToRetrofit.put(endPointObj,
- retrofit.create(context.getRetrofitSrvInterfaceClazz()));
+ srvEndPointToRetrofit.put(endPointObj, retrofit.create(context.getRetrofitSrvInterfaceClazz()));
- }
+ }
- if (srvEndPointToRetrofit.isEmpty()) {
- throw new RetrofitServiceRuntimeException(
- "can't find service in msb,serviceName:" + srvhttpEndPointBeanObject.getServiceName()
- + ",serviceVersion:" + srvhttpEndPointBeanObject.getServiceVersion());
- }
+ if (srvEndPointToRetrofit.isEmpty()) {
+ throw new RetrofitServiceRuntimeException("can't find service in msb,serviceName:"
+ + srvhttpEndPointBeanObject.getServiceName() + ",serviceVersion:"
+ + srvhttpEndPointBeanObject.getServiceVersion());
+ }
- if (lastEndPoint != null) {
- srvEndPointToRetrofit.remove(lastEndPoint);
- }
+ if (lastEndPoint != null) {
+ srvEndPointToRetrofit.remove(lastEndPoint);
+ }
- if (srvEndPointToRetrofit.isEmpty()) {
- throw new RetrofitServiceRuntimeException("can't find other service in msb,serviceName:"
- + srvhttpEndPointBeanObject.getServiceName() + ",serviceVersion:"
- + srvhttpEndPointBeanObject.getServiceVersion());
- }
+ if (srvEndPointToRetrofit.isEmpty()) {
+ throw new RetrofitServiceRuntimeException("can't find other service in msb,serviceName:"
+ + srvhttpEndPointBeanObject.getServiceName() + ",serviceVersion:"
+ + srvhttpEndPointBeanObject.getServiceVersion());
+ }
+
+ if (endPointToRetrofitRef.compareAndSet(null, srvEndPointToRetrofit)) {
+ context.setLastUpdateMsbTime(System.currentTimeMillis());
+ }
+
+ return endPointToRetrofitRef.get();
- if (endPointToRetrofitRef.compareAndSet(null, srvEndPointToRetrofit)) {
- context.setLastUpdateMsbTime(System.currentTimeMillis());
- }
- return endPointToRetrofitRef.get();
+ } catch (Exception e) {
+ throw new RetrofitServiceRuntimeException("init Retrofit service map fail", e);
+ }
+ } else {
+ return endPointToRetrofitRef.get();
+ }
+ }
- } catch (Exception e) {
- throw new RetrofitServiceRuntimeException("init Retrofit service map fail", e);
- }
- } else {
- return endPointToRetrofitRef.get();
+ private MicroServiceFullInfo cloneFullInfo(MicroServiceFullInfo fullInfo, NodeInfo nodeInfo) {
+
+ MicroServiceFullInfo cloneFuleInfo = new MicroServiceFullInfo();
+ cloneFuleInfo.setMetadata(fullInfo.getMetadata());
+ cloneFuleInfo.setProtocol(fullInfo.getProtocol());
+ cloneFuleInfo.setServiceName(fullInfo.getServiceName());
+ cloneFuleInfo.setStatus(fullInfo.getStatus());
+ cloneFuleInfo.setUrl(fullInfo.getUrl());
+ cloneFuleInfo.setVersion(fullInfo.getVersion());
+ cloneFuleInfo.setVisualRange(fullInfo.getVisualRange());
+ cloneFuleInfo.setEnable_ssl(fullInfo.isEnable_ssl());
+ Set<NodeInfo> nodeInfos = new HashSet<>();
+ nodeInfos.add(nodeInfo);
+ cloneFuleInfo.setNodes(nodeInfos);
+ return cloneFuleInfo;
}
- }
-
-
- private MicroServiceFullInfo cloneFullInfo(MicroServiceFullInfo fullInfo, NodeInfo nodeInfo) {
-
- MicroServiceFullInfo cloneFuleInfo = new MicroServiceFullInfo();
- cloneFuleInfo.setMetadata(fullInfo.getMetadata());
- cloneFuleInfo.setProtocol(fullInfo.getProtocol());
- cloneFuleInfo.setServiceName(fullInfo.getServiceName());
- cloneFuleInfo.setStatus(fullInfo.getStatus());
- cloneFuleInfo.setUrl(fullInfo.getUrl());
- cloneFuleInfo.setVersion(fullInfo.getVersion());
- cloneFuleInfo.setVisualRange(fullInfo.getVisualRange());
- Set<NodeInfo> nodeInfos = new HashSet<>();
- nodeInfos.add(nodeInfo);
- cloneFuleInfo.setNodes(nodeInfos);
- return cloneFuleInfo;
- }
}