From 715ff2b45f99fe53b96acf7f7f23247df6cce38f Mon Sep 17 00:00:00 2001 From: "a.sreekumar" Date: Wed, 20 Jan 2021 14:35:18 +0000 Subject: Add logs for REST request/response in APEX Change-Id: Ibf2cf19a1ec91473d8c655b87a712aa8738848c8 Issue-ID: POLICY-3003 Signed-off-by: a.sreekumar (cherry picked from commit de9bb70b25d498e844c2c6205061aa9e5e9d8d7a) --- .../plugins-event-carrier-restclient/pom.xml | 5 +++++ .../carrier/restclient/ApexRestClientProducer.java | 16 ++++++++-------- .../restclient/ApexRestClientProducerTest.java | 2 +- .../plugins-event-carrier-restrequestor/pom.xml | 2 +- .../restrequestor/ApexRestRequestorConsumer.java | 20 ++++++++++++++------ 5 files changed, 29 insertions(+), 16 deletions(-) diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/pom.xml b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/pom.xml index 5a2fef92c..479d943f4 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/pom.xml +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/pom.xml @@ -2,6 +2,7 @@ ============LICENSE_START======================================================= Copyright (C) 2018 Ericsson. All rights reserved. Modifications Copyright (C) 2019-2020 Nordix Foundation. + Modifications Copyright (C) 2021 Bell Canada. All rights reserved. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -34,6 +35,10 @@ [${project.parent.artifactId}] Plugin for handling events being transported over REST where Apex acts as a REST client + + org.onap.policy.common + policy-endpoints + org.onap.policy.apex-pdp.services services-engine diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java index d777d2c89..565587f62 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2019-2020 Nordix Foundation. + * Modifications Copyright (C) 2021 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +34,9 @@ import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException; import org.onap.policy.apex.service.engine.event.ApexPluginsEventProducer; import org.onap.policy.apex.service.parameters.carriertechnology.RestPluginCarrierTechnologyParameters; import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters; +import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -114,22 +118,18 @@ public class ApexRestClientProducer extends ApexPluginsEventProducer { // @formatter:on } + NetLoggerUtil.log(EventType.OUT, CommInfrastructure.REST, untaggedUrl, event.toString()); // Send the event as a REST request final Response response = sendEventAsRestRequest(untaggedUrl, (String) event); + NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, untaggedUrl, response.readEntity(String.class)); + // Check that the request worked if (response.getStatus() != Response.Status.OK.getStatusCode()) { final String errorMessage = "send of event to URL \"" + untaggedUrl + "\" using HTTP \"" - + restProducerProperties.getHttpMethod() + "\" failed with status code " + response.getStatus() - + " and message \"" + response.readEntity(String.class) + "\", event:\n" + event; - LOGGER.warn(errorMessage); + + restProducerProperties.getHttpMethod() + "\" failed with status code " + response.getStatus(); throw new ApexEventRuntimeException(errorMessage); } - - if (LOGGER.isTraceEnabled()) { - LOGGER.trace("event sent from engine using {} to URL {} with HTTP {} : {} and response {} ", this.name, - untaggedUrl, restProducerProperties.getHttpMethod(), event, response); - } } /** diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java index a4ef6e38e..ac8271309 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java @@ -291,6 +291,6 @@ public class ApexRestClientProducerTest { assertThatThrownBy(() -> arcp.sendEvent(123, null, "EventName", "This is an Event")) .hasMessageContaining("send of event to URL \"http://some.place.that.does.not/exist\" using HTTP \"POST\" " - + "failed with status code 400 and message \"null\", event:\n" + "This is an Event"); + + "failed with status code 400"); } } \ No newline at end of file diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/pom.xml b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/pom.xml index 823759ede..4043edd95 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/pom.xml +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/pom.xml @@ -2,6 +2,7 @@ ============LICENSE_START======================================================= Copyright (C) 2018 Ericsson. All rights reserved. Modifications Copyright (C) 2019-2020 Nordix Foundation. + Modifications Copyright (C) 2021 Bell Canada. All rights reserved. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -37,7 +38,6 @@ org.onap.policy.common policy-endpoints - test org.onap.policy.apex-pdp.services diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorConsumer.java index aa951b823..54dba7a7c 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorConsumer.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/main/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/ApexRestRequestorConsumer.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2019-2020 Nordix Foundation. + * Modifications Copyright (C) 2021 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -47,8 +48,12 @@ import org.onap.policy.apex.service.engine.event.ApexEventException; import org.onap.policy.apex.service.engine.event.ApexEventReceiver; import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException; import org.onap.policy.apex.service.engine.event.ApexPluginsEventConsumer; +import org.onap.policy.apex.service.parameters.carriertechnology.RestPluginCarrierTechnologyParameters.HttpMethod; import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters; import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode; +import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -308,23 +313,26 @@ public class ApexRestRequestorConsumer extends ApexPluginsEventConsumer { restRequestThread = Thread.currentThread(); try { + if (restConsumerProperties.getHttpMethod().equals(HttpMethod.PUT) + || restConsumerProperties.getHttpMethod().equals(HttpMethod.POST)) { + NetLoggerUtil.log(EventType.OUT, CommInfrastructure.REST, untaggedUrl, + request.getEvent().toString()); + } // Execute the REST request final Response response = sendEventAsRestRequest(untaggedUrl); - + // Get the event we received + final String eventJsonString = response.readEntity(String.class); + NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, untaggedUrl, eventJsonString); // Match the return code Matcher isPass = httpCodeFilterPattern.matcher(String.valueOf(response.getStatus())); // Check that the request worked if (!isPass.matches()) { final String errorMessage = "reception of event from URL \"" + restConsumerProperties.getUrl() - + "\" failed with status code " + response.getStatus() + " and message \"" - + response.readEntity(String.class) + "\""; + + "\" failed with status code " + response.getStatus(); throw new ApexEventRuntimeException(errorMessage); } - // Get the event we received - final String eventJsonString = response.readEntity(String.class); - // Check there is content if (StringUtils.isBlank(eventJsonString)) { final String errorMessage = -- cgit 1.2.3-korg