msb http client
[msb/java-sdk.git] / src / main / java / org / onap / msb / sdk / httpclient / handler / impl / ServiceHttpEndPointBeanObjectBuilder.java
1 /*******************************************************************************
2  * Copyright 2017 ZTE, Inc. and others.
3  * 
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  * in compliance with the License. You may obtain a copy of the License at
6  * 
7  * http://www.apache.org/licenses/LICENSE-2.0
8  * 
9  * Unless required by applicable law or agreed to in writing, software distributed under the License
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11  * or implied. See the License for the specific language governing permissions and limitations under
12  * the License.
13  ******************************************************************************/
14 /**
15  * 
16  */
17 package org.onap.msb.sdk.httpclient.handler.impl;
18
19 import org.onap.msb.sdk.httpclient.ServiceHttpEndPointBeanObject;
20 import org.onap.msb.sdk.httpclient.annotaion.ServiceHttpEndPoint;
21 import org.onap.msb.sdk.httpclient.exception.RetrofitServiceRuntimeException;
22 import org.onap.msb.sdk.httpclient.handler.HandlerContextBuilder;
23 import org.onap.msb.sdk.httpclient.handler.RetrofitServiceHandlerContext;
24
25 /**
26  * @author 10071214
27  *
28  */
29 public class ServiceHttpEndPointBeanObjectBuilder implements HandlerContextBuilder {
30
31   /*
32    * (non-Javadoc)
33    * 
34    * @see
35    * com.zte.ums.zenap.versey.rpc.retrofit2.service.impl.handler.HandlerContextBuilder#build(com.zte
36    * .ums.zenap.versey.rpc.retrofit2.service.impl.handler.RetrofitServiceHandlerContext)
37    */
38   @Override
39   public void build(RetrofitServiceHandlerContext ctx) throws RetrofitServiceRuntimeException {
40
41     if (ctx.getServiceHttpEndPointBeanObject() == null) {
42       // 从注解上构建
43       ServiceHttpEndPointBeanObject beanObject =
44           buildBeanObjectFromClassAnnotion(ctx.getRetrofitSrvInterfaceClazz());
45       ctx.setServiceHttpEndPointBeanObject(beanObject);
46     }
47
48
49   }
50
51
52   private ServiceHttpEndPointBeanObject buildBeanObjectFromClassAnnotion(
53       Class<?> retrofitSrvInterfaceClazz) {
54
55     ServiceHttpEndPointBeanObject resultBeanObject = new ServiceHttpEndPointBeanObject();
56     ServiceHttpEndPoint srvhttpEndPoint =
57         retrofitSrvInterfaceClazz.getAnnotation(ServiceHttpEndPoint.class);
58     resultBeanObject.setServerType(srvhttpEndPoint.serverType());
59     resultBeanObject.setServiceName(srvhttpEndPoint.serviceName());
60     resultBeanObject.setServiceVersion(srvhttpEndPoint.serviceVersion());
61
62     resultBeanObject.setClientProtocl(srvhttpEndPoint.clientProtocl());
63     resultBeanObject.setMsbProtocl(srvhttpEndPoint.msbProtocl());
64     if ("null".equals(srvhttpEndPoint.nameSpace())) {
65       resultBeanObject.setNameSpace(null);
66     } else {
67       resultBeanObject.setNameSpace(srvhttpEndPoint.nameSpace());
68     }
69
70     resultBeanObject.setVisualRange(srvhttpEndPoint.visualRange());
71
72
73     return resultBeanObject;
74   }
75
76 }