diff options
author | Ramya Ravichandran <ramya.ravichandran5@wipro.com> | 2019-02-15 16:26:45 +0530 |
---|---|---|
committer | Ramya Ravichandran <ramya.ravichandran5@wipro.com> | 2019-02-15 16:28:41 +0530 |
commit | 43467ecc6a1624b7fd695883c5c6c214782f6bcd (patch) | |
tree | 13d9bc07475d63fb1e29e44b7e82b33c54df09e7 /src/main/java/com/wipro/www/sonhms/restclient/OofRestClient.java | |
parent | 8b5b35c5a7dfe7213e0d1ef824fc7ae5b6c82758 (diff) |
Son-handler microservice seed code
Change-Id: If4000e26044fe267bdd5fae3a1b2599182423950
Issue-ID: DCAEGEN2-1219
Signed-off-by: Ramya Ravichandran<ramya.ravichandran5@wipro.com>
Diffstat (limited to 'src/main/java/com/wipro/www/sonhms/restclient/OofRestClient.java')
-rw-r--r-- | src/main/java/com/wipro/www/sonhms/restclient/OofRestClient.java | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/main/java/com/wipro/www/sonhms/restclient/OofRestClient.java b/src/main/java/com/wipro/www/sonhms/restclient/OofRestClient.java new file mode 100644 index 0000000..7b95d90 --- /dev/null +++ b/src/main/java/com/wipro/www/sonhms/restclient/OofRestClient.java @@ -0,0 +1,101 @@ +/******************************************************************************* + * ============LICENSE_START======================================================= + * pcims + * ================================================================================ + * Copyright (C) 2018 Wipro Limited. + * ============================================================================== + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + ******************************************************************************/ + +package com.wipro.www.sonhms.restclient; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.wipro.www.sonhms.ConfigPolicy; +import com.wipro.www.sonhms.Configuration; +import com.wipro.www.sonhms.exceptions.OofNotFoundException; +import com.wipro.www.sonhms.utils.HttpRequester; + +import java.util.List; +import java.util.UUID; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class OofRestClient { + private static Logger log = LoggerFactory.getLogger(OofRestClient.class); + + private OofRestClient() { + + } + + /** + * rest client that pci uses to query the OOF for pci solutions. + * @throws OofNotFoundException when request to oof fails + */ + + public static String queryOof(int numSolutions, String transactionId, String requestType, + List<String> cellIdList, String networkId, List<String> optimizers) throws OofNotFoundException { + log.debug("inside queryoof"); + + String response = ""; + Configuration configuration = Configuration.getInstance(); + try { + UUID requestUuid = UUID.randomUUID(); + String requestId = requestUuid.toString(); + String callbackUrl = configuration.getCallbackUrl(); + RequestInfo requestInfo = new RequestInfo(); + requestInfo.setTransactionId(transactionId); + requestInfo.setRequestId(requestId); + requestInfo.setCallbackUrl(callbackUrl); + String sourceId = configuration.getSourceId(); + requestInfo.setSourceId(sourceId); + requestInfo.setRequestType(requestType); + requestInfo.setNumSolutions(numSolutions); + requestInfo.setOptimizers(optimizers); + ConfigPolicy config = ConfigPolicy.getInstance(); + int timeout = 60; + try { + timeout = (int) config.getConfig().get("PCI_NEIGHBOR_CHANGE_CLUSTER_TIMEOUT_IN_SECS"); + } catch (NullPointerException e) { + log.debug("No config policy available. Using default timeout 60 sec"); + } + requestInfo.setTimeout(timeout); + CellInfo cellInfo = new CellInfo(); + cellInfo.setCellIdList(cellIdList); + cellInfo.setNetworkId(networkId); + OofRequestBody oofRequestBody = new OofRequestBody(); + oofRequestBody.setRequestInfo(requestInfo); + oofRequestBody.setCellInfo(cellInfo); + + ObjectMapper mapper = new ObjectMapper(); + String requestBody = mapper.writeValueAsString(oofRequestBody); + log.debug("requestBody{}", requestBody); + + String requestUrl = configuration.getOofService() + "/api/oof/v1/pci"; + log.debug("requestUrl {}", requestUrl); + + response = HttpRequester.sendPostRequestToOof(requestUrl, requestBody); + if (response == null) { + throw new OofNotFoundException("Request to oof failed"); + } + log.debug("response {}", response); + + return response; + } catch (JsonProcessingException e) { + log.debug("exception{}", e); + + } + return response; + } +} |