X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=sdnc-a1-controller%2Fnorthbound%2Fnonrt-ric-api%2Fprovider%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fsdnc%2Fnorthbound%2Frestadpter%2FNearRicUrlProvider.java;h=14c34e4f517c747778d813f15e94d831dfc7d853;hb=refs%2Fchanges%2F86%2F1186%2F2;hp=496b4bdfe169e51508d3326957dc2a4ef5710d43;hpb=799dafa576935e93c262a20f2b055a94dd637ddd;p=nonrtric.git diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/NearRicUrlProvider.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/NearRicUrlProvider.java index 496b4bdf..14c34e4f 100644 --- a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/NearRicUrlProvider.java +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/NearRicUrlProvider.java @@ -20,6 +20,15 @@ package org.onap.sdnc.northbound.restadpter; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.List; +import java.util.Properties; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.web.util.UriComponentsBuilder; /** @@ -31,10 +40,42 @@ import org.springframework.web.util.UriComponentsBuilder; public class NearRicUrlProvider { - private String baseUrl; + // nearRicMap provides mapping from nearRtRicId to domainname:port of nearRTRics + private HashMap nearRicMap = new HashMap<>(); + private static final String NEAR_RIC_LIST_FILE = "NearRtRicList.properties"; + private final Logger log = LoggerFactory.getLogger(NearRicUrlProvider.class); public NearRicUrlProvider() { - // Near ric ip:port is passed in payload currently + try { + readNearRtRicConfigFile(); + } catch (IOException ex) { + log.error("Exception while reading nearRtRicConfigFile: {}", ex); + } + } + + private void readNearRtRicConfigFile() throws IOException { + InputStream inputStream = NearRicUrlProvider.class.getClassLoader().getResourceAsStream(NEAR_RIC_LIST_FILE); + if (inputStream == null) { + log.error("The file {} not found in classpath", NEAR_RIC_LIST_FILE); + } else { + Properties properties = new Properties(); + properties.load(inputStream); + Enumeration keys = properties.propertyNames(); + while (keys.hasMoreElements()) { + String key = (String) keys.nextElement(); + nearRicMap.put(key, properties.getProperty(key)); + } + inputStream.close(); + } + } + + /** + * Retrieve the list of Near-RICs + * + * @return the list of Near-RICs + */ + public List getNearRTRicIdsList () { + return new ArrayList<>(nearRicMap.keySet()); } /** @@ -43,7 +84,7 @@ public class NearRicUrlProvider { * @return the base url */ public String getBaseUrl(final String nearRtRicId) { - baseUrl = "http://" + nearRtRicId + "/a1-p/"; + String baseUrl = "http://" + nearRicMap.get(nearRtRicId) + "/a1-p/"; return UriComponentsBuilder.fromUriString(baseUrl).build().toString(); }