From 5a6a6de6f1a26a1897e4917a0df613e25a24eb70 Mon Sep 17 00:00:00 2001 From: "Benjamin, Max (mb388a)" Date: Mon, 30 Jul 2018 15:56:09 -0400 Subject: Containerization feature of SO Change-Id: I95381232eeefcd247a66a5cec370a8ce1c288e18 Issue-ID: SO-670 Signed-off-by: Benjamin, Max (mb388a) --- .../WebContent/META-INF/MANIFEST.MF | 4 - .../WEB-INF/jboss-deployment-structure.xml | 22 --- .../WebContent/WEB-INF/jboss-web.xml | 3 - .../WebContent/WEB-INF/web.xml | 84 ---------- .../WebContent/check.html | 10 -- adapters/mso-workflow-message-adapter/pom.xml | 72 --------- .../adapters/workflowmessage/BPRestCallback.java | 178 --------------------- .../workflowmessage/WMAdapterConstants.java | 30 ---- .../workflowmessage/WMAdapterProperties.java | 89 ----------- .../adapters/workflowmessage/WMAdapterRest.java | 140 ---------------- .../adapters/workflowmessage/WMAdapterUtils.java | 49 ------ .../workflowmessage/BPRestCallbackTest.java | 42 +++++ .../workflowmessage/WMAdapterRestTest.java | 45 ++++++ .../workflowmessage/BPRestCallbackTest.java | 42 ----- .../workflowmessage/WMAdapterRestTest.java | 45 ------ .../src/test/resources/logback-test.xml | 25 --- 16 files changed, 87 insertions(+), 793 deletions(-) delete mode 100644 adapters/mso-workflow-message-adapter/WebContent/META-INF/MANIFEST.MF delete mode 100644 adapters/mso-workflow-message-adapter/WebContent/WEB-INF/jboss-deployment-structure.xml delete mode 100644 adapters/mso-workflow-message-adapter/WebContent/WEB-INF/jboss-web.xml delete mode 100644 adapters/mso-workflow-message-adapter/WebContent/WEB-INF/web.xml delete mode 100644 adapters/mso-workflow-message-adapter/WebContent/check.html delete mode 100644 adapters/mso-workflow-message-adapter/pom.xml delete mode 100644 adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallback.java delete mode 100644 adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterConstants.java delete mode 100644 adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterProperties.java delete mode 100644 adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRest.java delete mode 100644 adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterUtils.java create mode 100644 adapters/mso-workflow-message-adapter/src/test/java/org/onap/so/adapters/workflowmessage/BPRestCallbackTest.java create mode 100644 adapters/mso-workflow-message-adapter/src/test/java/org/onap/so/adapters/workflowmessage/WMAdapterRestTest.java delete mode 100644 adapters/mso-workflow-message-adapter/src/test/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallbackTest.java delete mode 100644 adapters/mso-workflow-message-adapter/src/test/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRestTest.java delete mode 100644 adapters/mso-workflow-message-adapter/src/test/resources/logback-test.xml (limited to 'adapters/mso-workflow-message-adapter') diff --git a/adapters/mso-workflow-message-adapter/WebContent/META-INF/MANIFEST.MF b/adapters/mso-workflow-message-adapter/WebContent/META-INF/MANIFEST.MF deleted file mode 100644 index bbf7aa0cf9..0000000000 --- a/adapters/mso-workflow-message-adapter/WebContent/META-INF/MANIFEST.MF +++ /dev/null @@ -1,4 +0,0 @@ -Manifest-Version: 1.0 -Dependencies: org.jboss.logging -Class-Path: - diff --git a/adapters/mso-workflow-message-adapter/WebContent/WEB-INF/jboss-deployment-structure.xml b/adapters/mso-workflow-message-adapter/WebContent/WEB-INF/jboss-deployment-structure.xml deleted file mode 100644 index f6cef8a2ce..0000000000 --- a/adapters/mso-workflow-message-adapter/WebContent/WEB-INF/jboss-deployment-structure.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/adapters/mso-workflow-message-adapter/WebContent/WEB-INF/jboss-web.xml b/adapters/mso-workflow-message-adapter/WebContent/WEB-INF/jboss-web.xml deleted file mode 100644 index a6ab6790c1..0000000000 --- a/adapters/mso-workflow-message-adapter/WebContent/WEB-INF/jboss-web.xml +++ /dev/null @@ -1,3 +0,0 @@ - - workflows/messages - \ No newline at end of file diff --git a/adapters/mso-workflow-message-adapter/WebContent/WEB-INF/web.xml b/adapters/mso-workflow-message-adapter/WebContent/WEB-INF/web.xml deleted file mode 100644 index c26a444465..0000000000 --- a/adapters/mso-workflow-message-adapter/WebContent/WEB-INF/web.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - mso-workflow-message-adapter - - check.html - - - log.configuration - logback.workflow-message-adapter.xml - - - mso.configuration - MSO_PROP_WORKFLOW_MESSAGE_ADAPTER=mso.workflow-message-adapter.properties,MSO_PROP_TOPOLOGY=topology.properties,MSO_PROP_AAF=cadi.properties - - - resteasy.resources - - org.openecomp.mso.logger.MsoLoggingServlet, - org.openecomp.mso.MsoStatusHandler, - org.openecomp.mso.adapters.workflowmessage.WMAdapterRest - - - - resteasy.providers - org.openecomp.mso.adapters.providers.JettisonStyleMapperProvider - - - Resteasy - org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher - - - Resteasy - /* - - - LogFilter - org.openecomp.mso.logger.LogFilter - - - LogFilter - /* - - - org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap - - - - SiteStatus - SiteStatus APIs - /rest/setStatus/* - POST - - - SiteControl-Client - - - - - MSO internal Requests - Internal Requests - /rest/logging/* - /rest/properties/* - POST - GET - - - MSO-Client - - - - BASIC - ApplicationRealm - - - SiteControl-Client - - - MSO-Client - - diff --git a/adapters/mso-workflow-message-adapter/WebContent/check.html b/adapters/mso-workflow-message-adapter/WebContent/check.html deleted file mode 100644 index 454997901e..0000000000 --- a/adapters/mso-workflow-message-adapter/WebContent/check.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - -Health Check - - -Application ready - - \ No newline at end of file diff --git a/adapters/mso-workflow-message-adapter/pom.xml b/adapters/mso-workflow-message-adapter/pom.xml deleted file mode 100644 index dd17fe87e8..0000000000 --- a/adapters/mso-workflow-message-adapter/pom.xml +++ /dev/null @@ -1,72 +0,0 @@ - - 4.0.0 - - org.onap.so - adapters - 1.2.0-SNAPSHOT - - org.onap.so.adapters - mso-workflow-message-adapter - war - mso-workflow-message-adapter - mso workflow message adapter - - - ${project.artifactId}-${project.version} - - - - maven-war-plugin - 2.4 - - ${basedir}/WebContent - false - true - - - - - - - - org.onap.so.adapters - mso-adapters-rest-interface - ${project.version} - - - javax - javaee-web-api - 6.0 - provided - - - org.jboss.spec.javax.ejb - jboss-ejb-api_3.1_spec - 1.0.0.Final - provided - - - org.jboss.ejb3 - jboss-ejb3-ext-api - 1.1.1 - provided - - - org.apache.httpcomponents - httpclient - 4.5.5 - - - org.onap.so - status-control - ${project.version} - - - - org.springframework - spring-web - 4.3.2.RELEASE - - - diff --git a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallback.java b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallback.java deleted file mode 100644 index 20880c24a6..0000000000 --- a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallback.java +++ /dev/null @@ -1,178 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Copyright (C) 2017 Huawei Technologies Co., Ltd. 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. - * 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 org.openecomp.mso.adapters.workflowmessage; - -import javax.xml.bind.DatatypeConverter; - -import org.apache.http.HttpResponse; -import org.apache.http.client.HttpClient; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.http.util.EntityUtils; - -import org.openecomp.mso.logger.MessageEnum; -import org.openecomp.mso.logger.MsoAlarmLogger; -import org.openecomp.mso.logger.MsoLogger; - -/** - * Sends asynchronous messages to the BPMN WorkflowMessage service. - */ -public class BPRestCallback { - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA); - private static final MsoAlarmLogger ALARMLOGGER = new MsoAlarmLogger(); - - /** - * Sends a message to the BPMN workflow message service. The URL path is - * constructed using the specified message type and correlator. - * @param workflowMessageUrl the base BPMN WorkflowMessage URL - * @param messageType the message type - * @param correlator the message correlator - * @param contentType the value for the HTTP Content-Type header (possibly null) - * @param message the content (possibly null) - * @return true if the message was consumed successfully by the endpoint - */ - public boolean send(String workflowMessageUrl, String messageType, - String correlator, ContentType contentType, String message) { - LOGGER.debug(getClass().getSimpleName() + ".send(" - + "workflowMessageUrl=" + workflowMessageUrl - + " messageType=" + messageType - + " correlator=" + correlator - + " contentType=" + contentType - + " message=" + message - + ")"); - - while (workflowMessageUrl.endsWith("/")) { - workflowMessageUrl = workflowMessageUrl.substring(0, workflowMessageUrl.length()-1); - } - - String endpoint = workflowMessageUrl + "/" + WMAdapterUtils.encodeURLPathSegment(messageType) - + "/" + WMAdapterUtils.encodeURLPathSegment(correlator); - - return send(endpoint, contentType, message); - } - - /** - * Sends a message to the BPMN workflow message service. The specified URL - * must have the message type and correlator already embedded in it. - * @param url the endpoint URL - * @param message the content (possibly null) - * @param contentType the value for the HTTP Content-Type header (possibly null) - * @return true if the message was consumed successfully by the endpoint - */ - public boolean send(String url, ContentType contentType, String message) { - LOGGER.debug(getClass().getSimpleName() + ".send(" - + "url=" + url - + " contentType=" + contentType - + " message=" + message - + ")"); - - LOGGER.info(MessageEnum.RA_CALLBACK_BPEL, message == null ? "[no content]" : message, "Camunda", ""); - - HttpPost method = null; - HttpResponse httpResponse = null; - - try { - // TODO: configurable timeout? - int timeout = 60 * 1000; - - RequestConfig requestConfig = RequestConfig.custom() - .setSocketTimeout(timeout) - .setConnectTimeout(timeout) - .setConnectionRequestTimeout(timeout) - .build(); - - HttpClient client = HttpClientBuilder.create().build(); - method = new HttpPost(url); - method.setConfig(requestConfig); - - if (message != null) { - method.setEntity(new StringEntity(message, contentType)); - } - - boolean error = false; - - try { - // AAF Integration, disabled for now due to the constrains from other party - // String userCredentials = CredentialConstants.getDecryptedCredential(WMAdapterConstants.DEFAULT_BPEL_AUTH); - // Once AAF enabled, the credential shall be get by triggering the CredentialConstants.getDecryptedCredential -- remove line - String userCredentials = WMAdapterProperties.getEncryptedProperty(WMAdapterConstants.BPEL_AUTH_PROP, - WMAdapterConstants.DEFAULT_BPEL_AUTH, WMAdapterConstants.ENCRYPTION_KEY); - String authorization = "Basic " + DatatypeConverter.printBase64Binary(userCredentials.getBytes()); - method.setHeader("Authorization", authorization); - } catch (Exception e) { - LOGGER.error(MessageEnum.RA_SET_CALLBACK_AUTH_EXC, "Camunda", "", MsoLogger.ErrorCode.BusinessProcesssError, - "Unable to set authorization in callback request", e); - ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, - "Unable to set authorization in callback request: " + e.getMessage()); - error = true; - } - - if (!error) { - httpResponse = client.execute(method); - - @SuppressWarnings("unused") - String responseContent; - - if (httpResponse.getEntity() != null) { - responseContent = EntityUtils.toString(httpResponse.getEntity(), "UTF-8"); - } - - if (httpResponse.getStatusLine().getStatusCode() >= 300) { - String msg = "Received error response to callback request: " + httpResponse.getStatusLine(); - LOGGER.error(MessageEnum.RA_CALLBACK_BPEL_EXC, "Camunda", "", MsoLogger.ErrorCode.BusinessProcesssError, msg); - ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, msg); - } - - } - - return true; - } catch (Exception e) { - LOGGER.error(MessageEnum.RA_CALLBACK_BPEL_EXC, "Camunda", "", MsoLogger.ErrorCode.BusinessProcesssError, - "Error sending callback request", e); - ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, - "Error sending callback request: " + e.getMessage()); - return false; - } finally { - if (httpResponse != null) { - try { - EntityUtils.consume(httpResponse.getEntity()); - httpResponse = null; - } catch (Exception e) { - LOGGER.debug("Exception :",e); - } - } - - if (method != null) { - try { - method.reset(); - method = null; - } catch (Exception e) { - LOGGER.debug("Exception :",e); - } - } - - LOGGER.info(MessageEnum.RA_CALLBACK_BPEL_COMPLETE, "Camunda", ""); - } - } -} diff --git a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterConstants.java b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterConstants.java deleted file mode 100644 index 8b0877ff8b..0000000000 --- a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterConstants.java +++ /dev/null @@ -1,30 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. 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. - * 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 org.openecomp.mso.adapters.workflowmessage; - -public interface WMAdapterConstants { - public static final String MSO_PROPERTIES_ID = "MSO_PROP_WORKFLOW_MESSAGE_ADAPTER"; - public static final String BPEL_URL_PROP = "org.openecomp.mso.adapters.workflow.message.bpelurl"; - - // Once AAF enabled, the credential shall be get by triggering the CredentialConstants.getEncryptedPropValue - public static final String BPEL_AUTH_PROP = "org.openecomp.mso.adapters.workflow.message.bpelauth"; - public static final String DEFAULT_BPEL_AUTH = "05FDA034C27D1CA51AAB8FAE512EDE45241E16FC8C137D292AA3A964431C82DB"; - public static final String ENCRYPTION_KEY = "aa3871669d893c7fb8abbcda31b88b4f"; -} \ No newline at end of file diff --git a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterProperties.java b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterProperties.java deleted file mode 100644 index 9d57d2c001..0000000000 --- a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterProperties.java +++ /dev/null @@ -1,89 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. 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. - * 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 org.openecomp.mso.adapters.workflowmessage; - -import org.openecomp.mso.logger.MessageEnum; -import org.openecomp.mso.logger.MsoLogger; -import org.openecomp.mso.properties.MsoJavaProperties; -import org.openecomp.mso.properties.MsoPropertiesException; -import org.openecomp.mso.properties.MsoPropertiesFactory; - -/** - * Static methods to access Workflow Message Adapter properties. - */ -public final class WMAdapterProperties { - private static final MsoPropertiesFactory MSO_PROPERTIES_FACTORY = new MsoPropertiesFactory(); - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA); - - /** - * Gets the value of a Workflow Message Adapter property. - * @param key the property key - * @param defaultValue the default value to use if the property does not - * exist or if an error occurs - */ - public static String getProperty(String key, String defaultValue) { - MsoJavaProperties properties; - - try { - properties = MSO_PROPERTIES_FACTORY.getMsoJavaProperties(WMAdapterConstants.MSO_PROPERTIES_ID); - } catch (MsoPropertiesException e) { - LOGGER.error (MessageEnum.NO_PROPERTIES, - "Unknown. MSO Properties ID not found in cache: " + WMAdapterConstants.MSO_PROPERTIES_ID, - "WorkflowMessageAdatper", "", MsoLogger.ErrorCode.DataError, - "Exception - MSO Properties ID not found in cache", e); - return defaultValue; - } - - String value = properties.getProperty(key, defaultValue); - LOGGER.debug("Config read for " + WMAdapterConstants.MSO_PROPERTIES_ID - + " - key:" + key + " value:" + value); - return value; - } - - /** - * Gets the value of an Workflow Message Adapter property. - * @param key the property key - * @param defaultValue the default value to use if the property does not - * exist or if an error occurs - */ - public static String getEncryptedProperty(String key, String defaultValue, String encryptionKey) { - MsoJavaProperties properties; - - try { - properties = MSO_PROPERTIES_FACTORY.getMsoJavaProperties(WMAdapterConstants.MSO_PROPERTIES_ID); - } catch (MsoPropertiesException e) { - LOGGER.error (MessageEnum.NO_PROPERTIES, - "Unknown. MSO Properties ID not found in cache: " + WMAdapterConstants.MSO_PROPERTIES_ID, - "WorkflowMessageAdatper", "", MsoLogger.ErrorCode.DataError, - "Exception - MSO Properties ID not found in cache", e); - return defaultValue; - } - - String value = properties.getEncryptedProperty(key, defaultValue, encryptionKey); - LOGGER.debug("Config read for " + WMAdapterConstants.MSO_PROPERTIES_ID + " - key:" + key); - return value; - } - - /** - * Instantiation is not allowed. - */ - private WMAdapterProperties() { - } -} \ No newline at end of file diff --git a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRest.java b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRest.java deleted file mode 100644 index 4be6b93d5c..0000000000 --- a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRest.java +++ /dev/null @@ -1,140 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Copyright (C) 2017 Huawei Technologies Co., Ltd. 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. - * 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 org.openecomp.mso.adapters.workflowmessage; - -import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.HEAD; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -import org.apache.http.entity.ContentType; - -import org.openecomp.mso.HealthCheckUtils; -import org.openecomp.mso.logger.MessageEnum; -import org.openecomp.mso.logger.MsoAlarmLogger; -import org.openecomp.mso.logger.MsoLogger; -import org.openecomp.mso.utils.UUIDChecker; - -/** - * Workflow Message Adapter interface added in 1707. Supports delivery of - * callbacks from external systems to waiting BPMN workflows. - */ -@Path("/") -public class WMAdapterRest { - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA); - private static final MsoAlarmLogger ALARMLOGGER = new MsoAlarmLogger(); - - @HEAD - @GET - @Path("/healthcheck") - @Produces(MediaType.TEXT_HTML) - public Response healthcheck(@QueryParam("requestId") String requestId) { - long startTime = System.currentTimeMillis(); - MsoLogger.setServiceName("Healthcheck"); - UUIDChecker.verifyOldUUID(requestId, LOGGER); - HealthCheckUtils healthCheck = new HealthCheckUtils(); - - if (!healthCheck.siteStatusCheck(LOGGER)) { - return HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE; - } - - if (!healthCheck.configFileCheck(LOGGER, startTime, WMAdapterConstants.MSO_PROPERTIES_ID)) { - return HealthCheckUtils.NOT_STARTED_RESPONSE; - } - - LOGGER.debug("healthcheck - Successful"); - return HealthCheckUtils.HEALTH_CHECK_RESPONSE; - } - - /** - * Receives a message from a remote system. - * @param content the message content - */ - @POST - @Path("/message/{messageType}/{correlator}") - @Consumes("*/*") - @Produces({MediaType.TEXT_PLAIN}) - public Response receiveWorkflowMessage( - @HeaderParam("Content-Type") String contentTypeHeader, - @PathParam("messageType") String messageType, - @PathParam("correlator") String correlator, - String content) { - - String path= "workflow/" + messageType + "/" + correlator; - LOGGER.info(MessageEnum.RA_RECEIVE_WORKFLOW_MESSAGE, content, "WorkflowMessageAdapter", path); - - long startTime = System.currentTimeMillis(); - - ContentType contentType = null; - - if (contentTypeHeader != null) { - try { - contentType = ContentType.parse(contentTypeHeader); - } catch (Exception e) { - // If we don't get a valid one, we handle it below. - LOGGER.debug("Exception :",e); - } - } - - if (contentType == null && content != null) { - String error = "Missing or Invalid Content-Type"; - LOGGER.error(MessageEnum.RA_PARSING_REQUEST_ERROR, error, "WorkflowMessageAdapter", path, - MsoLogger.ErrorCode.DataError, "Bad Request"); - ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error); - return Response.status(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE).entity(error).build(); - } - - String bpUrl = WMAdapterProperties.getProperty(WMAdapterConstants.BPEL_URL_PROP, null); - - if (bpUrl == null) { - String error = "Missing configuration for: " + WMAdapterConstants.BPEL_URL_PROP; - LOGGER.error(MessageEnum.RA_CONFIG_EXC, error, "WorkflowMessageAdapter", path, - MsoLogger.ErrorCode.DataError, "Configuration Error"); - ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error); - return Response.status(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).entity(error).build(); - } - - long bpStartTime = System.currentTimeMillis(); - BPRestCallback callback = new BPRestCallback(); - boolean callbackSuccess = callback.send(bpUrl, messageType, correlator, contentType, content); - - if (callbackSuccess) { - LOGGER.recordMetricEvent(bpStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, - "Sent notification", "BPMN", bpUrl, null); - LOGGER.recordAuditEvent(startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successful"); - } else { - LOGGER.recordMetricEvent(bpStartTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError, - "Failed to send notification", "BPMN", bpUrl, null); - LOGGER.recordAuditEvent(startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError, - "Failed to send notification"); - } - - return Response.status(204).build(); - } -} diff --git a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterUtils.java b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterUtils.java deleted file mode 100644 index f152931ae5..0000000000 --- a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterUtils.java +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Copyright (C) 2017 Huawei Technologies Co., Ltd. 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. - * 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 org.openecomp.mso.adapters.workflowmessage; - -import java.io.UnsupportedEncodingException; - -import org.springframework.web.util.UriUtils; - -/** - * Utility methods used by WMAdapterRest. - */ -public final class WMAdapterUtils { - /** - * Encodes a URL path segment according to RFC 3986 Section 2. - * @param pathSegment the path segment to encode - * @return the encoded path segment - */ - public static String encodeURLPathSegment(String pathSegment) { - try { - return UriUtils.encodePathSegment(pathSegment, "UTF-8"); - } catch (UnsupportedEncodingException e) { - throw new RuntimeException("UTF-8 encoding is not supported",e); - } - } - - /** - * Instantiation is not allowed. - */ - private WMAdapterUtils() { - } -} \ No newline at end of file diff --git a/adapters/mso-workflow-message-adapter/src/test/java/org/onap/so/adapters/workflowmessage/BPRestCallbackTest.java b/adapters/mso-workflow-message-adapter/src/test/java/org/onap/so/adapters/workflowmessage/BPRestCallbackTest.java new file mode 100644 index 0000000000..21917c3d2c --- /dev/null +++ b/adapters/mso-workflow-message-adapter/src/test/java/org/onap/so/adapters/workflowmessage/BPRestCallbackTest.java @@ -0,0 +1,42 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018 Huawei Technologies Co., Ltd. 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. + * 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 org.onap.so.adapters.workflowmessage; + +import org.apache.http.entity.ContentType; +import org.junit.Test; +import org.mockito.Mock; + +import static junit.framework.Assert.assertFalse; + +public class BPRestCallbackTest { + + @Mock + ContentType contentType; + + @Test + public void testSendExceptionCase() { + + BPRestCallback test = new BPRestCallback(); + test.send("workflowMessageUrl/", "messageType", "correlator", contentType,"message"); + assertFalse(test.send("workflowMessageUrl/", "messageType", "correlator", contentType,"message")); + + } + } diff --git a/adapters/mso-workflow-message-adapter/src/test/java/org/onap/so/adapters/workflowmessage/WMAdapterRestTest.java b/adapters/mso-workflow-message-adapter/src/test/java/org/onap/so/adapters/workflowmessage/WMAdapterRestTest.java new file mode 100644 index 0000000000..08728fa339 --- /dev/null +++ b/adapters/mso-workflow-message-adapter/src/test/java/org/onap/so/adapters/workflowmessage/WMAdapterRestTest.java @@ -0,0 +1,45 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018 Huawei Technologies Co., Ltd. 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + *l + * 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 org.onap.so.adapters.workflowmessage; + +import org.junit.Assert; +import org.junit.Test; + +public class WMAdapterRestTest { + + @Test(expected = ClassFormatError.class) + public void testHealthCheckException() throws Exception { + + WMAdapterRest test = new WMAdapterRest(); + test.healthcheck("34388737-cdad-4d96-ae6f-39d08024b495"); + Assert.assertFalse(true); + + } + + @Test(expected = ClassFormatError.class) + public void testReceiveWorkflowMsgException() throws Exception { + WMAdapterRest test = new WMAdapterRest(); + test.receiveWorkflowMessage("contentTypeHeader", "messageType", "correlator", "content"); + Assert.assertFalse(true); + + } +} + diff --git a/adapters/mso-workflow-message-adapter/src/test/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallbackTest.java b/adapters/mso-workflow-message-adapter/src/test/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallbackTest.java deleted file mode 100644 index 8d2c938c09..0000000000 --- a/adapters/mso-workflow-message-adapter/src/test/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallbackTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2018 Huawei Technologies Co., Ltd. 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. - * 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 org.openecomp.mso.adapters.workflowmessage; - -import org.apache.http.entity.ContentType; -import org.junit.Test; -import org.mockito.Mock; - -import static junit.framework.Assert.assertFalse; - -public class BPRestCallbackTest { - - @Mock - ContentType contentType; - - @Test - public void testSendExceptionCase() { - - BPRestCallback test = new BPRestCallback(); - test.send("workflowMessageUrl/", "messageType", "correlator", contentType,"message"); - assertFalse(test.send("workflowMessageUrl/", "messageType", "correlator", contentType,"message")); - - } - } diff --git a/adapters/mso-workflow-message-adapter/src/test/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRestTest.java b/adapters/mso-workflow-message-adapter/src/test/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRestTest.java deleted file mode 100644 index 47f843de0c..0000000000 --- a/adapters/mso-workflow-message-adapter/src/test/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRestTest.java +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2018 Huawei Technologies Co., Ltd. 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - *l - * 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 org.openecomp.mso.adapters.workflowmessage; - -import org.junit.Assert; -import org.junit.Test; - -public class WMAdapterRestTest { - - @Test(expected = ClassFormatError.class) - public void testHealthCheckException() throws Exception { - - WMAdapterRest test = new WMAdapterRest(); - test.healthcheck("34388737-cdad-4d96-ae6f-39d08024b495"); - Assert.assertFalse(true); - - } - - @Test(expected = ClassFormatError.class) - public void testReceiveWorkflowMsgException() throws Exception { - WMAdapterRest test = new WMAdapterRest(); - test.receiveWorkflowMessage("contentTypeHeader", "messageType", "correlator", "content"); - Assert.assertFalse(true); - - } -} - diff --git a/adapters/mso-workflow-message-adapter/src/test/resources/logback-test.xml b/adapters/mso-workflow-message-adapter/src/test/resources/logback-test.xml deleted file mode 100644 index bc3d7f36b6..0000000000 --- a/adapters/mso-workflow-message-adapter/src/test/resources/logback-test.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - %d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}||%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}||%X{Timer}|%msg%n - - - - - - - - - - - - - - - - - - - - \ No newline at end of file -- cgit 1.2.3-korg