diff options
author | Stanislav Marszalek <s.marszalek2@partner.samsung.com> | 2021-07-09 09:41:08 +0200 |
---|---|---|
committer | Stanislav Marszalek <s.marszalek2@partner.samsung.com> | 2021-07-28 13:47:46 +0200 |
commit | 0b06291c6c0c6f8f1e8240c8c6b1175648a177aa (patch) | |
tree | 6a0a50a7836727dbe96259282550679876186219 /src/main/java/org/onap/a1pesimulator/service/ves/RanVesSender.java | |
parent | de818385611ad0afb133996a4afe5b1b00ab1c57 (diff) |
O1 PM Bulk support - collecting events, basic structure for PM Bulk File creation
Issue-ID: INT-1945
Signed-off-by: Stanislav Marszalek <s.marszalek2@partner.samsung.com>
Change-Id: If08908035719798d8d7b129ddcdb6ef62f1787fe
Diffstat (limited to 'src/main/java/org/onap/a1pesimulator/service/ves/RanVesSender.java')
-rw-r--r-- | src/main/java/org/onap/a1pesimulator/service/ves/RanVesSender.java | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/src/main/java/org/onap/a1pesimulator/service/ves/RanVesSender.java b/src/main/java/org/onap/a1pesimulator/service/ves/RanVesSender.java index 9c50197..85bccbb 100644 --- a/src/main/java/org/onap/a1pesimulator/service/ves/RanVesSender.java +++ b/src/main/java/org/onap/a1pesimulator/service/ves/RanVesSender.java @@ -13,9 +13,11 @@ package org.onap.a1pesimulator.service.ves; +import static java.util.Objects.nonNull; + +import org.onap.a1pesimulator.data.Event; import org.onap.a1pesimulator.data.VnfConfig; import org.onap.a1pesimulator.data.ves.CommonEventHeader; -import org.onap.a1pesimulator.data.ves.Event; import org.onap.a1pesimulator.exception.VesBrokerException; import org.onap.a1pesimulator.util.JsonUtils; import org.onap.a1pesimulator.util.VnfConfigReader; @@ -31,6 +33,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; +import reactor.core.publisher.Mono; + @Service public class RanVesSender { @@ -53,30 +57,33 @@ public class RanVesSender { this.vesCollectorPath = vesCollectorPath; } - public ResponseEntity<String> send(Event vesEvent) throws VesBrokerException { - VnfConfig vnfConfig = vnfConfigReader.getVnfConfig(); - String url = getVesCollectorUrl(vnfConfig); - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.APPLICATION_JSON); - headers.setBasicAuth(vnfConfig.getVesUser(), vnfConfig.getVesPassword()); + public Mono<HttpStatus> send(Event event) { + if (nonNull(event)) { + VnfConfig vnfConfig = vnfConfigReader.getVnfConfig(); + String url = getVesCollectorUrl(vnfConfig); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + headers.setBasicAuth(vnfConfig.getVesUser(), vnfConfig.getVesPassword()); - setVnfInfo(vesEvent, vnfConfig); - String event = JsonUtils.INSTANCE.objectToPrettyString(vesEvent); + setVnfInfo(event, vnfConfig); + String eventInJson = JsonUtils.INSTANCE.objectToPrettyString(event); - log.info("Sending following VES event: {}", event); + log.trace("Sending following event: {} ", eventInJson); - HttpEntity<String> entity = new HttpEntity<>(event, headers); - ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class); + HttpEntity<String> entity = new HttpEntity<>(eventInJson, headers); + ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class); - log.debug("Response received: {}", response); + log.debug("Response received: {}", response); - if (response.getStatusCode() == HttpStatus.OK || response.getStatusCode() == HttpStatus.ACCEPTED) { - return response; - } else { - String errorMsg = - "Failed to send VES event to the collector with response status code:" + response.getStatusCode(); - throw new VesBrokerException(errorMsg); + if (response.getStatusCode() == HttpStatus.OK || response.getStatusCode() == HttpStatus.ACCEPTED) { + return Mono.just(response.getStatusCode()); + } else { + String errorMsg = + "Failed to send VES event to the collector with response status code:" + response.getStatusCode(); + return Mono.error(new VesBrokerException(errorMsg)); + } } + return Mono.error(new VesBrokerException("There is no event to send to the collector.")); } private String getVesCollectorUrl(VnfConfig vnfConfig) { @@ -89,4 +96,5 @@ public class RanVesSender { header.setSourceName(vnfConfig.getVnfName()); vesEvent.setCommonEventHeader(header); } + } |