aboutsummaryrefslogtreecommitdiffstats
path: root/adapters/mso-sdnc-adapter/src/main/java/org/openecomp
diff options
context:
space:
mode:
Diffstat (limited to 'adapters/mso-sdnc-adapter/src/main/java/org/openecomp')
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/ObjectFactory.java77
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/RequestHeader.java219
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterPortType.java53
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterRequest.java129
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterResponse.java53
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterService.java127
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/CallbackHeader.java155
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/ObjectFactory.java68
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCAdapterCallbackRequest.java136
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCCallbackAdapterPortType.java52
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCCallbackAdapterService.java125
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/package-info.java23
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/Constants.java48
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/RequestTunables.java223
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCAdapterPortTypeImpl.java102
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCAdapterRestImpl.java191
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCResponse.java73
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCRestClient.java347
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/Utils.java198
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/notify/SDNCNotifyResource.java192
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/package-info.java23
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/BPRestCallback.java170
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterProperties.java85
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterRest.java239
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterUtils.java74
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCConnector.java317
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCEventParser.java161
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCServiceRequestConnector.java199
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCServiceRequestTask.java213
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SNIROResponse.java78
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/TypedRequestTunables.java224
-rw-r--r--adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/util/SDNCRequestIdUtil.java39
32 files changed, 0 insertions, 4413 deletions
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/ObjectFactory.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/ObjectFactory.java
deleted file mode 100644
index ff30e0d241..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/ObjectFactory.java
+++ /dev/null
@@ -1,77 +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.sdnc;
-
-
-import javax.xml.bind.annotation.XmlRegistry;
-
-
-/**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the org.openecomp.mso.adapters.sdnc package.
- * <p>An ObjectFactory allows you to programatically
- * construct new instances of the Java representation
- * for XML content. The Java representation of XML
- * content can consist of schema derived interfaces
- * and classes representing the binding of schema
- * type definitions, element declarations and model
- * groups. Factory methods for each of these are
- * provided in this class.
- *
- */
-@XmlRegistry
-public class ObjectFactory {
-
-
- /**
- * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.openecomp.mso.adapters.sdnc
- *
- */
- public ObjectFactory() {
- /* Empty constructor */
- }
-
- /**
- * Create an instance of {@link RequestHeader }
- *
- */
- public RequestHeader createRequestHeader() {
- return new RequestHeader();
- }
-
- /**
- * Create an instance of {@link SDNCAdapterResponse }
- *
- */
- public SDNCAdapterResponse createSDNCAdapterResponse() {
- return new SDNCAdapterResponse();
- }
-
- /**
- * Create an instance of {@link SDNCAdapterRequest }
- *
- */
- public SDNCAdapterRequest createSDNCAdapterRequest() {
- return new SDNCAdapterRequest();
- }
-
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/RequestHeader.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/RequestHeader.java
deleted file mode 100644
index f7b5596f16..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/RequestHeader.java
+++ /dev/null
@@ -1,219 +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.sdnc;
-
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="RequestId" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="SvcInstanceId" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="SvcAction" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="SvcOperation" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="CallbackUrl" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-//BPEL to SDNCAdapter request header
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
- "requestId",
- "svcInstanceId",
- "svcAction",
- "svcOperation",
- "callbackUrl",
- "msoAction"
-})
-@XmlRootElement(name = "RequestHeader")
-public class RequestHeader {
-
- @XmlElement(name = "RequestId", required = true)
- protected String requestId;
- @XmlElement(name = "SvcInstanceId")
- protected String svcInstanceId;
- @XmlElement(name = "SvcAction", required = true)
- protected String svcAction;
- @XmlElement(name = "SvcOperation", required = true)
- protected String svcOperation;
- @XmlElement(name = "CallbackUrl", required = true)
- protected String callbackUrl;
- @XmlElement(name = "MsoAction")
- protected String msoAction;
-
- /**
- * Gets the value of the requestId property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getRequestId() {
- return requestId;
- }
-
- /**
- * Sets the value of the requestId property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setRequestId(String value) {
- this.requestId = value;
- }
-
- public String getSvcInstanceId() {
- return svcInstanceId;
- }
-
- public void setSvcInstanceId(String svcInstanceId) {
- this.svcInstanceId = svcInstanceId;
- }
-
- /**
- * Gets the value of the svcAction property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getSvcAction() {
- return svcAction;
- }
-
- /**
- * Sets the value of the svcAction property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setSvcAction(String value) {
- this.svcAction = value;
- }
-
- /**
- * Gets the value of the svcOperation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getSvcOperation() {
- return svcOperation;
- }
-
- /**
- * Sets the value of the svcOperation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setSvcOperation(String value) {
- this.svcOperation = value;
- }
-
- /**
- * Gets the value of the callbackUrl property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCallbackUrl() {
- return callbackUrl;
- }
-
- /**
- * Sets the value of the callbackUrl property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCallbackUrl(String value) {
- this.callbackUrl = value;
- }
-
- /**
- * Gets the value of the callbackUrl property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getMsoAction() {
- return msoAction;
- }
-
- /**
- * Sets the value of the callbackUrl property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setMsoAction(String value) {
- this.msoAction = value;
- }
-
-
- @Override
- public String toString() {
- return "RequestHeader [requestId=" + requestId +
- ", svcInstanceId=" + svcInstanceId +
- ", svcAction=" + svcAction +
- ", svcOperation=" + svcOperation +
- ", callbackUrl=" + callbackUrl +
- ", msoAction=" + msoAction + "]";
- }
-
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterPortType.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterPortType.java
deleted file mode 100644
index cd464923fc..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterPortType.java
+++ /dev/null
@@ -1,53 +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.sdnc;
-
-
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebResult;
-import javax.jws.WebService;
-import javax.jws.soap.SOAPBinding;
-import javax.xml.bind.annotation.XmlSeeAlso;
-
-
-/**
- * This class was generated by Apache CXF 2.7.11.redhat-3
- * 2015-01-27T18:25:50.914-05:00
- * Generated source version: 2.7.11.redhat-3
- *
- */
-//BPEL SDNCAdapter SOAP WebService - impl class in impl pkg
-@WebService(targetNamespace = "http://org.openecomp/workflow/sdnc/adapter/wsdl/v1", name = "SDNCAdapterPortType")
-@XmlSeeAlso({ObjectFactory.class})
-@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
-public interface SDNCAdapterPortType {
-
- @WebResult(name = "SDNCAdapterResponse", targetNamespace = "http://org.openecomp/workflow/sdnc/adapter/schema/v1", partName = "SDNCAdapterResponse")
- @WebMethod(operationName = "SDNCAdapter")
- public SDNCAdapterResponse sdncAdapter(
- @WebParam(partName = "SDNCAdapterRequest", name = "SDNCAdapterRequest", targetNamespace = "http://org.openecomp/workflow/sdnc/adapter/schema/v1")
- SDNCAdapterRequest sdncAdapterRequest
- );
-
- @WebMethod
- public void healthCheck();
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterRequest.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterRequest.java
deleted file mode 100644
index 02998bf9df..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterRequest.java
+++ /dev/null
@@ -1,129 +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.sdnc;
-
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-import org.openecomp.mso.adapters.sdnc.impl.Utils;
-/**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element ref="{http://org.openecomp/workflow/sdnc/adapter/schema/v1}RequestHeader"/>
- * &lt;element name="RequestData" type="{http://www.w3.org/2001/XMLSchema}anyType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-//BPEL to SDNCAdapter request
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
- "requestHeader",
- "requestData"
-})
-@XmlRootElement(name = "SDNCAdapterRequest")
-public class SDNCAdapterRequest {
-
- @XmlElement(name = "RequestHeader", required = true)
- protected RequestHeader requestHeader;
- @XmlElement(name = "RequestData", required = true)
- protected Object requestData;
-
- /**
- * Gets the value of the requestHeader property.
- *
- * @return
- * possible object is
- * {@link RequestHeader }
- *
- */
- public RequestHeader getRequestHeader() {
- return requestHeader;
- }
-
- /**
- * Sets the value of the requestHeader property.
- *
- * @param value
- * allowed object is
- * {@link RequestHeader }
- *
- */
- public void setRequestHeader(RequestHeader value) {
- this.requestHeader = value;
- }
-
- /**
- * Gets the value of the requestData property.
- *
- * @return
- * possible object is
- * {@link Object }
- *
- */
- public Object getRequestData() {
- return requestData;
- }
-
- /**
- * Sets the value of the requestData property.
- *
- * @param value
- * allowed object is
- * {@link Object }
- *
- */
- public void setRequestData(Object value) {
- this.requestData = value;
- }
-
- @Override
- public String toString() {
-
- String rd = "";
- if (requestData != null)
- {
- Node node = (Node) requestData;
- Document doc = node.getOwnerDocument();
- rd = Utils.domToStr(doc);
- }
- return "SDNCAdapterRequest [requestHeader=" + requestHeader.toString()
- + ", requestData=" + rd + "]";
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterResponse.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterResponse.java
deleted file mode 100644
index 1b2f3b824d..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterResponse.java
+++ /dev/null
@@ -1,53 +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.sdnc;
-
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-//SDNCAdapter to BPEL Sync Response(ACK) - async response(s) follow
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "")
-@XmlRootElement(name = "SDNCAdapterResponse")
-public class SDNCAdapterResponse {
-
-
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterService.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterService.java
deleted file mode 100644
index 93d99846ef..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/SDNCAdapterService.java
+++ /dev/null
@@ -1,127 +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.sdnc;
-
-
-import java.net.URL;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-import javax.xml.ws.WebEndpoint;
-import javax.xml.ws.WebServiceClient;
-import javax.xml.ws.WebServiceFeature;
-
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.logger.MessageEnum;
-
-/**
- * This class was generated by Apache CXF 2.7.11.redhat-3
- * 2015-01-27T18:25:50.994-05:00
- * Generated source version: 2.7.11.redhat-3
- *
- */
-//BPEL SDNCAdapter SOAP WebService
-@WebServiceClient(name = "SDNCAdapterService",
- wsdlLocation = "main/resources/SDNCAdapter.wsdl",
- targetNamespace = "http://org.openecomp/workflow/sdnc/adapter/wsdl/v1")
-public class SDNCAdapterService extends Service {
-
- private static MsoLogger logger = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
-
- public static final URL WSDL_LOCATION;
-
- public static final QName SERVICE = new QName("http://org.openecomp/workflow/sdnc/adapter/wsdl/v1", "SDNCAdapterService");
- public static final QName SDNCAdapterSoapHttpPort = new QName("http://org.openecomp/workflow/sdnc/adapter/wsdl/v1", "SDNCAdapterSoapHttpPort");
- static {
- URL wsdlUrl = null;
- try {
- wsdlUrl = Thread.currentThread().getContextClassLoader().getResource("main/resources/SDNCAdapter.wsdl");
-
- } catch (Exception e) {
- logger.error(MessageEnum.RA_WSDL_NOT_FOUND, "SDNCAdapter.wsdl", "", "", MsoLogger.ErrorCode.DataError, "Exception - WSDL not found", e);
- }
- if(wsdlUrl == null) {
- logger.error(MessageEnum.RA_WSDL_NOT_FOUND, "SDNCAdapter.wsdl", "", "", MsoLogger.ErrorCode.DataError, "WSDL not found");
- } else {
- try {
- logger.info(MessageEnum.RA_PRINT_URL, "SDNCAdpater.wsdl", wsdlUrl.toURI().toString(), "", "");
- } catch (Exception e) {
- logger.error(MessageEnum.RA_WSDL_URL_CONVENTION_EXC, "SDNCAdapter.wsdl", "", "", MsoLogger.ErrorCode.DataError, "Exception - print URL", e);
- }
- }
- WSDL_LOCATION = wsdlUrl;
- }
-
- public SDNCAdapterService(URL wsdlLocation) {
- super(wsdlLocation, SERVICE);
- }
-
- public SDNCAdapterService(URL wsdlLocation, QName serviceName) {
- super(wsdlLocation, serviceName);
- }
-
- public SDNCAdapterService() {
- super(WSDL_LOCATION, SERVICE);
- }
-
- //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
- //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
- //compliant code instead.
- public SDNCAdapterService(WebServiceFeature ... features) {
- super(WSDL_LOCATION, SERVICE, features);
- }
-
- //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
- //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
- //compliant code instead.
- public SDNCAdapterService(URL wsdlLocation, WebServiceFeature ... features) {
- super(wsdlLocation, SERVICE, features);
- }
-
- //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
- //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
- //compliant code instead.
- public SDNCAdapterService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
- super(wsdlLocation, serviceName, features);
- }
-
- /**
- *
- * @return
- * returns SDNCAdapterPortType
- */
- @WebEndpoint(name = "SDNCAdapterSoapHttpPort")
- public SDNCAdapterPortType getSDNCAdapterSoapHttpPort() {
- return super.getPort(SDNCAdapterSoapHttpPort, SDNCAdapterPortType.class);
- }
-
- /**
- *
- * @param features
- * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
- * @return
- * returns SDNCAdapterPortType
- */
- @WebEndpoint(name = "SDNCAdapterSoapHttpPort")
- public SDNCAdapterPortType getSDNCAdapterSoapHttpPort(WebServiceFeature... features) {
- return super.getPort(SDNCAdapterSoapHttpPort, SDNCAdapterPortType.class, features);
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/CallbackHeader.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/CallbackHeader.java
deleted file mode 100644
index 2ce452e51c..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/CallbackHeader.java
+++ /dev/null
@@ -1,155 +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.sdnc.client;
-
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-/**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="RequestId" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="ResponseCode" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="ResponseMessage" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-//SDNCAdapter to BPEL Async response header
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
- "requestId",
- "responseCode",
- "responseMessage"
-})
-@XmlRootElement(name = "CallbackHeader")
-public class CallbackHeader {
-
- @XmlElement(name = "RequestId", required = true)
- protected String requestId;
- @XmlElement(name = "ResponseCode", required = true)
- protected String responseCode;
- @XmlElement(name = "ResponseMessage", required = true)
- protected String responseMessage;
-
- public CallbackHeader() {
- /* Empty constructor */
- }
-
- public CallbackHeader(String reqId, String respCode, String respMsg) {
- this.requestId = reqId;
- this.responseCode = respCode;
- this.responseMessage = respMsg;
- }
-
- /**
- * Gets the value of the requestId property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getRequestId() {
- return requestId;
- }
-
- /**
- * Sets the value of the requestId property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setRequestId(String value) {
- this.requestId = value;
- }
-
- /**
- * Gets the value of the responseCode property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getResponseCode() {
- return responseCode;
- }
-
- /**
- * Sets the value of the responseCode property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setResponseCode(String value) {
- this.responseCode = value;
- }
-
- /**
- * Gets the value of the responseMessage property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getResponseMessage() {
- return responseMessage;
- }
-
- /**
- * Sets the value of the responseMessage property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setResponseMessage(String value) {
- this.responseMessage = value;
- }
-
- @Override
- public String toString() {
- return "CallbackHeader [requestId=" + requestId + ", responseCode="
- + responseCode + ", responseMessage=" + responseMessage + "]";
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/ObjectFactory.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/ObjectFactory.java
deleted file mode 100644
index 3d4039c702..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/ObjectFactory.java
+++ /dev/null
@@ -1,68 +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.sdnc.client;
-
-
-import javax.xml.bind.annotation.XmlRegistry;
-
-
-/**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the org.openecomp.mso.adapters.sdnc.client package.
- * <p>An ObjectFactory allows you to programatically
- * construct new instances of the Java representation
- * for XML content. The Java representation of XML
- * content can consist of schema derived interfaces
- * and classes representing the binding of schema
- * type definitions, element declarations and model
- * groups. Factory methods for each of these are
- * provided in this class.
- *
- */
-@XmlRegistry
-public class ObjectFactory {
-
-
- /**
- * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.openecomp.mso.adapters.sdnc.client
- *
- */
- public ObjectFactory() {
- }
-
-
- /**
- * Create an instance of {@link SDNCAdapterCallbackRequest }
- *
- */
- public SDNCAdapterCallbackRequest createSDNCAdapterCallbackRequest() {
- return new SDNCAdapterCallbackRequest();
- }
-
- /**
- * Create an instance of {@link CallbackHeader }
- *
- */
- public CallbackHeader createCallbackHeader() {
- return new CallbackHeader();
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCAdapterCallbackRequest.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCAdapterCallbackRequest.java
deleted file mode 100644
index 06c2c83f4d..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCAdapterCallbackRequest.java
+++ /dev/null
@@ -1,136 +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.sdnc.client;
-
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
-import java.io.StringWriter;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.logger.MessageEnum;
-/**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element ref="{http://org.openecomp/workflow/sdnc/adapter/schema/v1}CallbackHeader"/>
- * &lt;element name="RequestData" type="{http://www.w3.org/2001/XMLSchema}anyType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-//SDNCAdapter to BPEL Async response
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
- "callbackHeader",
- "requestData"
-})
-@XmlRootElement(name = "SDNCAdapterCallbackRequest")
-public class SDNCAdapterCallbackRequest {
-
- @XmlElement(name = "CallbackHeader", required = true)
- protected CallbackHeader callbackHeader;
- @XmlElement(name = "RequestData")
- protected Object requestData;
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
-
- /**
- * Gets the value of the callbackHeader property.
- *
- * @return
- * possible object is
- * {@link CallbackHeader }
- *
- */
- public CallbackHeader getCallbackHeader() {
- return callbackHeader;
- }
-
- /**
- * Sets the value of the callbackHeader property.
- *
- * @param value
- * allowed object is
- * {@link CallbackHeader }
- *
- */
- public void setCallbackHeader(CallbackHeader value) {
- this.callbackHeader = value;
- }
-
- /**
- * Gets the value of the requestData property.
- *
- * @return
- * possible object is
- * {@link Object }
- *
- */
- public Object getRequestData() {
- return requestData;
- }
-
- /**
- * Sets the value of the requestData property.
- *
- * @param value
- * allowed object is
- * {@link Object }
- *
- */
- public void setRequestData(Object value) {
- this.requestData = value;
- }
-
- @Override
- public String toString() {
- try {
- JAXBContext ctx = JAXBContext.newInstance("org.openecomp.mso.adapters.sdnc.client");
- Marshaller m = ctx.createMarshaller();
- m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
- m.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
- StringWriter w = new StringWriter();
- m.marshal(this, w);
- return w.toString();
- }
- catch (Exception e)
- {
- msoLogger.error(MessageEnum.RA_MARSHING_ERROR, "", "", MsoLogger.ErrorCode.DataError, "Exception - MARSHING_ERROR", e);
- }
- return "";
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCCallbackAdapterPortType.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCCallbackAdapterPortType.java
deleted file mode 100644
index 1b717b483a..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCCallbackAdapterPortType.java
+++ /dev/null
@@ -1,52 +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.sdnc.client;
-
-
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebResult;
-import javax.jws.WebService;
-import javax.jws.soap.SOAPBinding;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import org.openecomp.mso.adapters.sdnc.SDNCAdapterResponse;
-
-
-/**
- * This class was generated by Apache CXF 2.7.11.redhat-3
- * 2015-01-28T11:07:01.997-05:00
- * Generated source version: 2.7.11.redhat-3
- *
- */
-//SDNCAdapter to BPEL Async response WEB Service
-@WebService(targetNamespace = "http://org.openecomp/workflow/sdnc/adapter/callback/wsdl/v1", name = "SDNCCallbackAdapterPortType")
-@XmlSeeAlso({ObjectFactory.class})
-@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
-@FunctionalInterface
-public interface SDNCCallbackAdapterPortType {
-
- @WebResult(name = "SDNCAdapterResponse", targetNamespace = "http://org.openecomp/workflow/sdnc/adapter/schema/v1", partName = "SDNCAdapterCallbackResponse")
- @WebMethod(operationName = "SDNCAdapterCallback")
- public SDNCAdapterResponse sdncAdapterCallback(
- @WebParam(partName = "SDNCAdapterCallbackRequest", name = "SDNCAdapterCallbackRequest", targetNamespace = "http://org.openecomp/workflow/sdnc/adapter/schema/v1")
- SDNCAdapterCallbackRequest sdncAdapterCallbackRequest
- );
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCCallbackAdapterService.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCCallbackAdapterService.java
deleted file mode 100644
index d63e852258..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/SDNCCallbackAdapterService.java
+++ /dev/null
@@ -1,125 +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.sdnc.client;
-
-
-import java.net.URL;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-import javax.xml.ws.WebEndpoint;
-import javax.xml.ws.WebServiceClient;
-import javax.xml.ws.WebServiceFeature;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoLogger;
-
-/**
- * This class was generated by Apache CXF 2.7.11.redhat-3
- * 2015-01-28T11:07:02.074-05:00
- * Generated source version: 2.7.11.redhat-3
- *
- */
-//SDNCAdapter to BPEL Async response WEB Service
-@WebServiceClient(name = "SDNCCallbackAdapterService",
- wsdlLocation = "main/resources/SDNCCallbackAdapter.wsdl",
- targetNamespace = "http://org.openecomp/workflow/sdnc/adapter/callback/wsdl/v1")
-public class SDNCCallbackAdapterService extends Service {
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
-
- public static final URL WSDL_LOCATION;
- public static final QName SERVICE = new QName("http://org.openecomp/workflow/sdnc/adapter/callback/wsdl/v1", "SDNCCallbackAdapterService");
- public static final QName SDNCCallbackAdapterSoapHttpPort = new QName("http://org.openecomp/workflow/sdnc/adapter/callback/wsdl/v1", "SDNCCallbackAdapterSoapHttpPort");
- static {
- URL wsdlUrl = null;
- try {
- wsdlUrl = Thread.currentThread().getContextClassLoader().getResource("main/resources/SDNCCallbackAdapter.wsdl");
- } catch (Exception e) {
- msoLogger.error(MessageEnum.RA_WSDL_NOT_FOUND, "SDNCCallbackAdapter.wsdl", "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception - WSDL not found", e);
- }
- if(wsdlUrl == null) {
- msoLogger.error(MessageEnum.RA_WSDL_NOT_FOUND, "SDNCCallbackAdapter.wsdl", "SDNC", "", MsoLogger.ErrorCode.DataError, "WSDL not found");
- } else {
- try {
- msoLogger.info(MessageEnum.RA_PRINT_URL, "SDNCCallbackAdapter.wsdl", wsdlUrl.toURI().toString(), "SDNC", "");
- } catch (Exception e) {
- msoLogger.error(MessageEnum.RA_WSDL_URL_CONVENTION_EXC, "SDNCCallbackAdapter.wsdl", "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception - URL convention problem", e);
- }
- }
- WSDL_LOCATION = wsdlUrl;
- }
-
- public SDNCCallbackAdapterService(URL wsdlLocation) {
- super(wsdlLocation, SERVICE);
- }
-
- public SDNCCallbackAdapterService(URL wsdlLocation, QName serviceName) {
- super(wsdlLocation, serviceName);
- }
-
- public SDNCCallbackAdapterService() {
- super(WSDL_LOCATION, SERVICE);
- }
-
- //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
- //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
- //compliant code instead.
- public SDNCCallbackAdapterService(WebServiceFeature ... features) {
- super(WSDL_LOCATION, SERVICE, features);
- }
-
- //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
- //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
- //compliant code instead.
- public SDNCCallbackAdapterService(URL wsdlLocation, WebServiceFeature ... features) {
- super(wsdlLocation, SERVICE, features);
- }
-
- //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
- //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
- //compliant code instead.
- public SDNCCallbackAdapterService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
- super(wsdlLocation, serviceName, features);
- }
-
- /**
- *
- * @return
- * returns SDNCCallbackAdapterPortType
- */
- @WebEndpoint(name = "SDNCCallbackAdapterSoapHttpPort")
- public SDNCCallbackAdapterPortType getSDNCCallbackAdapterSoapHttpPort() {
- return super.getPort(SDNCCallbackAdapterSoapHttpPort, SDNCCallbackAdapterPortType.class);
- }
-
- /**
- *
- * @param features
- * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
- * @return
- * returns SDNCCallbackAdapterPortType
- */
- @WebEndpoint(name = "SDNCCallbackAdapterSoapHttpPort")
- public SDNCCallbackAdapterPortType getSDNCCallbackAdapterSoapHttpPort(WebServiceFeature... features) {
- return super.getPort(SDNCCallbackAdapterSoapHttpPort, SDNCCallbackAdapterPortType.class, features);
- }
-
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/package-info.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/package-info.java
deleted file mode 100644
index 614bdbb18c..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/client/package-info.java
+++ /dev/null
@@ -1,23 +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=========================================================
- */
-
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://org.openecomp/workflow/sdnc/adapter/schema/v1", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
-package org.openecomp.mso.adapters.sdnc.client;
-
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/Constants.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/Constants.java
deleted file mode 100644
index a60f60aab2..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/Constants.java
+++ /dev/null
@@ -1,48 +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.sdnc.impl;
-
-
-public interface Constants {
-
- public static final String BPEL_REST_URL_PROP = "org.openecomp.mso.adapters.sdnc.rest.bpelurl";
- public static final String BPEL_URL_PROP = "org.openecomp.mso.adapters.sdnc.bpelurl";
- public static final String DEFAULT_BPEL_URL = "http://localhost:8080//active-bpel/services/SDNCAdapterCallbackV1";
-
- public static final String MY_URL_PROP = "org.openecomp.mso.adapters.sdnc.myurl";
- public static final String DEFAULT_MY_URL = "https://localhost:8443/adapters/rest/SDNCNotify";
-
- public static final String SDNC_AUTH_PROP = "org.openecomp.mso.adapters.sdnc.sdncauth";
- public static final String DEFAULT_SDNC_AUTH = "406B2AE613211B6FB52466DE6E1769AC";
-
- public static final String DEFAULT_BPEL_AUTH = "05FDA034C27D1CA51AAB8FAE512EDE45241E16FC8C137D292AA3A964431C82DB";
- public static final String BPEL_AUTH_PROP = "org.openecomp.mso.adapters.sdnc.bpelauth";
-
-
- public static final String SDNC_SVCCFGRESP_ROOT = "input";
- public static final String SDNC_REQ_ID = "/svc-request-id";
- public static final String SDNC_RESP_CODE = "/response-code";
- public static final String SDNC_RESP_MSG = "/response-message";
- public static final String SDNC_CONNECTTIME_PROP = "org.openecomp.mso.adapters.sdnc.sdncconnecttime";
- public static final String ENCRYPTION_KEY = "aa3871669d893c7fb8abbcda31b88b4f";
-
- public static final String REQUEST_TUNABLES = "org.openecomp.mso.adapters.sdnc";
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/RequestTunables.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/RequestTunables.java
deleted file mode 100644
index 830ac7c917..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/RequestTunables.java
+++ /dev/null
@@ -1,223 +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.sdnc.impl;
-
-
-import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoPropertiesException;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-
-import org.openecomp.mso.logger.MessageEnum;
-public class RequestTunables {
-
- private MsoPropertiesFactory msoPropertiesFactory;
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
- private static MsoAlarmLogger alarmLogger = new MsoAlarmLogger();
- public static final String MSO_PROP_SDNC_ADAPTER="MSO_PROP_SDNC_ADAPTER";
- public static final String GENERATED_KEY = "Generated key: ";
-
- //criteria
- private String reqId = "";
- private String msoAction = "";
- private String operation = "";
- private String action = "";
-
- //tunables
- private String reqMethod = "POST";
- private String sdncUrl = null;
- private String timeout = "60000";
- private String headerName = "sdnc-request-header";
- private String namespace = "";
- private String asyncInd = "N"; //future use
-
- private String sdncaNotificationUrl = null;
-
- public RequestTunables(String reqId, String msoAction, String operation, String action, MsoPropertiesFactory msoPropFactory) {
- super();
- msoPropertiesFactory = msoPropFactory;
- if (reqId != null) {
- this.reqId = reqId;
- }
- if (msoAction != null) {
- this.msoAction = msoAction;
- }
- if (operation != null) {
- this.operation = operation;
- }
- if (action != null) {
- this.action = action;
- }
- }
-
- public String getReqId() {
- return reqId;
- }
- public void setReqId(String reqId) {
- this.reqId = reqId;
- }
- public String getReqMethod() {
- return reqMethod;
- }
- public void setReqMethod(String reqMethod) {
- this.reqMethod = reqMethod;
- }
- public String getMsoAction() {
- return msoAction;
- }
- public void setMsoAction(String msoAction) {
- this.msoAction = msoAction;
- }
- public String getAction() {
- return action;
- }
- public void setAction(String action) {
- this.action = action;
- }
- public String getOperation() {
- return operation;
- }
- public void setOperation(String operation) {
- this.operation = operation;
- }
- public String getSdncUrl() {
- return sdncUrl;
- }
- public void setSdncUrl(String sdncUrl) {
- this.sdncUrl = sdncUrl;
- }
- public String getTimeout() {
- return timeout;
- }
- public void setTimeout(String timeout) {
- this.timeout = timeout;
- }
- public String getAsyncInd() {
- return asyncInd;
- }
- public void setAsyncInd(String asyncInd) {
- this.asyncInd = asyncInd;
- }
- public String getHeaderName() {
- return headerName;
- }
- public void setHeaderName(String headerName) {
- this.headerName = headerName;
- }
-
-
- public String getSdncaNotificationUrl() {
- return sdncaNotificationUrl;
- }
-
- public void setSdncaNotificationUrl(String sdncaNotificationUrl) {
- this.sdncaNotificationUrl = sdncaNotificationUrl;
- }
-
- public String getNamespace() {
- return namespace;
- }
-
- public void setNamespace(String namespace) {
- this.namespace = namespace;
- }
-
- @Override
- public String toString() {
- return "RequestTunables [reqId=" + reqId + ", msoAction=" + msoAction
- + ", operation=" + operation + ", action=" + action
- + ", reqMethod=" + reqMethod + ", sdncUrl=" + sdncUrl
- + ", timeout=" + timeout + ", headerName=" + headerName
- + ", sdncaNotificationUrl=" + sdncaNotificationUrl
- + ", namespace=" + namespace + "]";
- }
-
- public void setTunables()
- {
- String error = null;
- String key;
- if ("query".equals(action)) { //due to variable format for operation eg services/layer3-service-list/8fe4ba4f-35cf-4d9b-a04a-fd3f5d4c5cc9
- key = Constants.REQUEST_TUNABLES + "." + msoAction + ".." + action;
- msoLogger.debug(GENERATED_KEY + key);
- }
- else if ("put".equals(action) || "restdelete".equals(action)) { //due to variable format for operation eg services/layer3-service-list/8fe4ba4f-35cf-4d9b-a04a-fd3f5d4c5cc9
- key = Constants.REQUEST_TUNABLES + "..." + action;
- msoLogger.debug(GENERATED_KEY + key);
- } else {
- key = Constants.REQUEST_TUNABLES + "." + msoAction + "." + operation +"." + action;
- msoLogger.debug(GENERATED_KEY + key);
- }
-
- String value;
- try {
- value = msoPropertiesFactory.getMsoJavaProperties(MSO_PROP_SDNC_ADAPTER).getProperty(key, "");
- } catch (MsoPropertiesException e) {
- msoLogger.error (MessageEnum.LOAD_PROPERTIES_FAIL, "Unknown. Mso Properties ID not found in cache: " + MSO_PROP_SDNC_ADAPTER, "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception - Mso Properties ID not found in cache", e);
- value="";
- }
-
- if (value != null && value.length() > 0) {
-
- String[] parts = value.split("\\|"); //escape pipe
- if (parts.length < 3) {
- msoLogger.warn(MessageEnum.RA_SDNC_INVALID_CONFIG, key, value, "SDNC", "", MsoLogger.ErrorCode.DataError, "Invalid config");
- }
-
- for (int i = 0; i < parts.length; i++) {
- if (i == 0) {
- reqMethod = parts[i];
- msoLogger.debug("Request Method is set to: " + reqMethod);
- } else if (i == 1) {
- timeout = parts[i];
- msoLogger.debug("Timeout is set to: " + timeout);
- } else if (i == 2) {
- sdncUrl = SDNCAdapterPortTypeImpl.getProperty(Constants.REQUEST_TUNABLES + "." + parts[i], "",msoPropertiesFactory);
- if (operation != null && sdncUrl != null) {
- sdncUrl = sdncUrl + operation;
- }
- msoLogger.debug("SDNC Url is set to: " + sdncUrl);
- } else if (i == 3) {
- headerName = parts[i];
- msoLogger.debug("HeaderName is set to: " + headerName);
- } else if (i == 4) {
- namespace = parts[i];
- msoLogger.debug("NameSpace is set to: " + namespace);
- } else if (i == 5) {
- asyncInd = parts[i];
- msoLogger.debug("AsyncInd is set to: " + asyncInd);
- }
- }
-
- if (sdncUrl == null) {
- error = "Invalid configuration, sdncUrl required for:" + key + " value:" + value;
- }
- } else {
- error = "Missing configuration for:" + key;
- }
- if (error != null) {
- msoLogger.error(MessageEnum.RA_SDNC_MISS_CONFIG_PARAM, key, "SDNC", "", MsoLogger.ErrorCode.DataError, "Missing config param");
- alarmLogger.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- }
- msoLogger.debug ("RequestTunables Key:" + key + " Value:" + value + " Tunables:" + this.toString());
- return;
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCAdapterPortTypeImpl.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCAdapterPortTypeImpl.java
deleted file mode 100644
index c9c75d89fa..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCAdapterPortTypeImpl.java
+++ /dev/null
@@ -1,102 +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.sdnc.impl;
-
-import javax.annotation.PostConstruct;
-import javax.jws.WebService;
-import javax.servlet.http.HttpServletResponse;
-
-import org.openecomp.mso.adapters.sdnc.SDNCAdapterPortType;
-import org.openecomp.mso.adapters.sdnc.SDNCAdapterRequest;
-import org.openecomp.mso.adapters.sdnc.SDNCAdapterResponse;
-import org.openecomp.mso.adapters.sdnc.util.SDNCRequestIdUtil;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoPropertiesException;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-
-//BPEL SDNCAdapter SOAP Web Service implementation
-@WebService(serviceName = "SDNCAdapterService", endpointInterface = "org.openecomp.mso.adapters.sdnc.SDNCAdapterPortType", targetNamespace = "http://org.openecomp/workflow/sdnc/adapter/wsdl/v1")
-public class SDNCAdapterPortTypeImpl implements SDNCAdapterPortType {
-
- private MsoPropertiesFactory msoPropertiesFactory=new MsoPropertiesFactory();
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
- private static MsoAlarmLogger alarmLogger = new MsoAlarmLogger();
- public static final String MSO_PROP_SDNC_ADAPTER="MSO_PROP_SDNC_ADAPTER";
-
- @PostConstruct
- public void init () {
- msoLogger.info(MessageEnum.RA_INIT_SDNC_ADAPTER, "SDNC", "SDNCAdapterPortType");
- }
-
- /**
- * Health Check web method. Does nothing but return to show the adapter is deployed.
- */
- @Override
- public void healthCheck ()
- {
- msoLogger.debug("Health check call in SDNC Adapter");
- }
-
- public static String getProperty(String key, String defaultValue, MsoPropertiesFactory msoPropertiesFactoryp) {
- String value;
- try {
- value = msoPropertiesFactoryp.getMsoJavaProperties(MSO_PROP_SDNC_ADAPTER).getProperty(key, defaultValue);
- } catch (MsoPropertiesException e) {
- msoLogger.error (MessageEnum.NO_PROPERTIES, "Unknown. Mso Properties ID not found in cache: " + MSO_PROP_SDNC_ADAPTER, "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception - Mso Properties ID not found in cache", e);
- return null;
- }
- msoLogger.debug("Config read for " + MSO_PROP_SDNC_ADAPTER + " - key:" + key + " value:" + value);
- return value;
- }
-
- @Override
- public SDNCAdapterResponse sdncAdapter(SDNCAdapterRequest bpelRequest) {
- String bpelReqId = bpelRequest.getRequestHeader().getRequestId();
- String callbackUrl = bpelRequest.getRequestHeader().getCallbackUrl();
- long startTime = System.currentTimeMillis ();
- MsoLogger.setLogContext(SDNCRequestIdUtil.getSDNCOriginalRequestId (bpelReqId), bpelRequest.getRequestHeader().getSvcInstanceId());
- MsoLogger.setServiceName (bpelRequest.getRequestHeader().getSvcAction());
- msoLogger.info(MessageEnum.RA_RECEIVE_BPEL_REQUEST, bpelReqId, callbackUrl, "SDNC", "");
-
- SDNCRestClient sdncClient = new SDNCRestClient(bpelRequest,msoPropertiesFactory);
- try {
- Thread sdncClientThread = new Thread(sdncClient);
- sdncClientThread.start();
- }
- catch (Exception e){
- String respMsg = "Error sending request to SDNC. Failed to start SDNC Client thread " + e.getMessage();
- msoLogger.error(MessageEnum.RA_SEND_REQUEST_SDNC_ERR, "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception sending request to SDNC. Failed to start SDNC Client thread", e);
- alarmLogger.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, respMsg);
- SDNCResponse sdncResp = new SDNCResponse(bpelReqId);
- sdncResp.setRespCode(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- sdncResp.setRespMsg(respMsg);
- SDNCRestClient.sendRespToBpel(callbackUrl, sdncResp, msoPropertiesFactory);
- }
-
- msoLogger.debug("Sending synchronous response to BPEL");
- SDNCAdapterResponse wsResp = new SDNCAdapterResponse();
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successful");
- return wsResp;
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCAdapterRestImpl.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCAdapterRestImpl.java
deleted file mode 100644
index f6a3e36a71..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCAdapterRestImpl.java
+++ /dev/null
@@ -1,191 +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.sdnc.impl;
-
-
-import java.io.StringReader;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.HEAD;
-import javax.ws.rs.POST;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.openecomp.mso.HealthCheckUtils;
-import org.openecomp.mso.utils.UUIDChecker;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-import org.openecomp.mso.logger.MessageEnum;
-@Path("/")
-public class SDNCAdapterRestImpl {
-
- private MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
- public static final String MSO_PROP_ADAPTER = "MSO_PROP_SDNC_ADAPTER";
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
-
- @Context
- private HttpHeaders headers;
- @Context HttpServletRequest request;
-
- @POST
- @Path("/MSORequest")
- @Consumes("application/xml")
- @Produces("application/xml")
- public Response MSORequest(String reqXML) {
- msoLogger.debug("***Received MSO Rest Request. XML:" + reqXML);
-
- Document reqDoc = null;
- SDNCResponse sdncResp = null;
- RequestTunables rt = null;
- String reqId = "";
- long startTime = System.currentTimeMillis();
- MsoLogger.setServiceName("UNKNOWN");
- String action = "";
- String operation = "";
- try {
-
- reqId = headers.getRequestHeader("mso-request-id").get(0);
- action = headers.getRequestHeader("mso-request-action").get(0);
- operation = headers.getRequestHeader("mso-request-operation").get(0);
-
- MsoLogger.setLogContext(reqId, "");
-
- msoLogger.debug ("Received MSO Rest Request XML: " + reqXML);
- rt = new RequestTunables(reqId, "", operation, action, msoPropertiesFactory);
- rt.setTunables();
-
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- dbf.setFeature (XMLConstants.FEATURE_SECURE_PROCESSING, true);
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- InputSource source = new InputSource(new StringReader(reqXML));
-
- reqDoc = db.parse(source);
-
- } catch (Exception e) {
- msoLogger.error(MessageEnum.RA_PARSING_REQUEST_ERROR, reqXML, "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception - Invalid XML request format", e);
- sdncResp = new SDNCResponse(reqId, HttpServletResponse.SC_BAD_REQUEST, "Invalid XML request format");
- }
-
- if (reqDoc != null) {
- msoLogger.debug("***Getting response from sdnc***");
- long subStartTime = System.currentTimeMillis ();
- sdncResp = SDNCRestClient.getSdncResp(Utils.genSdncReq(reqDoc, rt), rt,msoPropertiesFactory);
- msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully received response from SDNC", "SDNC", action + "." + operation, null);
- }
-
- if (sdncResp == null) {
- msoLogger.debug("An Internal Server error has occurred in SDNC Adapter");
- sdncResp = new SDNCResponse(reqId, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "MSO - SDNCA Internal Error");
- }
-
- if (sdncResp.getSdncRespXml() == null) {
- sdncResp.setSdncRespXml(Utils.genMsoFailResp(sdncResp));
- }
-
- msoLogger.debug("***Completed MSO Rest Request." + sdncResp.toString());
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successful");
- return Response.status(sdncResp.getRespCode()).entity(sdncResp.getSdncRespXml()).build();
- }
-
- @HEAD
- @GET
- @Path("/healthcheck")
- @Produces("text/html")
- public Response healthcheck (@QueryParam("requestId") String requestId) {
- long startTime = System.currentTimeMillis ();
- MsoLogger.setServiceName ("Healthcheck");
- UUIDChecker.verifyOldUUID(requestId, msoLogger);
- HealthCheckUtils healthCheck = new HealthCheckUtils ();
- if (!healthCheck.siteStatusCheck(msoLogger)) {
- return HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE;
- }
-
- if (!healthCheck.configFileCheck(msoLogger, startTime, MSO_PROP_ADAPTER)) {
- return HealthCheckUtils.NOT_STARTED_RESPONSE;
- }
- msoLogger.debug("healthcheck - Successful");
- return HealthCheckUtils.HEALTH_CHECK_RESPONSE;
- }
-
- @HEAD
- @GET
- @Path("/globalhealthcheck")
- @Produces("text/html")
- public Response globalHealthcheck (@DefaultValue("true") @QueryParam("enableBpmn") boolean enableBpmn) {
- long startTime = System.currentTimeMillis ();
- MsoLogger.setServiceName ("GlobalHealthcheck");
- // Generate a Request Id
- String requestId = UUIDChecker.generateUUID(msoLogger);
- HealthCheckUtils healthCheck = new HealthCheckUtils ();
- if (!healthCheck.siteStatusCheck (msoLogger)) {
- return HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE;
- }
-
- if (healthCheck.verifyGlobalHealthCheck(enableBpmn, requestId)) {
- msoLogger.debug("globalHealthcheck - Successful");
- return HealthCheckUtils.HEALTH_CHECK_RESPONSE;
- } else {
- msoLogger.debug("globalHealthcheck - At leaset one of the sub-modules is not available.");
- return HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE;
- }
- }
-
- @HEAD
- @GET
- @Path("/nodehealthcheck")
- @Produces("text/html")
- public Response nodeHealthcheck () {
- long startTime = System.currentTimeMillis ();
- MsoLogger.setServiceName ("NodeHealthcheck");
- // Generate a Request Id
- String requestId = UUIDChecker.generateUUID(msoLogger);
- HealthCheckUtils healthCheck = new HealthCheckUtils ();
- if (!healthCheck.siteStatusCheck (msoLogger)) {
- return HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE;
- }
-
- if (healthCheck.verifyNodeHealthCheck(HealthCheckUtils.NodeType.RA, requestId)) {
- msoLogger.debug("nodeHealthcheck - Successful");
- return HealthCheckUtils.HEALTH_CHECK_RESPONSE;
- } else {
- msoLogger.debug("nodeHealthcheck - At leaset one of the sub-modules is not available.");
- return HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE;
- }
- }
-
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCResponse.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCResponse.java
deleted file mode 100644
index 9bd850a3b4..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCResponse.java
+++ /dev/null
@@ -1,73 +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.sdnc.impl;
-
-
-import java.io.Serializable;
-
-public class SDNCResponse implements Serializable {
-
- private static final long serialVersionUID = 1L;
- private String reqId = null;
- private int respCode = 0;
- private String respMsg = null;
- private String sdncRespXml = null;
-
- public SDNCResponse(String reqId) {
- this.reqId = reqId;
- }
- public SDNCResponse(String reqId, int respCode, String respMsg) {
- this.reqId = reqId;
- this.respCode = respCode;
- this.respMsg = respMsg;
- }
-
- public String getReqId() {
- return reqId;
- }
- public void setReqId(String reqId) {
- this.reqId = reqId;
- }
- public int getRespCode() {
- return respCode;
- }
- public void setRespCode(int respCode) {
- this.respCode = respCode;
- }
- public String getRespMsg() {
- return respMsg;
- }
- public void setRespMsg(String respMsg) {
- this.respMsg = respMsg;
- }
- public String getSdncRespXml() {
- return sdncRespXml;
- }
- public void setSdncRespXml(String sdncRespXml) {
- this.sdncRespXml = sdncRespXml;
- }
-
- @Override
- public String toString() {
- return "SDNCResponse [reqId=" + reqId + ", respCode=" + respCode
- + ", respMsg=" + respMsg + ", sdncRespXml=" + sdncRespXml + "]";
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCRestClient.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCRestClient.java
deleted file mode 100644
index 55a2156c50..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCRestClient.java
+++ /dev/null
@@ -1,347 +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.sdnc.impl;
-
-
-import java.io.BufferedReader;
-import java.io.DataOutputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.XMLConstants;
-import javax.xml.bind.DatatypeConverter;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.openecomp.mso.adapters.sdnc.SDNCAdapterRequest;
-import org.openecomp.mso.adapters.sdnc.client.CallbackHeader;
-import org.openecomp.mso.adapters.sdnc.client.SDNCAdapterCallbackRequest;
-import org.openecomp.mso.adapters.sdnc.client.SDNCCallbackAdapterPortType;
-import org.openecomp.mso.adapters.sdnc.client.SDNCCallbackAdapterService;
-import org.openecomp.mso.adapters.sdnc.util.SDNCRequestIdUtil;
-import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-
-//SDNCAdapter to SDNC Rest Client
-public class SDNCRestClient implements Runnable {
-
- private MsoPropertiesFactory msoPropertiesFactory;
-
- private SDNCAdapterRequest bpelRequest;
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
- private static MsoAlarmLogger alarmLogger = new MsoAlarmLogger();
- public static final String MSO_PROP_SDNC_ADAPTER="MSO_PROP_SDNC_ADAPTER";
-
-
- public SDNCRestClient(SDNCAdapterRequest bpelRequest,MsoPropertiesFactory msoPropFactory) {
- this.bpelRequest = bpelRequest;
- msoPropertiesFactory = msoPropFactory;
- }
-
- @Override
- public void run()
- {
-
- String action = bpelRequest.getRequestHeader().getSvcAction();
- String operation = bpelRequest.getRequestHeader().getSvcOperation();
- String bpelReqId = bpelRequest.getRequestHeader().getRequestId();
- String callbackUrl = bpelRequest.getRequestHeader().getCallbackUrl();
- MsoLogger.setLogContext(SDNCRequestIdUtil.getSDNCOriginalRequestId (bpelReqId), bpelRequest.getRequestHeader().getSvcInstanceId());
- MsoLogger.setServiceName("SDNCRestClient");
-
- String sdncReqBody = null;
-
- msoLogger.debug("BPEL Request:" + bpelRequest.toString());
-
- RequestTunables rt = new RequestTunables(bpelReqId,
- bpelRequest.getRequestHeader().getMsoAction(),
- bpelRequest.getRequestHeader().getSvcOperation(),
- bpelRequest.getRequestHeader().getSvcAction(),msoPropertiesFactory);
- rt.setTunables();
- rt.setSdncaNotificationUrl(SDNCAdapterPortTypeImpl.getProperty(Constants.MY_URL_PROP, Constants.DEFAULT_MY_URL,msoPropertiesFactory));
-
-
- if ("POST".equals(rt.getReqMethod()))
- {
- /* TODO Hibernate
- try {
- RequestsDatabase.updateBpelUrl(bpelReqId, callbackUrl);
- }
- catch (Exception e1)
- {
- logger.error("Failed to update DB ActiveRequests with SDNC_CALLBACK_BPEL_URL. Default CallbackUrl will be used for SDNC async notifications", e1);
- }
- */
-
- Node node = (Node) bpelRequest.getRequestData();
- Document reqDoc = node.getOwnerDocument();
- sdncReqBody = Utils.genSdncReq(reqDoc, rt);
-
- }
- //should be more generic if we do RPC then we add the input tags etc, if it is pure REST this is not needed
- else if("PUT".equals(rt.getReqMethod())){
- Node node = (Node) bpelRequest.getRequestData();
- Document reqDoc = node.getOwnerDocument();
- sdncReqBody = Utils.genSdncPutReq(reqDoc, rt);
- }
- long sdncStartTime = System.currentTimeMillis();
- SDNCResponse sdncResp = getSdncResp(sdncReqBody, rt, msoPropertiesFactory);
- msoLogger.recordMetricEvent (sdncStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully received response from SDNC", "SDNC", action + "." + operation, null);
-
- msoLogger.debug ("Got the SDNC Response: " + sdncResp.getSdncRespXml());
- msoLogger.debug("Sending reponse to bpel from SDNC rest client");
- long bpelStartTime = System.currentTimeMillis();
- sendRespToBpel(callbackUrl, sdncResp,msoPropertiesFactory);
- msoLogger.recordMetricEvent (bpelStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully send reauest to BPEL", "BPMN", callbackUrl, null);
- return;
- }
-
- public static SDNCResponse getSdncResp(String sdncReqBody, RequestTunables rt, MsoPropertiesFactory msoPropertiesFactoryp)
- {
-
- URL url;
- HttpURLConnection con = null;
- DataOutputStream out = null;
- BufferedReader in = null;
- SDNCResponse sdncResp = new SDNCResponse(rt.getReqId());
- StringBuilder response = new StringBuilder();
-
- msoLogger.info(MessageEnum.RA_SEND_REQUEST_SDNC, rt.toString(), "SDNC", "");
- msoLogger.debug("SDNC Request Body:\n" + sdncReqBody);
-
- try {
-
- url = new URL(rt.getSdncUrl());
-
- con = (HttpURLConnection) url.openConnection();
- con.setConnectTimeout(Integer.parseInt(SDNCAdapterPortTypeImpl.getProperty(Constants.SDNC_CONNECTTIME_PROP, "2000",msoPropertiesFactoryp)));
- con.setReadTimeout(Integer.parseInt(rt.getTimeout()));
- con.setRequestProperty("Accept", "application/yang.data+xml"); //for response in xml
- String userCredentials = msoPropertiesFactoryp.getMsoJavaProperties(MSO_PROP_SDNC_ADAPTER).getEncryptedProperty(Constants.SDNC_AUTH_PROP, Constants.DEFAULT_SDNC_AUTH, Constants.ENCRYPTION_KEY);
-
- String basicAuth = "Basic " + DatatypeConverter.printBase64Binary(userCredentials.getBytes());
- con.setRequestProperty ("Authorization", basicAuth);
- con.setRequestMethod(rt.getReqMethod());
-
- // Add request headers
- if ("POST".equals(rt.getReqMethod()) || "PUT".equals(rt.getReqMethod()))
- {
- con.setRequestProperty("Content-type", "application/xml");
- con.setRequestProperty("Content-length",String.valueOf(sdncReqBody.length()));
- con.setDoOutput(true);
- out = new DataOutputStream(con.getOutputStream());
- out.writeBytes(sdncReqBody);
- out.flush();
- out.close();
- }
-
- //Get response
- sdncResp.setRespCode(con.getResponseCode());
- sdncResp.setRespMsg(con.getResponseMessage());
-
- if (con.getResponseCode()>= 200 && con.getResponseCode()<=299) {
- in = new BufferedReader(new InputStreamReader(con.getInputStream()));
- String inputLine;
- //Not parsing the response -it contains a responseHdr section and data section
- while ((inputLine = in.readLine()) != null) {
- response.append(inputLine);
- }
- in.close();
- }
-
- sdncResp.setSdncRespXml(response.toString());
- msoLogger.info(MessageEnum.RA_RESPONSE_FROM_SDNC, sdncResp.toString(), "SDNC", "");
- return(sdncResp);
- }
- catch (Exception e)
- {
- msoLogger.error(MessageEnum.RA_EXCEPTION_COMMUNICATE_SDNC, "SDNC", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception processing request to SDNC", e);
- //default
- sdncResp.setRespCode(HttpURLConnection.HTTP_INTERNAL_ERROR);
- String respMsg = "Error processing request to SDNC. ";
- StringBuilder sdncErrMsg = new StringBuilder();
-
- if (e instanceof java.net.SocketTimeoutException )
- {
- sdncResp.setRespCode(HttpURLConnection.HTTP_CLIENT_TIMEOUT);
- respMsg = "Request to SDNC timed out. ";
- }
- if (con != null)
- {
- try { //e1
- if (con.getResponseCode() != HttpURLConnection.HTTP_OK) //seen in SocketException connection reset
- sdncResp.setRespCode(con.getResponseCode());
- respMsg = respMsg + con.getResponseMessage() + ". ";
- InputStream is = con.getErrorStream();
- if (is != null)
- {
- XPathFactory xpathFactory = XPathFactory.newInstance();
- XPath xpath = xpathFactory.newXPath();
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- dbf.setFeature (XMLConstants.FEATURE_SECURE_PROCESSING, true);
- DocumentBuilder db;
- Document doc = null;
- try { //e2
- db = dbf.newDocumentBuilder();
- doc = db.parse(is);
- NodeList errors = (NodeList)xpath.evaluate("errors/error", doc, XPathConstants.NODESET);
- for (int i = 0; i < errors.getLength(); i++)
- {
- Element error = (Element) errors.item(i);
- String eType = null;
- try {
- eType = xpath.evaluate("error-type", error);
- sdncErrMsg = new StringBuilder(". SDNC Returned-[error-type:" + eType);
- } catch (Exception e3) {
- msoLogger.error (MessageEnum.RA_EVALUATE_XPATH_ERROR, "error-type", error.toString(), "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception while evaluate xpath", e3);
- }
-
- String eTag = null;
- try {
- eTag = xpath.evaluate( "error-tag", error);
- sdncErrMsg.append(", error-tag:").append(eTag);
- } catch (Exception e3) {
- msoLogger.error (MessageEnum.RA_EVALUATE_XPATH_ERROR, "error-tag", error.toString(), "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception while evaluate xpath", e3);
- }
-
- String eMsg = null;
- try {
- eMsg = xpath.evaluate("error-message", error);
- sdncErrMsg.append(", error-message:").append(eMsg).append("]");
- } catch (Exception e3) {
- msoLogger.error (MessageEnum.RA_EVALUATE_XPATH_ERROR, "error-message", error.toString(), "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception while evaluate xpath", e3);
- }
- }
- } catch (Exception e2) {
- msoLogger.error (MessageEnum.RA_ANALYZE_ERROR_EXC, "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception while analyse error", e2);
- }
- } //is != null
- } catch (Exception e1) {
- msoLogger.error (MessageEnum.RA_ERROR_GET_RESPONSE_SDNC, "SDNC", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception while get SDNC response", e1);
- }
- } //con != null
-
- if (e.getMessage() != null) {
- respMsg = respMsg + e.getMessage();
- }
- respMsg = respMsg + sdncErrMsg;
-
- sdncResp.setRespMsg(respMsg);
-
- msoLogger.error(MessageEnum.RA_EXCEPTION_COMMUNICATE_SDNC, "SDNC", "", MsoLogger.ErrorCode.AvailabilityError, "Exception while communicate with SDNC", e);
- alarmLogger.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, respMsg);
- return sdncResp;
- }
- finally
- {
- if (con != null) {
- con.disconnect();
- }
- }
- }
-
- public static void sendRespToBpel(String bpelUrl, SDNCResponse sdncResp,MsoPropertiesFactory msoPropertiesFactoryp)
- {
- String error;
- try
- {
- SDNCAdapterCallbackRequest cbReq = new SDNCAdapterCallbackRequest();
- cbReq.setCallbackHeader(new CallbackHeader(sdncResp.getReqId(), Integer.toString(sdncResp.getRespCode()), sdncResp.getRespMsg()));
- if (sdncResp.getSdncRespXml() != null)
- {
- cbReq.setRequestData(sdncResp.getSdncRespXml());
- }
- msoLogger.info(MessageEnum.RA_CALLBACK_BPEL, cbReq.toString(), "Camunda", "");
-
- URL wsdlUrl = null;
- try {
- wsdlUrl = new URL (bpelUrl);
- } catch (MalformedURLException e1) {
- error = "Caught exception initializing Callback wsdl " + e1.getMessage();
- msoLogger.error(MessageEnum.RA_INIT_CALLBACK_WSDL_ERR, "Camunda", "", MsoLogger.ErrorCode.DataError, "Exception initializing Callback wsdl", e1);
- alarmLogger.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- }
-
- SDNCCallbackAdapterService cbSvc = new SDNCCallbackAdapterService();
-
- SDNCCallbackAdapterPortType cbPort = cbSvc.getSDNCCallbackAdapterSoapHttpPort();
-
- BindingProvider bp = (BindingProvider)cbPort;
-
- if(null != wsdlUrl) {
- bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, wsdlUrl.toExternalForm());
- }
- else {
- msoLogger.debug("wsdlUrl is NULL:");
- }
-
- //authentication
- try
- {
- Map<String, Object> reqCtx = bp.getRequestContext();
- Map<String, List<String>> headers = new HashMap<>();
- String userCredentials = msoPropertiesFactoryp.getMsoJavaProperties(MSO_PROP_SDNC_ADAPTER).getEncryptedProperty(Constants.BPEL_AUTH_PROP, Constants.DEFAULT_BPEL_AUTH, Constants.ENCRYPTION_KEY);
-
- String basicAuth = "Basic " + DatatypeConverter.printBase64Binary(userCredentials.getBytes());
- reqCtx.put(MessageContext.HTTP_REQUEST_HEADERS, headers);
- headers.put ("Authorization", Collections.singletonList(basicAuth));
- }
- catch (Exception e2) {
- error = "Unable to set authorization in callback request " + e2.getMessage();
- msoLogger.error(MessageEnum.RA_SET_CALLBACK_AUTH_EXC, "Camunda", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception - Unable to set authorization in callback request", e2);
- alarmLogger.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- }
-
- msoLogger.debug("Invoking Bpel Callback. BpelCallbackUrl:" + bpelUrl);
- cbPort.sdncAdapterCallback(cbReq);
-
- }
- catch (Exception e)
- {
- error = "Error sending BpelCallback request" + e.getMessage();
- msoLogger.error(MessageEnum.RA_CALLBACK_BPEL_EXC, "Camunda", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception sending BpelCallback request", e);
- alarmLogger.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- }
- msoLogger.info(MessageEnum.RA_CALLBACK_BPEL_COMPLETE, "Camunda", "");
- return;
- }
-
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/Utils.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/Utils.java
deleted file mode 100644
index 6ab9ade143..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/Utils.java
+++ /dev/null
@@ -1,198 +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.sdnc.impl;
-
-
-import java.io.StringWriter;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.logger.MessageEnum;
-public class Utils {
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
-
- private Utils() {
- }
-
- public static String genSdncReq(Document reqDoc, RequestTunables rt) {
- try {
-
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- //NewDoc for output
- //Root
- Document newdoc = db.newDocument();
- Element root = newdoc.createElementNS(rt.getNamespace(), "input");
- newdoc.appendChild(root);
-
- //Header
- Element hdr = newdoc.createElement(rt.getHeaderName());
- root.appendChild(hdr);
-
- String elemData = rt.getReqId();
- Element hdrChild;
- if (elemData != null && elemData.length() > 0)
- {
- hdrChild = newdoc.createElement("svc-request-id");
- hdrChild.appendChild(newdoc.createTextNode(elemData));
- hdr.appendChild(hdrChild);
- }
-
- elemData = rt.getAction();
- if (elemData != null && elemData.length() > 0)
- {
- hdrChild = newdoc.createElement("svc-action");
- hdrChild.appendChild(newdoc.createTextNode(elemData));
- hdr.appendChild(hdrChild);
- }
-
- elemData = rt.getSdncaNotificationUrl();
- if (elemData != null && elemData.length() > 0)
- {
- hdrChild = newdoc.createElement("svc-notification-url");
- hdrChild.appendChild(newdoc.createTextNode(elemData));
- hdr.appendChild(hdrChild);
- }
-
- //RequestData
- NodeList nodes = reqDoc.getDocumentElement().getChildNodes();
- for (int i = 0; i < nodes.getLength(); i++) {
- Node n = nodes.item(i);
- Node newNode = newdoc.importNode(n, true);
- root.appendChild(newNode);
- }
-
- String s = domToStr(newdoc);
- msoLogger.debug("Formatted SdncReq:\n" + s);
- return s;
-
- } catch (Exception e) {
- msoLogger.error(MessageEnum.RA_ERROR_CREATE_SDNC_REQUEST, "SDNC", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in genSdncReq", e);
- }
- return null;
- }
-
- public static String genSdncPutReq(Document reqDoc, RequestTunables rt) {
- try {
-
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- //NewDoc for output
- //Root
- Document newdoc = db.newDocument();
-
- //RequestData
- NodeList nodes = reqDoc.getDocumentElement().getChildNodes();
-
-
- Element root = newdoc.createElement(nodes.item(0).getNodeName());
- newdoc.appendChild(root);
-
- NodeList childNodes = nodes.item(0).getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++) {
- Node n = childNodes.item(i);
- Node newNode = newdoc.importNode(n, true);
- root.appendChild(newNode);
- }
-
- String s = domToStr(newdoc);
- msoLogger.debug("Formatted SdncPutReq:\n" + s);
- return s;
-
- } catch (Exception e) {
- msoLogger.error(MessageEnum.RA_ERROR_CREATE_SDNC_REQUEST, "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception in genSdncPutReq", e);
- }
- return null;
- }
-
- public static String genMsoFailResp(SDNCResponse resp) {
- try {
-
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
-
- //NewDoc for output
- //Root
- Document newdoc = db.newDocument();
- Element root = newdoc.createElement("output");
- newdoc.appendChild(root);
-
- Element elem1 = newdoc.createElement("svc-request-id");
- elem1.appendChild(newdoc.createTextNode(resp.getReqId()));
- root.appendChild(elem1);
-
- Element elem2 = newdoc.createElement("response-code");
- elem2.appendChild(newdoc.createTextNode(String.valueOf(resp.getRespCode())));
- root.appendChild(elem2);
-
- Element elem3 = newdoc.createElement("response-message");
- elem3.appendChild(newdoc.createTextNode(String.valueOf(resp.getRespMsg())));
- root.appendChild(elem3);
-
- String s = domToStr(newdoc);
- msoLogger.debug("Formatted SdncReq:" + s);
- return s;
-
- } catch (Exception e) {
- msoLogger.error(MessageEnum.RA_ERROR_CREATE_SDNC_RESPONSE, "SDNC", "", MsoLogger.ErrorCode.DataError, "Exception in genMsoFailResp", e);
- }
- return null;
- }
-
-
- public static String domToStr(Document doc)
- {
- if (doc != null)
- {
- try {
- DOMSource ds = new DOMSource(doc);
- StringWriter sw = new StringWriter();
- StreamResult sr = new StreamResult(sw);
- TransformerFactory tf = TransformerFactory.newInstance();
- Transformer t = tf.newTransformer();
- //t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");//<?xml version="1.0" encoding="UTF-8"?>
- t.transform(ds, sr);
- String s = sw.toString();
-
- // This is an awful fix for now but we don't want that xmlns="" to be generated
- s = s.replaceAll("xmlns=\"\"", "");
- return s;
- } catch (Exception e) {
- msoLogger.error(MessageEnum.RA_ERROR_CONVERT_XML2STR, "", "", MsoLogger.ErrorCode.DataError, "Exception - domToStr", e);
- }
- }
- return null;
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/notify/SDNCNotifyResource.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/notify/SDNCNotifyResource.java
deleted file mode 100644
index 871b132d15..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/notify/SDNCNotifyResource.java
+++ /dev/null
@@ -1,192 +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.sdnc.notify;
-
-
-import java.io.StringReader;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathFactory;
-
-import org.openecomp.mso.utils.UUIDChecker;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-
-import org.openecomp.mso.adapters.sdnc.impl.Constants;
-import org.openecomp.mso.adapters.sdnc.impl.SDNCAdapterPortTypeImpl;
-import org.openecomp.mso.adapters.sdnc.impl.SDNCResponse;
-import org.openecomp.mso.adapters.sdnc.impl.SDNCRestClient;
-import org.openecomp.mso.adapters.sdnc.util.SDNCRequestIdUtil;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-import org.openecomp.mso.logger.MessageEnum;
-
-//SDNC to SDNC Async Notifcations
-@Path("/")
-public class SDNCNotifyResource {
-
- private MsoPropertiesFactory msoPropertiesFactory=new MsoPropertiesFactory();
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA);
-
- @GET()
- public Response printMessage () {
- long startTime = System.currentTimeMillis ();
- UUIDChecker.generateUUID (msoLogger);
- String result = "SDNCAdapter Rest services";
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successful");
- return Response.status (HttpServletResponse.SC_OK).entity (result).build ();
-
- }
-
- @GET()
- @Path("/{param}")
- public Response printMessageParam (@PathParam("param") String msg) {
- long startTime = System.currentTimeMillis ();
- UUIDChecker.generateUUID (msoLogger);
- String result = "SDNCAdapter Rest services : " + msg;
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successful");
- return Response.status (HttpServletResponse.SC_OK).entity (result).build ();
-
- }
-
- @POST
- @Path("/SDNCNotify")
- @Consumes("application/xml")
- @Produces("application/xml")
- public Response SDNCNotify (String reqXML, @Context HttpServletRequest request) {
-
- XPathFactory xpathFactory = XPathFactory.newInstance ();
- XPath xpath = xpathFactory.newXPath ();
- long startTime = System.currentTimeMillis ();
-
- msoLogger.info (MessageEnum.RA_RECEIVE_SDNC_NOTIF, reqXML, "SDNC", "SDNCNotify");
-
- InputSource source = new InputSource (new StringReader (reqXML));
-
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance ();
-
- DocumentBuilder db;
-
- try {
- dbf.setFeature (XMLConstants.FEATURE_SECURE_PROCESSING, true);
- db = dbf.newDocumentBuilder ();
- } catch (ParserConfigurationException e) {
- msoLogger.error (MessageEnum.RA_PARSING_REQUEST_ERROR, "SDNC", "SDNCNotify", MsoLogger.ErrorCode.SchemaError, "Exception - Invalid XML request format", e);
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.SchemaError, "Invalid XML request format");
- return Response.status (HttpServletResponse.SC_BAD_REQUEST).entity ("Invalid XML request format").build ();
- }
-
- Document doc = null;
- try {
- doc = db.parse (source);
- } catch (Exception e) {
- msoLogger.error (MessageEnum.RA_PARSING_REQUEST_ERROR, "SDNC", "SDNCNotify", MsoLogger.ErrorCode.SchemaError, "Exception - Invalid XML request format", e);
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.SchemaError, "Invalid XML request format");
- return Response.status (HttpServletResponse.SC_BAD_REQUEST).entity ("Invalid XML request format").build ();
- }
-
- try {
- NodeList nl = (NodeList) xpath.evaluate (Constants.SDNC_SVCCFGRESP_ROOT, doc, XPathConstants.NODESET);
- if (nl.getLength () <= 0) {
- msoLogger.error (MessageEnum.RA_MISSING_PARAM, Constants.SDNC_SVCCFGRESP_ROOT, "SDNC", "SDNCNotify", MsoLogger.ErrorCode.DataError, "Missing param");
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.BadRequest, "Missing" + Constants.SDNC_SVCCFGRESP_ROOT);
- return Response.status (HttpServletResponse.SC_BAD_REQUEST)
- .entity ("Missing " + Constants.SDNC_SVCCFGRESP_ROOT)
- .build ();
- }
- } catch (Exception e) {
- msoLogger.error (MessageEnum.RA_MISSING_PARAM, Constants.SDNC_SVCCFGRESP_ROOT, "SDNC", "SDNCNotify", MsoLogger.ErrorCode.DataError, "Exception - Missing param", e);
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.BadRequest, "Missing" + Constants.SDNC_SVCCFGRESP_ROOT);
- return Response.status (HttpServletResponse.SC_BAD_REQUEST)
- .entity ("Missing " + Constants.SDNC_SVCCFGRESP_ROOT)
- .build ();
- }
-
- String reqId;
- try {
- reqId = xpath.evaluate (Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_REQ_ID, doc);
- } catch (Exception e) {
- msoLogger.error (MessageEnum.RA_MISSING_PARAM, Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_REQ_ID, "SDNC", "SDNCNotify", MsoLogger.ErrorCode.DataError, "Exception - Missing param", e);
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.BadRequest, "Missing" + Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_REQ_ID);
- return Response.status (HttpServletResponse.SC_BAD_REQUEST)
- .entity ("Missing " + Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_REQ_ID)
- .build ();
- }
-
- MsoLogger.setLogContext (SDNCRequestIdUtil.getSDNCOriginalRequestId (reqId), "");
-
- String respCode;
- try {
- respCode = xpath.evaluate (Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_RESP_CODE, doc);
- } catch (Exception e) {
- msoLogger.error (MessageEnum.RA_MISSING_PARAM,
- Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_RESP_CODE, "SDNC", "SDNCNotify", MsoLogger.ErrorCode.DataError, "Exception - Missing param",
- e);
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.BadRequest, "Missing" + Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_RESP_CODE);
- return Response.status (HttpServletResponse.SC_BAD_REQUEST)
- .entity ("Missing" + Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_RESP_CODE)
- .build ();
- }
-
- String respMsg = "";
- try {
- respMsg = xpath.evaluate (Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_RESP_MSG, doc);
- } catch (Exception e) {
- msoLogger.error (MessageEnum.RA_MISSING_PARAM, Constants.SDNC_SVCCFGRESP_ROOT + Constants.SDNC_RESP_MSG, "SDNC", "SDNCNotify", MsoLogger.ErrorCode.DataError, "Exception - Missing param", e);
- }
-
- String bpelUrl;
-
- bpelUrl = SDNCAdapterPortTypeImpl.getProperty (Constants.BPEL_URL_PROP, Constants.DEFAULT_BPEL_URL,msoPropertiesFactory);
- if (bpelUrl == null) {
- msoLogger.debug("bpelUrl is NULL:");
- }
-
- SDNCResponse sdncResp = new SDNCResponse (reqId);
- sdncResp.setRespCode (Integer.parseInt (respCode));
- sdncResp.setRespMsg (respMsg);
- sdncResp.setSdncRespXml (reqXML);
- long subStartTime = System.currentTimeMillis ();
- SDNCRestClient.sendRespToBpel (bpelUrl, sdncResp,msoPropertiesFactory);
- msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully send request to BPMN", "BPMN", bpelUrl, null);
-
- msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successful");
- return Response.ok ().build ();
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/package-info.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/package-info.java
deleted file mode 100644
index fa06b000d6..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/package-info.java
+++ /dev/null
@@ -1,23 +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=========================================================
- */
-
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://org.openecomp/workflow/sdnc/adapter/schema/v1", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
-package org.openecomp.mso.adapters.sdnc;
-
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/BPRestCallback.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/BPRestCallback.java
deleted file mode 100644
index f6708a2586..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/BPRestCallback.java
+++ /dev/null
@@ -1,170 +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.sdnc.sdncrest;
-
-import org.openecomp.mso.adapters.sdnc.impl.Constants;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
-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 javax.xml.bind.DatatypeConverter;
-
-/**
- * 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 message the JSON content
- * @return true if the message was consumed successfully by the endpoint
- */
- public boolean send(String workflowMessageUrl, String messageType, String correlator, String message) {
- LOGGER.debug(getClass().getSimpleName() + ".send("
- + "workflowMessageUrl=" + workflowMessageUrl
- + " messageType=" + messageType
- + " correlator=" + correlator
- + " message=" + message
- + ")");
-
- while (workflowMessageUrl.endsWith("/")) {
- workflowMessageUrl = workflowMessageUrl.substring(0, workflowMessageUrl.length()-1);
- }
-
- String endpoint = workflowMessageUrl + "/" + SDNCAdapterUtils.encodeURLPathSegment(messageType)
- + "/" + SDNCAdapterUtils.encodeURLPathSegment(correlator);
-
- return send(endpoint, 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 JSON content
- * @return true if the message was consumed successfully by the endpoint
- */
- public boolean send(String url, String message) {
- LOGGER.debug(getClass().getSimpleName() + ".send("
- + "url=" + url
- + " 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.APPLICATION_JSON));
- }
-
- boolean error = false;
-
- try {
- // AAF Integration, disabled for now due to the constrains from other party
- // String userCredentials = CredentialConstants.getDecryptedCredential(Constants.DEFAULT_BPEL_AUTH);
- // Once AAF enabled, the credential shall be get by triggering the CredentialConstants.getDecryptedCredential -- remove line
- String userCredentials = SDNCAdapterProperties.getEncryptedProperty(Constants.BPEL_AUTH_PROP,
- Constants.DEFAULT_BPEL_AUTH, Constants.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 = null;
-
- 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();
- } catch (Exception e) {
- LOGGER.debug("Exception:", e);
- }
- }
-
- LOGGER.info(MessageEnum.RA_CALLBACK_BPEL_COMPLETE, "Camunda", "");
- }
- }
-} \ No newline at end of file
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterProperties.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterProperties.java
deleted file mode 100644
index 4d0190243b..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterProperties.java
+++ /dev/null
@@ -1,85 +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.sdnc.sdncrest;
-
-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 SDNC adapter properties.
- */
-public final class SDNCAdapterProperties {
- private static final String MSO_PROPERTIES_ID = "MSO_PROP_SDNC_ADAPTER";
- private static final MsoPropertiesFactory MSO_PROPERTIES_FACTORY = new MsoPropertiesFactory();
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
-
- /**
- * Gets the value of an SDNC 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(MSO_PROPERTIES_ID);
- } catch (MsoPropertiesException e) {
- LOGGER.error (MessageEnum.NO_PROPERTIES, "Unknown. Mso Properties ID not found in cache: " + MSO_PROPERTIES_ID,
- "SDNC", "", 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 " + MSO_PROPERTIES_ID + " - key:" + key + " value:" + value);
- return value;
- }
-
- /**
- * Gets the value of an SDNC 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(MSO_PROPERTIES_ID);
- } catch (MsoPropertiesException e) {
- LOGGER.error (MessageEnum.NO_PROPERTIES, "Unknown. Mso Properties ID not found in cache: " + MSO_PROPERTIES_ID,
- "SDNC", "", 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 " + MSO_PROPERTIES_ID + " - key:" + key);
- return value;
- }
-
- /**
- * Instantiation is not allowed.
- */
- private SDNCAdapterProperties() {
- }
-} \ No newline at end of file
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterRest.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterRest.java
deleted file mode 100644
index f7a37fc202..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterRest.java
+++ /dev/null
@@ -1,239 +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.sdnc.sdncrest;
-
-import org.openecomp.mso.HealthCheckUtils;
-import org.openecomp.mso.adapters.sdnc.impl.Constants;
-import org.openecomp.mso.adapters.sdncrest.SDNCEvent;
-import org.openecomp.mso.adapters.sdncrest.SDNCResponseCommon;
-import org.openecomp.mso.adapters.sdncrest.SDNCServiceError;
-import org.openecomp.mso.adapters.sdncrest.SDNCServiceRequest;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.utils.UUIDChecker;
-import org.apache.http.HttpStatus;
-
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.*;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.text.ParseException;
-
-/**
- * SDNC REST adapter interface added in 1702 to support the SDNC "agnostic" API.
- */
-@Path("/")
-public class SDNCAdapterRest {
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
- private static final MsoAlarmLogger ALARMLOGGER = new MsoAlarmLogger();
-
- private static final String MSO_PROPERTIES_ID = "MSO_PROP_SDNC_ADAPTER";
-
- @HEAD
- @GET
- @Path("/v1/sdnc/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, MSO_PROPERTIES_ID)) {
- return HealthCheckUtils.NOT_STARTED_RESPONSE;
- }
-
- LOGGER.debug("healthcheck - Successful");
- return HealthCheckUtils.HEALTH_CHECK_RESPONSE;
- }
-
- /**
- * Processes an SDNCServiceRequest (a request for "agnostic" API services) from BP.
- * @param request the request
- * @param msoRequestId the request ID for the top-level MSO flow (used for logging only)
- * @param msoServiceInstanceId the top-level service-instance-id (used for logging only)
- */
- @POST
- @Path("/v1/sdnc/services")
- @Consumes({MediaType.APPLICATION_JSON})
- @Produces({MediaType.APPLICATION_JSON})
- public Response service(
- SDNCServiceRequest request,
- @HeaderParam(value="mso-request-id") String msoRequestId,
- @HeaderParam(value="mso-service-instance-id") String msoServiceInstanceId) {
-
- MsoLogger.setLogContext(msoRequestId, msoServiceInstanceId);
-
- try {
- LOGGER.debug(getClass().getSimpleName() + ".service(request)"
- + " entered with request: " + request.toJson());
-
- SDNCServiceRequestTask task = new SDNCServiceRequestTask(request, msoRequestId,
- msoServiceInstanceId, "/services");
-
- try {
- Thread thread = new Thread(task);
- thread.start();
- } catch (Exception e) {
- String msg = "Failed to start thread to run SDNCServiceTask";
- LOGGER.error(MessageEnum.RA_SEND_REQUEST_SDNC_ERR, "SDNC", "", MsoLogger.ErrorCode.BusinessProcesssError, msg, e);
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, msg);
- SDNCServiceError error = new SDNCServiceError(request.getSDNCRequestId(),
- String.valueOf(HttpStatus.SC_INTERNAL_SERVER_ERROR), e.toString(), "Y");
- LOGGER.debug(getClass().getSimpleName() + ".service(request)"
- + " exited with error: " + msg);
- return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR)
- .entity(new GenericEntity<SDNCServiceError>(error){})
- .build();
- }
-
- // Send sync response to caller
- LOGGER.debug(getClass().getSimpleName() + ".service(request)"
- + " exited successfully");
- return Response.status(HttpStatus.SC_ACCEPTED).build();
- } catch (Exception e) {
- String msg = "Caught " + e.getClass().getSimpleName() + " in 'service' method";
- LOGGER.error(MessageEnum.RA_SEND_REQUEST_SDNC_ERR, "SDNC", "", MsoLogger.ErrorCode.BusinessProcesssError, msg, e);
- LOGGER.debug(getClass().getSimpleName() + ".service(request)"
- + " exited with error: " + msg);
- SDNCServiceError error = new SDNCServiceError(request.getSDNCRequestId(),
- String.valueOf(HttpStatus.SC_INTERNAL_SERVER_ERROR), e.toString(), "Y");
- return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR)
- .entity(new GenericEntity<SDNCServiceError>(error){})
- .build();
- }
- }
-
- /**
- * Processes a notification from SDNC for "agnostic" API services.
- * Note that the "myurl" configuration property specifies the path
- * up to and including /SDNCNotify. The /services part of the path
- * is added by this class.
- * @param content the notification content
- */
- @POST
- @Path("/SDNCNotify/services")
- @Consumes({MediaType.APPLICATION_XML})
- @Produces({MediaType.APPLICATION_XML})
- public Response serviceNotification(String content) {
- LOGGER.info(MessageEnum.RA_RECEIVE_SDNC_NOTIF, content, "SDNC", "SDNCNotify/services");
-
- long startTime = System.currentTimeMillis();
-
- try {
- // Because the format of a notification is exactly the same as that of
- // a synchronous response, we can use the same code to parse it.
- SDNCResponseCommon response = SDNCServiceRequestConnector.parseResponseContent(content);
-
- String bpUrl = SDNCAdapterProperties.getProperty(Constants.BPEL_REST_URL_PROP, null);
-
- if (bpUrl == null) {
- String error = "Missing configuration for: " + Constants.BPEL_REST_URL_PROP;
- LOGGER.error(MessageEnum.RA_SDNC_MISS_CONFIG_PARAM, Constants.BPEL_REST_URL_PROP, "SDNC", "",
- MsoLogger.ErrorCode.DataError, "Missing config param");
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- return Response.status(HttpServletResponse.SC_BAD_REQUEST).entity(error).build();
- }
-
- long bpStartTime = System.currentTimeMillis();
- BPRestCallback callback = new BPRestCallback();
- boolean callbackSuccess = callback.send(bpUrl, "SDNCAResponse", response.getSDNCRequestId(), response.toJson());
-
- 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.ok().build();
- } catch (ParseException e) {
- LOGGER.error(MessageEnum.RA_PARSING_REQUEST_ERROR, "SDNC", "SDNCNotify/services",
- MsoLogger.ErrorCode.SchemaError, e.getMessage());
- LOGGER.recordAuditEvent(startTime, MsoLogger.StatusCode.ERROR,
- MsoLogger.ResponseCode.SchemaError, e.getMessage());
- return Response.status(HttpServletResponse.SC_BAD_REQUEST).entity(e.getMessage()).build();
- }
- }
-
- /**
- * Processes an event notification from SDNC.
- * Note that the "myurl" configuration property specifies the path
- * up to and including /SDNCNotify. The /activate part of the path
- * is added by this class.
- * @param content the notification content
- */
- @POST
- @Path("/SDNCNotify/event")
- @Consumes({MediaType.APPLICATION_XML})
- @Produces({MediaType.APPLICATION_XML})
- public Response eventNotification(String content) {
- LOGGER.info(MessageEnum.RA_RECEIVE_SDNC_NOTIF, content, "SDNC", "SDNCNotify/event");
-
- long startTime = System.currentTimeMillis();
-
- try {
- SDNCEvent event = SDNCEventParser.parse(content);
-
- String bpUrl = SDNCAdapterProperties.getProperty(Constants.BPEL_REST_URL_PROP, null);
-
- if (bpUrl == null) {
- String error = "Missing configuration for: " + Constants.BPEL_REST_URL_PROP;
- LOGGER.error(MessageEnum.RA_SDNC_MISS_CONFIG_PARAM, Constants.BPEL_REST_URL_PROP, "SDNC", "",
- MsoLogger.ErrorCode.DataError, "Missing config param");
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- return Response.status(HttpServletResponse.SC_BAD_REQUEST).entity(error).build();
- }
-
- long bpStartTime = System.currentTimeMillis();
- BPRestCallback callback = new BPRestCallback();
- boolean callbackSuccess = callback.send(bpUrl, "SDNCAEvent", event.getEventCorrelator(), event.toJson());
-
- 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.ok().build();
- } catch (ParseException e) {
- LOGGER.error(MessageEnum.RA_PARSING_REQUEST_ERROR, "SDNC", "SDNCNotify/event",
- MsoLogger.ErrorCode.SchemaError, e.getMessage());
- LOGGER.recordAuditEvent(startTime, MsoLogger.StatusCode.ERROR,
- MsoLogger.ResponseCode.SchemaError, e.getMessage());
- return Response.status(HttpServletResponse.SC_BAD_REQUEST).entity(e.getMessage()).build();
- }
- }
-} \ No newline at end of file
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterUtils.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterUtils.java
deleted file mode 100644
index 893ff82f11..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCAdapterUtils.java
+++ /dev/null
@@ -1,74 +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.sdnc.sdncrest;
-
-import org.springframework.web.util.UriUtils;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
-import org.openecomp.mso.logger.MsoLogger;
-
-/**
- * Utility methods used by SDNCAdapterRest.
- */
-public final class SDNCAdapterUtils {
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA);
- /**
- * Instantiation is not allowed.
- */
- private SDNCAdapterUtils() {
- }
-
- /**
- * Returns a node's child elements in a list.
- */
- public static List<Element> childElements(Node node) {
- List<Element> elements = new ArrayList<>();
-
- NodeList nodeList = node.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node child = nodeList.item(i);
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- elements.add((Element) child);
- }
- }
-
- return elements;
- }
-
- /**
- * 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) {
- LOGGER.debug("Exception:", e);
- throw new RuntimeException("UTF-8 encoding is not supported");
- }
- }
-} \ No newline at end of file
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCConnector.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCConnector.java
deleted file mode 100644
index fa257164cf..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCConnector.java
+++ /dev/null
@@ -1,317 +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.sdnc.sdncrest;
-
-import org.openecomp.mso.adapters.sdnc.impl.Constants;
-import org.openecomp.mso.adapters.sdncrest.SDNCErrorCommon;
-import org.openecomp.mso.adapters.sdncrest.SDNCResponseCommon;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.client.methods.*;
-import org.apache.http.conn.ConnectTimeoutException;
-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.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-
-import javax.xml.XMLConstants;
-import javax.xml.bind.DatatypeConverter;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-import java.io.StringReader;
-import java.net.HttpURLConnection;
-import java.net.SocketTimeoutException;
-
-/**
- * Sends requests to SDNC and processes the responses.
- */
-public abstract class SDNCConnector {
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
- private static final MsoAlarmLogger ALARMLOGGER = new MsoAlarmLogger();
-
- public SDNCResponseCommon send(String content, TypedRequestTunables rt) {
- LOGGER.info(MessageEnum.RA_SEND_REQUEST_SDNC, rt.toString(), "SDNC", "");
- LOGGER.debug("SDNC Request Body:\n" + content);
-
- HttpRequestBase method = null;
- HttpResponse httpResponse = null;
-
- try {
- int timeout = Integer.parseInt(rt.getTimeout());
-
- RequestConfig requestConfig = RequestConfig.custom()
- .setSocketTimeout(timeout)
- .setConnectTimeout(timeout)
- .setConnectionRequestTimeout(timeout)
- .build();
-
- HttpClient client = HttpClientBuilder.create().build();
-
- if ("POST".equals(rt.getReqMethod())) {
- HttpPost httpPost = new HttpPost(rt.getSdncUrl());
- httpPost.setConfig(requestConfig);
- httpPost.setEntity(new StringEntity(content, ContentType.APPLICATION_XML));
- method = httpPost;
- } else if ("PUT".equals(rt.getReqMethod())) {
- HttpPut httpPut = new HttpPut(rt.getSdncUrl());
- httpPut.setConfig(requestConfig);
- httpPut.setEntity(new StringEntity(content, ContentType.APPLICATION_XML));
- method = httpPut;
- } else if ("GET".equals(rt.getReqMethod())) {
- HttpGet httpGet = new HttpGet(rt.getSdncUrl());
- httpGet.setConfig(requestConfig);
- method = httpGet;
- } else if ("DELETE".equals(rt.getReqMethod())) {
- HttpDelete httpDelete = new HttpDelete(rt.getSdncUrl());
- httpDelete.setConfig(requestConfig);
- method = httpDelete;
- }
-
- // AAF Integration, disabled for now due to the constrains from other party
- // String userCredentials = CredentialConstants.getSecurityProperties().getEncryptedProperty(CredentialConstants.DEFAULT_AUTH, "", CredentialConstants.getEncryptionKey());
- // if (userCredentials == null) {
- // userCredentials = "";
- //}
- String userCredentials = SDNCAdapterProperties.getEncryptedProperty(Constants.SDNC_AUTH_PROP,
- Constants.DEFAULT_SDNC_AUTH, Constants.ENCRYPTION_KEY);
- String authorization = "Basic " + DatatypeConverter.printBase64Binary(userCredentials.getBytes());
- if(null != method) {
- method.setHeader("Authorization", authorization);
- method.setHeader("Accept", "application/yang.data+xml");
- }
- else {
- LOGGER.debug("method is NULL:");
- }
-
-
-
- httpResponse = client.execute(method);
-
- String responseContent = null;
- if (httpResponse.getEntity() != null) {
- responseContent = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
- }
-
- int statusCode = httpResponse.getStatusLine().getStatusCode();
- String statusMessage = httpResponse.getStatusLine().getReasonPhrase();
-
- LOGGER.debug("SDNC Response: " + statusCode + " " + statusMessage
- + (responseContent == null ? "" : System.lineSeparator() + responseContent));
-
- if (httpResponse.getStatusLine().getStatusCode() >= 300) {
- String errMsg = "SDNC returned " + statusCode + " " + statusMessage;
-
- String errors = analyzeErrors(responseContent);
- if (errors != null) {
- errMsg += " " + errors;
- }
-
- logError(errMsg);
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, errMsg);
- return createErrorResponse(statusCode, errMsg, rt);
- }
-
- httpResponse = null;
-
- if(null != method) {
- method.reset();
- }
- else {
- LOGGER.debug("method is NULL:");
- }
-
- method = null;
-
- LOGGER.info(MessageEnum.RA_RESPONSE_FROM_SDNC, responseContent, "SDNC", "");
- return createResponseFromContent(statusCode, statusMessage, responseContent, rt);
-
- } catch (SocketTimeoutException | ConnectTimeoutException e) {
- String errMsg = "Request to SDNC timed out";
- logError(errMsg, e);
- return createErrorResponse(HttpURLConnection.HTTP_CLIENT_TIMEOUT, errMsg, rt);
-
- } catch (Exception e) {
- String errMsg = "Error processing request to SDNC";
- logError(errMsg, e);
- return createErrorResponse(HttpURLConnection.HTTP_INTERNAL_ERROR, errMsg, rt);
-
- } finally {
- if (httpResponse != null) {
- try {
- EntityUtils.consume(httpResponse.getEntity());
- } catch (Exception e) {
- LOGGER.debug("Exception:", e);
- }
- }
-
- if (method != null) {
- try {
- method.reset();
- } catch (Exception e) {
- LOGGER.debug("Exception:", e);
- }
- }
- }
- }
-
- protected void logError(String errMsg) {
- LOGGER.error(MessageEnum.RA_EXCEPTION_COMMUNICATE_SDNC, "SDNC", "",
- MsoLogger.ErrorCode.AvailabilityError, errMsg);
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, errMsg);
- }
-
- protected void logError(String errMsg, Throwable t) {
- LOGGER.error(MessageEnum.RA_EXCEPTION_COMMUNICATE_SDNC, "SDNC", "",
- MsoLogger.ErrorCode.AvailabilityError, errMsg, t);
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, errMsg);
- }
-
- /**
- * Generates a response object from content received from SDNC. The response
- * object may be a success response object or an error response object. This
- * method must be overridden by the subclass to return the correct object type.
- * @param statusCode the response status code from SDNC (e.g. 200)
- * @param statusMessage the response status message from SDNC (e.g. "OK")
- * @param responseContent the body of the response from SDNC (possibly null)
- * @param rt request tunables
- * @return a response object
- */
- protected abstract SDNCResponseCommon createResponseFromContent(int statusCode,
- String statusMessage, String responseContent, TypedRequestTunables rt);
-
- /**
- * Generates an error response object. This method must be overridden by the
- * subclass to return the correct object type.
- * @param statusCode the response status code (from SDNC, or internally generated)
- * @param errMsg the error message (normally a verbose explanation of the error)
- * @param rt request tunables
- * @return an error response object
- */
- protected abstract SDNCErrorCommon createErrorResponse(int statusCode,
- String errMsg, TypedRequestTunables rt);
-
- /**
- * Called by the send() method to analyze errors that may be encoded in the
- * content of non-2XX responses. By default, this method tries to parse the
- * content as a restconf error.
- * <pre>
- * xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"
- * </pre>
- * If an error (or errors) can be obtained from the content, then the result
- * is a string in this format:
- * <pre>
- * [error-type:TYPE, error-tag:TAG, error-message:MESSAGE] ...
- * </pre>
- * If no error could be obtained from the content, then the result is null.
- * <p>
- * The subclass can override this method to provide another implementation.
- */
- protected String analyzeErrors(String content) {
- if (content == null || content.isEmpty()) {
- return null;
- }
-
- // Confirmed with Andrew Shen on 11/1/16 that SDNC will send content like
- // this in error responses (non-2XX response codes) to "agnostic" service
- // requests.
- //
- // <errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf">
- // <error>
- // <error-type>protocol</error-type>
- // <error-tag>malformed-message</error-tag>
- // <error-message>Error parsing input: The element type "input" must be terminated by the matching end-tag "&lt;/input&gt;".</error-message>
- // </error>
- // </errors>
-
- StringBuilder output = null;
-
- try {
- XPathFactory xpathFactory = XPathFactory.newInstance();
- XPath xpath = xpathFactory.newXPath();
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- InputSource source = new InputSource(new StringReader(content));
- Document doc = documentBuilderFactory.newDocumentBuilder().parse(source);
- NodeList errors = (NodeList) xpath.evaluate("errors/error", doc, XPathConstants.NODESET);
-
- for (int i = 0; i < errors.getLength(); i++)
- {
- Element error = (Element) errors.item(i);
-
- String info = "";
-
- try {
- String errorType = xpath.evaluate("error-type", error);
- info += "error-type:" + errorType;
- } catch (XPathExpressionException e) {
- LOGGER.error(MessageEnum.RA_EVALUATE_XPATH_ERROR, "error-type", error.toString(), "SDNC", "",
- MsoLogger.ErrorCode.DataError, "XPath Exception", e);
- }
-
- try {
- String errorTag = xpath.evaluate( "error-tag", error);
- if (!info.isEmpty()) {
- info += ", ";
- }
- info += "error-tag:" + errorTag;
- } catch (XPathExpressionException e) {
- LOGGER.error(MessageEnum.RA_EVALUATE_XPATH_ERROR, "error-tag", error.toString(), "SDNC", "",
- MsoLogger.ErrorCode.DataError, "XPath Exception", e);
- }
-
- try {
- String errorMessage = xpath.evaluate("error-message", error);
- if (!info.isEmpty()) {
- info += ", ";
- }
- info += "error-message:" + errorMessage;
- } catch (Exception e) {
- LOGGER.error(MessageEnum.RA_EVALUATE_XPATH_ERROR, "error-message", error.toString(), "SDNC", "",
- MsoLogger.ErrorCode.DataError, "XPath Exception", e);
- }
-
- if (!info.isEmpty()) {
- if (output == null) {
- output = new StringBuilder("[" + info + "]");
- } else {
- output.append(" [").append(info).append("]");
- }
- }
- }
- } catch (Exception e) {
- LOGGER.error (MessageEnum.RA_ANALYZE_ERROR_EXC, "SDNC", "",
- MsoLogger.ErrorCode.DataError, "Exception while analyzing errors", e);
- }
-
- return output.toString();
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCEventParser.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCEventParser.java
deleted file mode 100644
index 2263ab74df..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCEventParser.java
+++ /dev/null
@@ -1,161 +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.sdnc.sdncrest;
-
-import org.openecomp.mso.adapters.sdncrest.SDNCEvent;
-import org.openecomp.mso.logger.MsoLogger;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilderFactory;
-import java.io.StringReader;
-import java.text.ParseException;
-
-/**
- * SDNCConnector for "agnostic" API services.
- */
-public class SDNCEventParser {
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA);
-
- // Instantiation is not allowed.
- private SDNCEventParser() {
- }
-
- /**
- * Parses SDNC event XML. If the content can be parsed and contains all required
- * elements, then an object is returned. Otherwise, a ParseException is thrown.
- * This method performs no logging or alarming.
- * @throws ParseException on error
- */
- public static SDNCEvent parse(String content) throws ParseException {
- try {
- // Note: this document builder is not namespace-aware, so namespaces are ignored.
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- InputSource source = new InputSource(new StringReader(content));
- Document doc = documentBuilderFactory.newDocumentBuilder().parse(source);
-
- // Find the configuration-event child under the root element.
- // The root element is expected to be an "output" element, but we don't really care.
-
- Element root = doc.getDocumentElement();
- Element configurationEvent = null;
-
- for (Element child : SDNCAdapterUtils.childElements(root)) {
- if ("configuration-event".equals(child.getNodeName())) {
- configurationEvent = child;
- break;
- }
- }
-
- if (configurationEvent == null) {
- throw new ParseException("No configuration-event element in SDNC event", 0);
- }
-
- // Process the children of configuration-event
-
- String eventType = null;
- String eventCorrelatorType = null;
- String eventCorrelator = null;
- Element eventParameters = null;
-
- for (Element child : SDNCAdapterUtils.childElements(configurationEvent)) {
- if ("event-type".equals(child.getNodeName())) {
- eventType = child.getTextContent();
- } else if ("event-correlator-type".equals(child.getNodeName())) {
- eventCorrelatorType = child.getTextContent();
- } else if ("event-correlator".equals(child.getNodeName())) {
- eventCorrelator = child.getTextContent();
- } else if ("event-parameters".equals(child.getNodeName())) {
- eventParameters = child;
- }
- }
-
- // event-type is mandatory.
-
- if (eventType == null || eventType.isEmpty()) {
- throw new ParseException("No event-type in SDNC event", 0);
- }
-
- // event-correlator-type is mandatory.
-
- if (eventCorrelatorType == null || eventCorrelatorType.isEmpty()) {
- throw new ParseException("No event-correlator-type in SDNC event", 0);
- }
-
- // event-correlator is mandatory.
-
- if (eventCorrelator == null || eventCorrelator.isEmpty()) {
- throw new ParseException("No event-correlator in SDNC event", 0);
- }
-
- // Create an event object.
-
- SDNCEvent event = new SDNCEvent(eventType, eventCorrelatorType, eventCorrelator);
-
- // event-parameters is an optional container element. If present,
- // process its children, adding values to the event object.
-
- if (eventParameters != null) {
- for (Element element : SDNCAdapterUtils.childElements(eventParameters)) {
- if (!"event-parameter".equals(element.getNodeName())) {
- continue;
- }
-
- String tagName = null;
- String tagValue = null;
-
- for (Element child : SDNCAdapterUtils.childElements(element)) {
- if ("tag-name".equals(child.getNodeName())) {
- tagName = child.getTextContent();
- } else if ("tag-value".equals(child.getNodeName())) {
- tagValue = child.getTextContent();
- }
- }
-
- // tag-name is mandatory
-
- if (tagName == null) {
- throw new ParseException("Missing tag-name in SDNC event parameter", 0);
- }
-
- // tag-value is optional. If absent, make it an empty string so we don't
- // end up with null values in the parameter map.
-
- if (tagValue == null) {
- tagValue = "";
- }
-
- event.addParam(tagName, tagValue);
- }
- }
-
- return event;
- } catch (ParseException e) {
- throw e;
- } catch (Exception e) {
- LOGGER.debug("Exception:", e);
- throw new ParseException("Failed to parse SDNC event:", 0 );
- }
- }
-} \ No newline at end of file
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCServiceRequestConnector.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCServiceRequestConnector.java
deleted file mode 100644
index 10175d83b5..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCServiceRequestConnector.java
+++ /dev/null
@@ -1,199 +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.sdnc.sdncrest;
-
-import org.openecomp.mso.adapters.sdncrest.SDNCErrorCommon;
-import org.openecomp.mso.adapters.sdncrest.SDNCResponseCommon;
-import org.openecomp.mso.adapters.sdncrest.SDNCServiceError;
-import org.openecomp.mso.adapters.sdncrest.SDNCServiceResponse;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilderFactory;
-import java.io.StringReader;
-import java.net.HttpURLConnection;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.List;
-import org.openecomp.mso.logger.MsoLogger;
-
-/**
- * SDNCConnector for "agnostic" API services.
- */
-public class SDNCServiceRequestConnector extends SDNCConnector {
-
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA);
- @Override
- protected SDNCResponseCommon createResponseFromContent(int statusCode, String statusMessage,
- String responseContent, TypedRequestTunables rt) {
- try {
- return parseResponseContent(responseContent);
- } catch (ParseException e) {
- logError(e.getMessage());
- return createErrorResponse(HttpURLConnection.HTTP_INTERNAL_ERROR, e.getMessage(), rt);
- }
- }
-
- @Override
- protected SDNCErrorCommon createErrorResponse(int statusCode, String errMsg,
- TypedRequestTunables rt) {
- return new SDNCServiceError(rt.getReqId(), String.valueOf(statusCode), errMsg, "Y");
- }
-
- /**
- * Parses SDNC synchronous service response content or service notification content.
- * If the content can be parsed and contains all required elements, then an object
- * is returned. The type of the returned object depends on the response code
- * contained in the content. For 2XX response codes, an SDNCServiceResponse is
- * returned. Otherwise, an SDNCServiceError is returned. If the content cannot
- * be parsed, or if the content does not contain all required elements, a parse
- * exception is thrown. This method performs no logging or alarming.
- * @throws ParseException on error
- */
- public static SDNCResponseCommon parseResponseContent(String responseContent)
- throws ParseException {
- try {
- // Note: this document builder is not namespace-aware, so namespaces are ignored.
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- InputSource source = new InputSource(new StringReader(responseContent));
- Document doc = documentBuilderFactory.newDocumentBuilder().parse(source);
-
- // Find the configuration-response-common child under the root element.
- // The root element is expected to be an "output" element, but we don't really care.
-
- Element root = doc.getDocumentElement();
- Element configurationResponseCommon = null;
-
- for (Element child : SDNCAdapterUtils.childElements(root)) {
- if ("configuration-response-common".equals(child.getNodeName())) {
- configurationResponseCommon = child;
- break;
- }
- }
-
- if (configurationResponseCommon == null) {
- throw new ParseException("No configuration-response-common element in SDNC response", 0);
- }
-
- // Process the children of configuration-response-common.
-
- String responseCode = null;
- String responseMessage = null;
- String svcRequestId = null;
- String ackFinalIndicator = null;
- List<Element> responseParameters = new ArrayList<>();
-
- for (Element child : SDNCAdapterUtils.childElements(configurationResponseCommon)) {
- if ("response-code".equals(child.getNodeName())) {
- responseCode = child.getTextContent();
- } else if ("response-message".equals(child.getNodeName())) {
- responseMessage = child.getTextContent();
- } else if ("svc-request-id".equals(child.getNodeName())) {
- svcRequestId = child.getTextContent();
- } else if ("ack-final-indicator".equals(child.getNodeName())) {
- ackFinalIndicator = child.getTextContent();
- } else if ("response-parameters".equals(child.getNodeName())) {
- responseParameters.add(child);
- }
- }
-
- // svc-request-id is mandatory.
-
- if (svcRequestId == null || svcRequestId.isEmpty()) {
- throw new ParseException("No svc-request-id in SDNC response", 0);
- }
-
- // response-code is mandatory.
-
- if (responseCode == null || responseCode.isEmpty()) {
- throw new ParseException("No response-code in SDNC response", 0);
- }
-
- // ack-final-indicator is optional: default to "Y".
-
- if (ackFinalIndicator == null || ackFinalIndicator.trim().isEmpty()) {
- ackFinalIndicator = "Y";
- }
-
- if (!ackFinalIndicator.equals("Y") && !"N".equals(ackFinalIndicator)) {
- throw new ParseException("Invalid ack-final-indicator in SDNC response: '" + ackFinalIndicator + "'", 0);
- }
-
- // response-message is optional. If the value is empty, omit it from the response object.
-
- if (responseMessage != null && responseMessage.isEmpty()) {
- responseMessage = null;
- }
-
- // If the response code in the message from SDNC was not 2XX, return SDNCServiceError.
-
- if (!responseCode.matches("2[0-9][0-9]") && !responseCode.equals("0")) {
- // Not a 2XX response. Return SDNCServiceError.
- return new SDNCServiceError(svcRequestId, responseCode, responseMessage, ackFinalIndicator);
- }
-
- // Create a success response object.
-
- SDNCServiceResponse response = new SDNCServiceResponse(svcRequestId,
- responseCode, responseMessage, ackFinalIndicator);
-
- // Process any response-parameters that might be present.
-
- for (Element element : responseParameters) {
- String tagName = null;
- String tagValue = null;
-
- for (Element child : SDNCAdapterUtils.childElements(element)) {
- if ("tag-name".equals(child.getNodeName())) {
- tagName = child.getTextContent();
- } else if ("tag-value".equals(child.getNodeName())) {
- tagValue = child.getTextContent();
- }
- }
-
- // tag-name is mandatory
-
- if (tagName == null) {
- throw new ParseException("Missing tag-name in SDNC response parameter", 0);
- }
-
- // tag-value is optional. If absent, make it an empty string so we don't
- // end up with null values in the parameter map.
-
- if (tagValue == null) {
- tagValue = "";
- }
-
- response.addParam(tagName, tagValue);
- }
-
- return response;
- } catch (ParseException e) {
- throw e;
- } catch (Exception e) {
- LOGGER.debug("Exception:", e);
- throw new ParseException("Failed to parse SDNC response", 0);
- }
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCServiceRequestTask.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCServiceRequestTask.java
deleted file mode 100644
index f3ae6d62f7..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SDNCServiceRequestTask.java
+++ /dev/null
@@ -1,213 +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.sdnc.sdncrest;
-
-import org.openecomp.mso.adapters.sdncrest.SDNCErrorCommon;
-import org.openecomp.mso.adapters.sdncrest.SDNCResponseCommon;
-import org.openecomp.mso.adapters.sdncrest.SDNCServiceError;
-import org.openecomp.mso.adapters.sdncrest.SDNCServiceRequest;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoLogger;
-import org.apache.http.HttpStatus;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import java.io.StringWriter;
-
-public class SDNCServiceRequestTask implements Runnable {
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
-
- private final SDNCServiceRequest request;
- private final String msoRequestId;
- private final String msoServiceInstanceId;
- private final String myUrlSuffix;
-
- public SDNCServiceRequestTask(SDNCServiceRequest request,
- String msoRequestId, String msoServiceInstanceId,
- String myUrlSuffix) {
- this.request = request;
- this.msoRequestId = msoRequestId;
- this.msoServiceInstanceId = msoServiceInstanceId;
- this.myUrlSuffix = myUrlSuffix;
- }
-
- @Override
- public void run()
- {
- MsoLogger.setLogContext(msoRequestId, msoServiceInstanceId);
- MsoLogger.setServiceName(getClass().getSimpleName());
-
- LOGGER.debug(getClass().getSimpleName() + ".run()"
- + " entered with request: " + request.toJson());
-
- String sdncRequestId = request.getSDNCRequestId();
- String sdncService = request.getSDNCService();
- String sdncOperation = request.getSDNCOperation();
-
- TypedRequestTunables rt = new TypedRequestTunables(sdncRequestId, myUrlSuffix);
- rt.setServiceKey(sdncService, sdncOperation);
-
- if (!rt.setTunables()) {
- // Note that the error was logged and alarmed by setTunables()
- SDNCServiceError error = new SDNCServiceError(request.getSDNCRequestId(),
- String.valueOf(HttpStatus.SC_INTERNAL_SERVER_ERROR), rt.getError(), "Y");
- BPRestCallback callback = new BPRestCallback();
- callback.send(request.getBPNotificationUrl(), error.toJson());
- return;
- }
-
- String xml = genSdncReq(request, rt);
-
- long sdncStartTime = System.currentTimeMillis();
- SDNCConnector connector = new SDNCServiceRequestConnector();
- SDNCResponseCommon response = connector.send(xml, rt);
-
- if (response instanceof SDNCErrorCommon) {
- LOGGER.recordMetricEvent(sdncStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
- "Received success response from SDNC", "SDNC", sdncService + "." + sdncOperation, null);
- } else {
- LOGGER.recordMetricEvent(sdncStartTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError,
- "Received error response from SDNC", "SDNC", sdncService + "." + sdncOperation, null);
- }
-
- long bpStartTime = System.currentTimeMillis();
- BPRestCallback callback = new BPRestCallback();
- boolean callbackSuccess = callback.send(request.getBPNotificationUrl(), response.toJson());
-
- if (callbackSuccess) {
- LOGGER.recordMetricEvent(bpStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
- "Sent notification", "BPMN", request.getBPNotificationUrl(), null);
- } else {
- LOGGER.recordMetricEvent(bpStartTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError,
- "Failed to send notification", "BPMN", request.getBPNotificationUrl(), null);
- }
- }
-
- private Element addChild(Element parent, String tag) {
- Element child = parent.getOwnerDocument().createElement(tag);
- parent.appendChild(child);
- return child;
- }
-
- private void addTextChild(Element parent, String tag, String text) {
- if (text != null) {
- Element child = parent.getOwnerDocument().createElement(tag);
- child.setTextContent(text);
- parent.appendChild(child);
- }
- }
-
- private String genSdncReq(SDNCServiceRequest request, TypedRequestTunables rt) {
- Document doc;
-
- try {
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
-
- doc = documentBuilder.newDocument();
- Element root = doc.createElementNS(rt.getNamespace(), "input");
- doc.appendChild(root);
-
- Element hdr = addChild(root, rt.getHeaderName());
- addTextChild(hdr, "svc-request-id", rt.getReqId());
- addTextChild(hdr, "svc-notification-url", rt.getMyUrl());
-
- Element requestInformation = addChild(root, "request-information");
- addTextChild(requestInformation, "request-id", request.getRequestInformation().getRequestId());
- if(request.getRequestInformation().getRequestAction()!= null) {
- addTextChild(requestInformation, "request-action",
- request.getRequestInformation().getRequestAction());
- }
- if(request.getRequestInformation().getRequestSubAction()!= null) {
- addTextChild(requestInformation, "request-sub-action",
- request.getRequestInformation().getRequestSubAction());
- }
- addTextChild(requestInformation, "source", request.getRequestInformation().getSource());
- addTextChild(requestInformation, "notification-url", request.getRequestInformation().getNotificationUrl());
-
- Element serviceInformation = addChild(root, "service-information");
- addTextChild(serviceInformation, "service-type", request.getServiceInformation().getServiceType());
- addTextChild(serviceInformation, "service-instance-id", request.getServiceInformation().getServiceInstanceId());
- addTextChild(serviceInformation, "subscriber-name", request.getServiceInformation().getSubscriberName());
- addTextChild(serviceInformation, "subscriber-global-id", request.getServiceInformation().getSubscriberGlobalId());
-
- Element agnosticServiceInformation = addChild(root, "agnostic-service-information");
- addTextChild(agnosticServiceInformation, "operation", request.getSDNCOperation());
- addTextChild(agnosticServiceInformation, "service", request.getSDNCService());
-
- // anydata is mandatory in the SDNC schema, so if the data we got is null,
- // set use an empty string instead to ensure we generate an empty element.
-
- String anydata = request.getSDNCServiceData();
- if (anydata == null) {
- anydata = "";
- }
-
- // content-type is also mandatory.
-
- String contentType = request.getSDNCServiceDataType();
-
- if (contentType == null || contentType.isEmpty()) {
- if (anydata.isEmpty()) {
- contentType = "XML";
- } else {
- if (anydata.startsWith("<")) {
- contentType = "XML";
- } else {
- contentType = "JSON";
- }
- }
- }
-
- addTextChild(agnosticServiceInformation, "content-type", contentType);
- addTextChild(agnosticServiceInformation, "anydata", anydata);
- } catch (Exception e) {
- LOGGER.error(MessageEnum.RA_ERROR_CREATE_SDNC_REQUEST, "SDNC", "",
- MsoLogger.ErrorCode.BusinessProcesssError, "Exception in genSdncReq", e);
- return null;
- }
-
- String xml;
-
- try {
- StringWriter writer = new StringWriter();
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
- transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
- transformer.transform(new DOMSource(doc), new StreamResult(writer));
- xml = writer.toString();
- } catch (Exception e) {
- LOGGER.error(MessageEnum.RA_ERROR_CONVERT_XML2STR, "", "",
- MsoLogger.ErrorCode.DataError, "Exception - domToStr", e);
- return null;
- }
-
- LOGGER.debug("Formatted SDNC service request XML:\n" + xml);
- return xml;
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SNIROResponse.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SNIROResponse.java
deleted file mode 100644
index aa17bac5c7..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/SNIROResponse.java
+++ /dev/null
@@ -1,78 +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.sdnc.sdncrest;
-
-import org.openecomp.mso.adapters.sdnc.impl.Constants;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
-
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-/**
- * A temporary interface to support notifications from SNIRO to BPMN.
- * We added this to the SDNC adapter because we didn't have time to
- * develop a SNIRO adapter in 1702.
- */
-@Path("/")
-public class SNIROResponse {
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
- private static final MsoAlarmLogger ALARMLOGGER = new MsoAlarmLogger();
-
- @POST
- @Path("/SDNCNotify/SNIROResponse/{correlator}")
- @Consumes("*/*")
- @Produces({MediaType.TEXT_PLAIN})
- public Response serviceNotification(@PathParam("correlator") String correlator, String content) {
- LOGGER.info(MessageEnum.RA_RECEIVE_SDNC_NOTIF, content, "SDNC", "SDNCNotify/SNIROResponse");
-
- long startTime = System.currentTimeMillis();
-
- String bpUrl = SDNCAdapterProperties.getProperty(Constants.BPEL_REST_URL_PROP, null);
-
- if (bpUrl == null) {
- String error = "Missing configuration for: " + Constants.BPEL_REST_URL_PROP;
- LOGGER.error(MessageEnum.RA_SDNC_MISS_CONFIG_PARAM, Constants.BPEL_REST_URL_PROP, "SDNC", "",
- MsoLogger.ErrorCode.DataError, "Missing config param");
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- return Response.status(HttpServletResponse.SC_BAD_REQUEST).entity(error).build();
- }
-
- long bpStartTime = System.currentTimeMillis();
- BPRestCallback callback = new BPRestCallback();
- boolean callbackSuccess = callback.send(bpUrl, "SNIROResponse", correlator, 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();
- }
-} \ No newline at end of file
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/TypedRequestTunables.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/TypedRequestTunables.java
deleted file mode 100644
index 72fca989f6..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/sdncrest/TypedRequestTunables.java
+++ /dev/null
@@ -1,224 +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.sdnc.sdncrest;
-
-import org.openecomp.mso.adapters.sdnc.impl.Constants;
-import org.openecomp.mso.logger.MessageEnum;
-import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
-import org.openecomp.mso.properties.MsoJavaProperties;
-import org.openecomp.mso.properties.MsoPropertiesException;
-import org.openecomp.mso.properties.MsoPropertiesFactory;
-
-/**
- * Typed Request Tunables. Each entry is identified by a TYPE in the property name.
- * Different types can have different keys.
- * <p>
- * General format:
- * <pre>
- * org.openecomp.mso.adapters.sdnc.TYPE.KEY1[.KEY2...]=METHOD|TIMEOUT|URL|HEADER|NAMESPACE
- * </pre>
- * Currently supported type(s): service
- * <pre>
- * org.openecomp.mso.adapters.sdnc.service.SERVICE.OPERATION=METHOD|TIMEOUT|URL|HEADER|NAMESPACE
- * </pre>
- */
-public class TypedRequestTunables {
-
- private static final String MSO_PROPERTIES_ID = "MSO_PROP_SDNC_ADAPTER";
-
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
- private static final MsoAlarmLogger ALARMLOGGER = new MsoAlarmLogger();
-
- private final MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
-
- private final String reqId;
- private final String myUrlSuffix;
- private String key = null;
- private String error = null;
-
- // tunables (all are required)
- private String reqMethod = null;
- private String timeout = null;
- private String sdncUrl = null;
- private String headerName = null;
- private String namespace = null;
- private String myUrl = null;
-
- public TypedRequestTunables(String reqId, String myUrlSuffix) {
- this.reqId = reqId;
- this.myUrlSuffix = myUrlSuffix;
- }
-
- /**
- * Sets the key for a service request:
- * <pre>
- * org.openecomp.mso.adapters.sdnc.service.SERVICE.OPERATION
- * </pre>
- * @param service the sdncService
- * @param operation the sdncOperation
- */
- public void setServiceKey(String service, String operation) {
- key = Constants.REQUEST_TUNABLES + ".service." + service + "." + operation;
- LOGGER.debug("Generated " + getClass().getSimpleName() + " key: " + key);
- }
-
- /**
- * Gets the SDNC request ID.
- */
- public String getReqId() {
- return reqId;
- }
-
- /**
- * Gets the generated key.
- */
- public String getKey() {
- return key;
- }
-
- /**
- * Gets the most recent error, or null if there was no error.
- */
- public String getError() {
- return error;
- }
-
- public String getReqMethod() {
- return reqMethod;
- }
-
- public String getTimeout() {
- return timeout;
- }
-
- public String getSdncUrl() {
- return sdncUrl;
- }
-
- public String getHeaderName() {
- return headerName;
- }
-
- public String getNamespace() {
- return namespace;
- }
-
- /**
- * Gets the SDNC adapter notification URL, trimmed of trailing '/' characters.
- */
- public String getMyUrl() {
- return myUrl;
- }
-
- /**
- * Returns true if successful. If there is an error, it is logged and alarmed.
- * The error description may be retrieved by calling getError().
- */
- public boolean setTunables() {
- error = null;
- MsoJavaProperties properties;
-
- try {
- properties = msoPropertiesFactory.getMsoJavaProperties(MSO_PROPERTIES_ID);
- } catch (MsoPropertiesException e) {
- error = "Mso Properties ID not found in cache: " + MSO_PROPERTIES_ID;
- LOGGER.error(MessageEnum.LOAD_PROPERTIES_FAIL, "Unknown. " + error, "SDNC", "",
- MsoLogger.ErrorCode.DataError, "Exception - Mso Properties ID not found in cache", e);
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- return false;
- }
-
- String value = properties.getProperty(key, "");
-
- if ("".equals(value)) {
- error = "Missing configuration for: " + key;
- LOGGER.error(MessageEnum.RA_SDNC_MISS_CONFIG_PARAM, key, "SDNC", "", MsoLogger.ErrorCode.DataError, "Missing config param");
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- return false;
- }
-
- String[] parts = value.split("\\|");
-
- if (parts.length != 5) {
- error = "Invalid configuration for: " + key;
- LOGGER.error(MessageEnum.RA_SDNC_INVALID_CONFIG, key, value, "SDNC", "", MsoLogger.ErrorCode.DataError, "Invalid config");
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- return false;
- }
-
- reqMethod = parts[0];
- LOGGER.debug("Request Method is set to: " + reqMethod);
-
- timeout = parts[1];
- LOGGER.debug("Timeout is set to: " + timeout);
-
- String urlPropKey = Constants.REQUEST_TUNABLES + "." + parts[2];
- sdncUrl = properties.getProperty(urlPropKey, "");
-
- if ("".equals(sdncUrl)) {
- error = "Missing configuration for: " + urlPropKey;
- LOGGER.error(MessageEnum.RA_SDNC_MISS_CONFIG_PARAM, urlPropKey, "SDNC", "", MsoLogger.ErrorCode.DataError, "Missing config param");
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- return false;
- }
-
- LOGGER.debug("SDNC Url is set to: " + sdncUrl);
-
- headerName = parts[3];
- LOGGER.debug("Header Name is set to: " + headerName);
-
- namespace = parts[4];
- LOGGER.debug("Namespace is set to: " + namespace);
-
- myUrl = properties.getProperty(Constants.MY_URL_PROP, "");
-
- if ("".equals(myUrl)) {
- error = "Missing configuration for: " + Constants.MY_URL_PROP;
- LOGGER.error(MessageEnum.RA_SDNC_MISS_CONFIG_PARAM, Constants.MY_URL_PROP, "SDNC", "",
- MsoLogger.ErrorCode.DataError, "Missing config param");
- ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, error);
- return false;
- }
-
- while (myUrl.endsWith("/")) {
- myUrl = myUrl.substring(0, myUrl.length()-1);
- }
-
- myUrl += myUrlSuffix;
-
- LOGGER.debug(toString());
- return true;
- }
-
- @Override
- public String toString() {
- return getClass().getSimpleName() + "["
- + "reqId=" + reqId
- + (key == null ? "" : ", key=" + key)
- + (reqMethod == null ? "" : ", reqMethod=" + reqMethod)
- + (sdncUrl == null ? "" : ", sdncUrl=" + sdncUrl)
- + (timeout == null ? "" : ", timeout=" + timeout)
- + (headerName == null ? "" : ", headerName=" + headerName)
- + (namespace == null ? "" : ", namespace=" + namespace)
- + (myUrl == null ? "" : ", myUrl=" + myUrl)
- + "]";
- }
-}
diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/util/SDNCRequestIdUtil.java b/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/util/SDNCRequestIdUtil.java
deleted file mode 100644
index f109b43ea2..0000000000
--- a/adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/util/SDNCRequestIdUtil.java
+++ /dev/null
@@ -1,39 +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.sdnc.util;
-
-
-public class SDNCRequestIdUtil {
- // Add private constructor to prevent instance creation.
- private SDNCRequestIdUtil () {}
-
- public static String getSDNCOriginalRequestId (String newRequestId) {
-
- // Camunda scripts will add postfix, such as -1, -2, on the original requestID, to make sure requestID is unique while sending request to SDNC
- // In order to use the unique requestID in logging, need to remove the postfix added by the Camunda scripts
- // Verify whether the requestId is a valid UUID with postfix (-1, -2). If yes, it should contain 5 times char '-', since valid UUID contains 4 times '-'
- // If the requestId is not a valid UUID with postfix, we do nothing
- if (newRequestId.split("-").length == 6) {
- return newRequestId.substring(0, newRequestId.lastIndexOf('-'));
- }
- return newRequestId;
- }
-}