2 * Copyright 2017 ZTE Corporation.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org.onap.workflow.utils;
18 import org.apache.commons.lang3.StringUtils;
19 import org.jvnet.hk2.annotations.Service;
20 import org.onap.msb.sdk.discovery.MSBService;
21 import org.onap.msb.sdk.discovery.common.RouteException;
22 import org.onap.msb.sdk.discovery.entity.MicroServiceFullInfo;
23 import org.onap.workflow.activitiext.restservicetask.PropertyUtil;
24 import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
28 public class MsbUtils {
30 private static final Logger LOG = LoggerFactory.getLogger(MsbUtils.class);
32 public static String getServiceAddress(String serviceName, String version) throws RouteException {
35 String msbIp = System.getenv("OPENPALETTE_MSB_IP");
36 String msbPort = System.getenv("OPENPALETTE_MSB_PORT");
38 if(StringUtils.isNotEmpty(msbIp) && StringUtils.isNotEmpty(msbPort))
40 baseUrl = "http://" + msbIp + ":" + msbPort;
42 baseUrl = PropertyUtil.getBasePath();
45 MicroServiceFullInfo msbInfo = new MSBService().queryMicroServiceInfo(baseUrl, serviceName, version);
47 LOG.info("publishUrl: {}", msbInfo.getUrl());
49 return msbInfo.getUrl();