Replaced all tabs with spaces in java and pom.xml

Added in maven plugins to enforce coding style rules
Added in eclipse java formatting xml

Change-Id: I3727bbf4ce8dc66abfd8ad21b6cfd0890c5d3ff0
Issue-ID: SO-1765
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/CallbackHeader.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/CallbackHeader.java
index bf4c59c..1172d77 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/CallbackHeader.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/CallbackHeader.java
@@ -28,9 +28,11 @@
 
 
 /**
- * <p>Java class for anonymous complex type.
+ * <p>
+ * Java class for anonymous complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType>
@@ -49,28 +51,24 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
-    "requestId",
-    "responseCode",
-    "responseMessage"
-}, namespace="http://org.onap/workflow/sdnc/adapter/schema/v1")
+@XmlType(name = "", propOrder = {"requestId", "responseCode", "responseMessage"},
+        namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1")
 @XmlRootElement(name = "CallbackHeader")
 public class CallbackHeader {
 
-    @XmlElement(name = "RequestId", required = true, namespace="http://org.onap/workflow/sdnc/adapter/schema/v1")
+    @XmlElement(name = "RequestId", required = true, namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1")
     protected String requestId;
-    @XmlElement(name = "ResponseCode", required = true,namespace="http://org.onap/workflow/sdnc/adapter/schema/v1")
+    @XmlElement(name = "ResponseCode", required = true, namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1")
     protected String responseCode;
-    @XmlElement(name = "ResponseMessage", required = true,namespace="http://org.onap/workflow/sdnc/adapter/schema/v1")
+    @XmlElement(name = "ResponseMessage", required = true,
+            namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1")
     protected String responseMessage;
 
     /**
      * Gets the value of the requestId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getRequestId() {
         return requestId;
@@ -79,10 +77,8 @@
     /**
      * Sets the value of the requestId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setRequestId(String value) {
         this.requestId = value;
@@ -91,10 +87,8 @@
     /**
      * Gets the value of the responseCode property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getResponseCode() {
         return responseCode;
@@ -103,10 +97,8 @@
     /**
      * Sets the value of the responseCode property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setResponseCode(String value) {
         this.responseCode = value;
@@ -115,10 +107,8 @@
     /**
      * Gets the value of the responseMessage property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getResponseMessage() {
         return responseMessage;
@@ -127,10 +117,8 @@
     /**
      * Sets the value of the responseMessage property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setResponseMessage(String value) {
         this.responseMessage = value;
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/ObjectFactory.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/ObjectFactory.java
index a72e23e..721bc1d 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/ObjectFactory.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/ObjectFactory.java
@@ -24,17 +24,13 @@
 
 
 /**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the org.openecomp.domain2.workflow.sdnc.adapter.schema.v1 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.
+ * This object contains factory methods for each Java content interface and Java element interface generated in the
+ * org.openecomp.domain2.workflow.sdnc.adapter.schema.v1 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
@@ -42,11 +38,11 @@
 
 
     /**
-     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.openecomp.domain2.workflow.sdnc.adapter.schema.v1
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package:
+     * org.openecomp.domain2.workflow.sdnc.adapter.schema.v1
      *
      */
-    public ObjectFactory() {
-    }
+    public ObjectFactory() {}
 
     /**
      * Create an instance of {@link RequestHeader }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/RequestHeader.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/RequestHeader.java
index 2c56a11..58f5c46 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/RequestHeader.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/RequestHeader.java
@@ -28,9 +28,11 @@
 
 
 /**
- * <p>Java class for anonymous complex type.
+ * <p>
+ * Java class for anonymous complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType>
@@ -52,14 +54,7 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
-    "requestId",
-    "svcInstanceId",
-    "svcAction",
-    "svcOperation",
-    "callbackUrl",
-    "msoAction"
-})
+@XmlType(name = "", propOrder = {"requestId", "svcInstanceId", "svcAction", "svcOperation", "callbackUrl", "msoAction"})
 @XmlRootElement(name = "RequestHeader")
 public class RequestHeader {
 
@@ -79,10 +74,8 @@
     /**
      * Gets the value of the requestId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getRequestId() {
         return requestId;
@@ -91,10 +84,8 @@
     /**
      * Sets the value of the requestId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setRequestId(String value) {
         this.requestId = value;
@@ -103,10 +94,8 @@
     /**
      * Gets the value of the svcInstanceId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getSvcInstanceId() {
         return svcInstanceId;
@@ -115,10 +104,8 @@
     /**
      * Sets the value of the svcInstanceId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setSvcInstanceId(String value) {
         this.svcInstanceId = value;
@@ -127,10 +114,8 @@
     /**
      * Gets the value of the svcAction property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getSvcAction() {
         return svcAction;
@@ -139,10 +124,8 @@
     /**
      * Sets the value of the svcAction property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setSvcAction(String value) {
         this.svcAction = value;
@@ -151,10 +134,8 @@
     /**
      * Gets the value of the svcOperation property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getSvcOperation() {
         return svcOperation;
@@ -163,10 +144,8 @@
     /**
      * Sets the value of the svcOperation property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setSvcOperation(String value) {
         this.svcOperation = value;
@@ -175,10 +154,8 @@
     /**
      * Gets the value of the callbackUrl property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getCallbackUrl() {
         return callbackUrl;
@@ -187,10 +164,8 @@
     /**
      * Sets the value of the callbackUrl property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setCallbackUrl(String value) {
         this.callbackUrl = value;
@@ -199,10 +174,8 @@
     /**
      * Gets the value of the msoAction property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getMsoAction() {
         return msoAction;
@@ -211,10 +184,8 @@
     /**
      * Sets the value of the msoAction property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setMsoAction(String value) {
         this.msoAction = value;
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterCallbackRequest.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterCallbackRequest.java
index e772325..2b4b8cb 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterCallbackRequest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterCallbackRequest.java
@@ -21,7 +21,6 @@
 package org.onap.so.bpmn.common.adapter.sdnc;
 
 import java.io.StringWriter;
-
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
@@ -33,9 +32,11 @@
 
 
 /**
- * <p>Java class for anonymous complex type.
+ * <p>
+ * Java class for anonymous complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType>
@@ -53,25 +54,21 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", namespace="http://org.onap/workflow/sdnc/adapter/schema/v1", propOrder = {
-    "callbackHeader",
-    "requestData"
-})
-@XmlRootElement(name = "SDNCAdapterCallbackRequest", namespace="http://org.onap/workflow/sdnc/adapter/schema/v1")
+@XmlType(name = "", namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1",
+        propOrder = {"callbackHeader", "requestData"})
+@XmlRootElement(name = "SDNCAdapterCallbackRequest", namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1")
 public class SDNCAdapterCallbackRequest {
 
-    @XmlElement(name = "CallbackHeader", required = true, namespace="http://org.onap/workflow/sdnc/adapter/schema/v1")
+    @XmlElement(name = "CallbackHeader", required = true, namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1")
     protected CallbackHeader callbackHeader;
-    @XmlElement(name = "RequestData", required=false, namespace="http://org.onap/workflow/sdnc/adapter/schema/v1")
+    @XmlElement(name = "RequestData", required = false, namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1")
     protected Object requestData;
 
     /**
      * Gets the value of the callbackHeader property.
      * 
-     * @return
-     *     possible object is
-     *     {@link CallbackHeader }
-     *     
+     * @return possible object is {@link CallbackHeader }
+     * 
      */
     public CallbackHeader getCallbackHeader() {
         return callbackHeader;
@@ -80,10 +77,8 @@
     /**
      * Sets the value of the callbackHeader property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link CallbackHeader }
-     *     
+     * @param value allowed object is {@link CallbackHeader }
+     * 
      */
     public void setCallbackHeader(CallbackHeader value) {
         this.callbackHeader = value;
@@ -92,10 +87,8 @@
     /**
      * Gets the value of the requestData property.
      * 
-     * @return
-     *     possible object is
-     *     {@link Object }
-     *     
+     * @return possible object is {@link Object }
+     * 
      */
     public Object getRequestData() {
         return requestData;
@@ -104,27 +97,24 @@
     /**
      * Sets the value of the requestData property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link Object }
-     *     
+     * @param value allowed object is {@link Object }
+     * 
      */
     public void setRequestData(Object value) {
         this.requestData = value;
     }
 
     @Override
-	public String toString() {
-		StringWriter writer = new StringWriter();
-		try {
-			JAXBContext context = JAXBContext
-					.newInstance(SDNCAdapterCallbackRequest.class);
-			Marshaller m = context.createMarshaller();
-			m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
-			m.marshal(this, writer);
-			return writer.getBuffer().toString();
-		} catch (JAXBException e) {
-			return "";
-		}
-	}
+    public String toString() {
+        StringWriter writer = new StringWriter();
+        try {
+            JAXBContext context = JAXBContext.newInstance(SDNCAdapterCallbackRequest.class);
+            Marshaller m = context.createMarshaller();
+            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
+            m.marshal(this, writer);
+            return writer.getBuffer().toString();
+        } catch (JAXBException e) {
+            return "";
+        }
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterRequest.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterRequest.java
index 179776d..0ae5f7a 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterRequest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterRequest.java
@@ -28,9 +28,11 @@
 
 
 /**
- * <p>Java class for anonymous complex type.
+ * <p>
+ * Java class for anonymous complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType>
@@ -48,10 +50,7 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
-    "requestHeader",
-    "requestData"
-})
+@XmlType(name = "", propOrder = {"requestHeader", "requestData"})
 @XmlRootElement(name = "SDNCAdapterRequest")
 public class SDNCAdapterRequest {
 
@@ -63,10 +62,8 @@
     /**
      * Gets the value of the requestHeader property.
      * 
-     * @return
-     *     possible object is
-     *     {@link RequestHeader }
-     *     
+     * @return possible object is {@link RequestHeader }
+     * 
      */
     public RequestHeader getRequestHeader() {
         return requestHeader;
@@ -75,10 +72,8 @@
     /**
      * Sets the value of the requestHeader property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link RequestHeader }
-     *     
+     * @param value allowed object is {@link RequestHeader }
+     * 
      */
     public void setRequestHeader(RequestHeader value) {
         this.requestHeader = value;
@@ -87,10 +82,8 @@
     /**
      * Gets the value of the requestData property.
      * 
-     * @return
-     *     possible object is
-     *     {@link Object }
-     *     
+     * @return possible object is {@link Object }
+     * 
      */
     public Object getRequestData() {
         return requestData;
@@ -99,10 +92,8 @@
     /**
      * Sets the value of the requestData property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link Object }
-     *     
+     * @param value allowed object is {@link Object }
+     * 
      */
     public void setRequestData(Object value) {
         this.requestData = value;
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterResponse.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterResponse.java
index 3666cb5..332b3eb 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterResponse.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCAdapterResponse.java
@@ -27,9 +27,11 @@
 
 
 /**
- * <p>Java class for anonymous complex type.
+ * <p>
+ * Java class for anonymous complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType>
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCCallbackAdapterPortType.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCCallbackAdapterPortType.java
index eff70f5..887b199 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCCallbackAdapterPortType.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/SDNCCallbackAdapterPortType.java
@@ -28,12 +28,11 @@
 
 
 /**
- * This class was generated by the JAX-WS RI.
- * JAX-WS RI 2.2.4-b01
- * Generated source version: 2.2
+ * This class was generated by the JAX-WS RI. JAX-WS RI 2.2.4-b01 Generated source version: 2.2
  *
  */
-@WebService(name = "SDNCCallbackAdapterPortType", targetNamespace = "http://org.onap/workflow/sdnc/adapter/callback/wsdl/v1")
+@WebService(name = "SDNCCallbackAdapterPortType",
+        targetNamespace = "http://org.onap/workflow/sdnc/adapter/callback/wsdl/v1")
 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
 public interface SDNCCallbackAdapterPortType {
 
@@ -41,13 +40,13 @@
     /**
      *
      * @param sdncAdapterCallbackRequest
-     * @return
-     *     returns org.openecomp.domain2.workflow.sdnc.adapter.schema.v1.SDNCAdapterResponse
+     * @return returns org.openecomp.domain2.workflow.sdnc.adapter.schema.v1.SDNCAdapterResponse
      */
     @WebMethod(operationName = "SDNCAdapterCallback")
-    @WebResult(name = "SDNCAdapterResponse", targetNamespace = "http://org.onap/workflow/sdnc/adapter/schema/v1", partName = "SDNCAdapterCallbackResponse")
-    public SDNCAdapterResponse sdncAdapterCallback(
-        @WebParam(name = "SDNCAdapterCallbackRequest", targetNamespace = "http://org.onap/workflow/sdnc/adapter/schema/v1", partName = "SDNCAdapterCallbackRequest")
-        SDNCAdapterCallbackRequest sdncAdapterCallbackRequest);
+    @WebResult(name = "SDNCAdapterResponse", targetNamespace = "http://org.onap/workflow/sdnc/adapter/schema/v1",
+            partName = "SDNCAdapterCallbackResponse")
+    public SDNCAdapterResponse sdncAdapterCallback(@WebParam(name = "SDNCAdapterCallbackRequest",
+            targetNamespace = "http://org.onap/workflow/sdnc/adapter/schema/v1",
+            partName = "SDNCAdapterCallbackRequest") SDNCAdapterCallbackRequest sdncAdapterCallbackRequest);
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/package-info.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/package-info.java
index ec341d8..88be09e 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/package-info.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/sdnc/package-info.java
@@ -18,5 +18,6 @@
  * ============LICENSE_END=========================================================
  */
 
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://org.onap/workflow/sdnc/adapter/schema/v1",
+        elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
 package org.onap.so.bpmn.common.adapter.sdnc;
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/CreateVnfNotification.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/CreateVnfNotification.java
index aa348c7..e1cb6fd 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/CreateVnfNotification.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/CreateVnfNotification.java
@@ -22,7 +22,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
@@ -30,9 +29,11 @@
 
 
 /**
- * <p>Java class for createVnfNotification complex type.
+ * <p>
+ * Java class for createVnfNotification complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType name="createVnfNotification">
@@ -76,15 +77,8 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "createVnfNotification1", propOrder = {
-    "messageId",
-    "completed",
-    "exception",
-    "errorMessage",
-    "vnfId",
-    "outputs",
-    "rollback"
-})
+@XmlType(name = "createVnfNotification1",
+        propOrder = {"messageId", "completed", "exception", "errorMessage", "vnfId", "outputs", "rollback"})
 public class CreateVnfNotification {
 
     @XmlElement(required = true)
@@ -99,10 +93,8 @@
     /**
      * Gets the value of the messageId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getMessageId() {
         return messageId;
@@ -111,10 +103,8 @@
     /**
      * Sets the value of the messageId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setMessageId(String value) {
         this.messageId = value;
@@ -139,10 +129,8 @@
     /**
      * Gets the value of the exception property.
      * 
-     * @return
-     *     possible object is
-     *     {@link MsoExceptionCategory }
-     *     
+     * @return possible object is {@link MsoExceptionCategory }
+     * 
      */
     public MsoExceptionCategory getException() {
         return exception;
@@ -151,10 +139,8 @@
     /**
      * Sets the value of the exception property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link MsoExceptionCategory }
-     *     
+     * @param value allowed object is {@link MsoExceptionCategory }
+     * 
      */
     public void setException(MsoExceptionCategory value) {
         this.exception = value;
@@ -163,10 +149,8 @@
     /**
      * Gets the value of the errorMessage property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getErrorMessage() {
         return errorMessage;
@@ -175,10 +159,8 @@
     /**
      * Sets the value of the errorMessage property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setErrorMessage(String value) {
         this.errorMessage = value;
@@ -187,10 +169,8 @@
     /**
      * Gets the value of the vnfId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getVnfId() {
         return vnfId;
@@ -199,10 +179,8 @@
     /**
      * Sets the value of the vnfId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setVnfId(String value) {
         this.vnfId = value;
@@ -211,10 +189,8 @@
     /**
      * Gets the value of the outputs property.
      * 
-     * @return
-     *     possible object is
-     *     {@link CreateVnfNotification.Outputs }
-     *     
+     * @return possible object is {@link CreateVnfNotification.Outputs }
+     * 
      */
     public CreateVnfNotification.Outputs getOutputs() {
         return outputs;
@@ -223,10 +199,8 @@
     /**
      * Sets the value of the outputs property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link CreateVnfNotification.Outputs }
-     *     
+     * @param value allowed object is {@link CreateVnfNotification.Outputs }
+     * 
      */
     public void setOutputs(CreateVnfNotification.Outputs value) {
         this.outputs = value;
@@ -235,10 +209,8 @@
     /**
      * Gets the value of the rollback property.
      * 
-     * @return
-     *     possible object is
-     *     {@link VnfRollback }
-     *     
+     * @return possible object is {@link VnfRollback }
+     * 
      */
     public VnfRollback getRollback() {
         return rollback;
@@ -247,10 +219,8 @@
     /**
      * Sets the value of the rollback property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link VnfRollback }
-     *     
+     * @param value allowed object is {@link VnfRollback }
+     * 
      */
     public void setRollback(VnfRollback value) {
         this.rollback = value;
@@ -258,9 +228,11 @@
 
 
     /**
-     * <p>Java class for anonymous complex type.
+     * <p>
+     * Java class for anonymous complex type.
      * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * <p>
+     * The following schema fragment specifies the expected content contained within this class.
      * 
      * <pre>
      * &lt;complexType>
@@ -288,32 +260,29 @@
      * 
      */
     @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "entry"
-    })
+    @XmlType(name = "", propOrder = {"entry"})
     public static class Outputs {
 
         protected List<CreateVnfNotification.Outputs.Entry> entry;
-        
+
         /**
          * Gets the value of the entry property.
          * 
          * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the entry property.
+         * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you
+         * make to the returned list will be present inside the JAXB object. This is why there is not a <CODE>set</CODE>
+         * method for the entry property.
          * 
          * <p>
          * For example, to add a new item, do as follows:
+         * 
          * <pre>
-         *    getEntry().add(newItem);
+         * getEntry().add(newItem);
          * </pre>
          * 
          * 
          * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link CreateVnfNotification.Outputs.Entry }
+         * Objects of the following type(s) are allowed in the list {@link CreateVnfNotification.Outputs.Entry }
          * 
          * 
          */
@@ -325,24 +294,26 @@
         }
 
         // Not a generated method
-	@Override
+        @Override
         public String toString() {
-        	StringBuilder out = new StringBuilder();
-        	out.append("<outputs>\n");
-        	if (entry != null) {
-        		for (Entry e : entry) {
-        			out.append(e.toString());
-        			out.append('\n');
-        		}
-        	}
-        	out.append("</outputs>");
-        	return out.toString();
+            StringBuilder out = new StringBuilder();
+            out.append("<outputs>\n");
+            if (entry != null) {
+                for (Entry e : entry) {
+                    out.append(e.toString());
+                    out.append('\n');
+                }
+            }
+            out.append("</outputs>");
+            return out.toString();
         }
 
         /**
-         * <p>Java class for anonymous complex type.
+         * <p>
+         * Java class for anonymous complex type.
          * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
+         * <p>
+         * The following schema fragment specifies the expected content contained within this class.
          * 
          * <pre>
          * &lt;complexType>
@@ -360,10 +331,7 @@
          * 
          */
         @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "", propOrder = {
-            "key",
-            "value"
-        })
+        @XmlType(name = "", propOrder = {"key", "value"})
         public static class Entry {
 
             protected String key;
@@ -372,10 +340,8 @@
             /**
              * Gets the value of the key property.
              * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
+             * @return possible object is {@link String }
+             * 
              */
             public String getKey() {
                 return key;
@@ -384,10 +350,8 @@
             /**
              * Sets the value of the key property.
              * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
+             * @param value allowed object is {@link String }
+             * 
              */
             public void setKey(String value) {
                 this.key = value;
@@ -396,10 +360,8 @@
             /**
              * Gets the value of the value property.
              * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
+             * @return possible object is {@link String }
+             * 
              */
             public String getValue() {
                 return value;
@@ -408,55 +370,45 @@
             /**
              * Sets the value of the value property.
              * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
+             * @param value allowed object is {@link String }
+             * 
              */
             public void setValue(String value) {
                 this.value = value;
-                
+
             }
-            
+
             // Not a generated method
             @Override
             public String toString() {
-            	String entrystr;
-            		entrystr =
-               "<entry>"+ '\n' +
-    	       "   <key>"+key+"</key>" + '\n' +
-    	       "   <value>"+value+"</value>" + '\n' +
-    	       "</entry>";
-            	return entrystr;
+                String entrystr;
+                entrystr = "<entry>" + '\n' + "   <key>" + key + "</key>" + '\n' + "   <value>" + value + "</value>"
+                        + '\n' + "</entry>";
+                return entrystr;
             }
 
         }
 
     }
 
-	// Not a generated method
-	@Override
-	public String toString() {
-    	String createVnfNotification;
-    	if (exception==null) {
-    		createVnfNotification = "<ns2:createVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
-    				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
-    				       "   <messageId>"+messageId+"</messageId>" + '\n' +
-    				       "   <completed>"+completed+"</completed>" + '\n' +
-    				       "   <vnfId>"+vnfId+"</vnfId>" + '\n' +
-    				       (outputs == null ? "" : outputs.toString() + '\n') +
-    				       "   <rollback>"+rollback+"</rollback>" + '\n' +
-    				       "</ns2:createVnfNotification>";
-    	} else {
-    		createVnfNotification = "<ns2:createVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
-				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
-				       "   <messageId>"+messageId+"</messageId>" + '\n' +
-				       "   <completed>"+completed+"</completed>" + '\n' +
-    				       (outputs == null ? "" : outputs.toString() + '\n') +
-    				   "   <exception>"+exception+"</exception>" + '\n' +
-    				   "   <errorMessage>"+errorMessage+"</errorMessage>" + '\n' +
-				       "</ns2:createVnfNotification>";
-    	}
-    	return createVnfNotification;
-   	}    
+    // Not a generated method
+    @Override
+    public String toString() {
+        String createVnfNotification;
+        if (exception == null) {
+            createVnfNotification = "<ns2:createVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + "   <vnfId>" + vnfId + "</vnfId>" + '\n' + (outputs == null ? "" : outputs.toString() + '\n')
+                    + "   <rollback>" + rollback + "</rollback>" + '\n' + "</ns2:createVnfNotification>";
+        } else {
+            createVnfNotification = "<ns2:createVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + (outputs == null ? "" : outputs.toString() + '\n') + "   <exception>" + exception + "</exception>"
+                    + '\n' + "   <errorMessage>" + errorMessage + "</errorMessage>" + '\n'
+                    + "</ns2:createVnfNotification>";
+        }
+        return createVnfNotification;
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/DeleteVnfNotification.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/DeleteVnfNotification.java
index 3ad2173..cd4257e 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/DeleteVnfNotification.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/DeleteVnfNotification.java
@@ -27,9 +27,11 @@
 
 
 /**
- * <p>Java class for deleteVnfNotification complex type.
+ * <p>
+ * Java class for deleteVnfNotification complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType name="deleteVnfNotification">
@@ -49,12 +51,7 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "deleteVnfNotification1", propOrder = {
-    "messageId",
-    "completed",
-    "exception",
-    "errorMessage"
-})
+@XmlType(name = "deleteVnfNotification1", propOrder = {"messageId", "completed", "exception", "errorMessage"})
 public class DeleteVnfNotification {
 
     @XmlElement(required = true)
@@ -66,10 +63,8 @@
     /**
      * Gets the value of the messageId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getMessageId() {
         return messageId;
@@ -78,10 +73,8 @@
     /**
      * Sets the value of the messageId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setMessageId(String value) {
         this.messageId = value;
@@ -106,10 +99,8 @@
     /**
      * Gets the value of the exception property.
      * 
-     * @return
-     *     possible object is
-     *     {@link MsoExceptionCategory }
-     *     
+     * @return possible object is {@link MsoExceptionCategory }
+     * 
      */
     public MsoExceptionCategory getException() {
         return exception;
@@ -118,10 +109,8 @@
     /**
      * Sets the value of the exception property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link MsoExceptionCategory }
-     *     
+     * @param value allowed object is {@link MsoExceptionCategory }
+     * 
      */
     public void setException(MsoExceptionCategory value) {
         this.exception = value;
@@ -130,10 +119,8 @@
     /**
      * Gets the value of the errorMessage property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getErrorMessage() {
         return errorMessage;
@@ -142,57 +129,43 @@
     /**
      * Sets the value of the errorMessage property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setErrorMessage(String value) {
         this.errorMessage = value;
     }
 
     /**
-     * Overrides toString() method 
+     * Overrides toString() method
+     * 
      * @return String type (deleteVnfNotification)
      */
- 
-    @Override
-	public String toString() {
-    	String deleteVnfNotification;
-    	if (exception == null) {
-    		deleteVnfNotification = "<ns2:deleteVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
-    				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
-    				       "   <messageId>"+messageId+"</messageId>" + '\n' +
-    				       "   <completed>"+completed+"</completed>" + '\n' +
-    				       "</ns2:deleteVnfNotification>";
-    	} else {
-    		deleteVnfNotification = "<ns2:deleteVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
-				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
-				       "   <messageId>"+messageId+"</messageId>" + '\n' +
-				       "   <completed>"+completed+"</completed>" + '\n' +
-    				   "   <exception>"+exception+"</exception>" + '\n' +
-    				   "   <errorMessage>"+errorMessage+"</errorMessage>" + '\n' +
-				       "</ns2:deleteVnfNotification>";
-    	}
-    	return deleteVnfNotification;
-   	}    
 
-/*	
-	public String toString() {
-		StringWriter writer = new StringWriter();
-		try {
-			JAXBContext context = JAXBContext
-					.newInstance(DeleteVnfNotification.class);
-			Marshaller m = context.createMarshaller();
-			m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
-			m.marshal(this, writer);
-			//System.out.println("toString() - " + writer.getBuffer().toString());			
-			return writer.getBuffer().toString();
-		} catch (JAXBException e) {
-			//System.out.println("JAXBException - " + e.getStackTrace());			
-			return "";
-		}
-	}    
-*/	
-	
+    @Override
+    public String toString() {
+        String deleteVnfNotification;
+        if (exception == null) {
+            deleteVnfNotification = "<ns2:deleteVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + "</ns2:deleteVnfNotification>";
+        } else {
+            deleteVnfNotification = "<ns2:deleteVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + "   <exception>" + exception + "</exception>" + '\n' + "   <errorMessage>" + errorMessage
+                    + "</errorMessage>" + '\n' + "</ns2:deleteVnfNotification>";
+        }
+        return deleteVnfNotification;
+    }
+
+    /*
+     * public String toString() { StringWriter writer = new StringWriter(); try { JAXBContext context = JAXBContext
+     * .newInstance(DeleteVnfNotification.class); Marshaller m = context.createMarshaller();
+     * m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); m.marshal(this, writer);
+     * //System.out.println("toString() - " + writer.getBuffer().toString()); return writer.getBuffer().toString(); }
+     * catch (JAXBException e) { //System.out.println("JAXBException - " + e.getStackTrace()); return ""; } }
+     */
+
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/MsoExceptionCategory.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/MsoExceptionCategory.java
index e4c95e8..aae624d 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/MsoExceptionCategory.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/MsoExceptionCategory.java
@@ -25,10 +25,13 @@
 
 
 /**
- * <p>Java class for msoExceptionCategory.
- * 
- * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
+ * Java class for msoExceptionCategory.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * 
  * <pre>
  * &lt;simpleType name="msoExceptionCategory">
  *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -45,10 +48,7 @@
 @XmlEnum
 public enum MsoExceptionCategory {
 
-    OPENSTACK,
-    IO,
-    INTERNAL,
-    USERDATA;
+    OPENSTACK, IO, INTERNAL, USERDATA;
 
     public String value() {
         return name();
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/MsoRequest.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/MsoRequest.java
index 6830109..3db5ca1 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/MsoRequest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/MsoRequest.java
@@ -26,9 +26,11 @@
 
 
 /**
- * <p>Java class for msoRequest complex type.
+ * <p>
+ * Java class for msoRequest complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType name="msoRequest">
@@ -46,10 +48,7 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "msoRequest", propOrder = {
-    "requestId",
-    "serviceInstanceId"
-})
+@XmlType(name = "msoRequest", propOrder = {"requestId", "serviceInstanceId"})
 public class MsoRequest {
 
     protected String requestId;
@@ -58,10 +57,8 @@
     /**
      * Gets the value of the requestId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getRequestId() {
         return requestId;
@@ -70,10 +67,8 @@
     /**
      * Sets the value of the requestId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setRequestId(String value) {
         this.requestId = value;
@@ -82,10 +77,8 @@
     /**
      * Gets the value of the serviceInstanceId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getServiceInstanceId() {
         return serviceInstanceId;
@@ -94,10 +87,8 @@
     /**
      * Sets the value of the serviceInstanceId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setServiceInstanceId(String value) {
         this.serviceInstanceId = value;
@@ -106,7 +97,7 @@
     @Override
     public String toString() {
         return "<requestId>" + requestId + "</requestId>" + '\n' + "<serviceInstanceId>" + serviceInstanceId
-            + "</serviceInstanceId>";
+                + "</serviceInstanceId>";
     }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/ObjectFactory.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/ObjectFactory.java
index 21bd08f..c84a935 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/ObjectFactory.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/ObjectFactory.java
@@ -27,22 +27,18 @@
 
 
 /**
- * This object contains factory methods for each 
- * Java content interface and Java element interface 
- * generated in the org.onap.so.adapters.vnf.async.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.
+ * This object contains factory methods for each Java content interface and Java element interface generated in the
+ * org.onap.so.adapters.vnf.async.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 {
-	private static final String VNF_NOTIFY = "http://org.onap.so/vnfNotify";
+    private static final String VNF_NOTIFY = "http://org.onap.so/vnfNotify";
     private static final QName _RollbackVnfNotification_QNAME = new QName(VNF_NOTIFY, "rollbackVnfNotification");
     private static final QName _DeleteVnfNotification_QNAME = new QName(VNF_NOTIFY, "deleteVnfNotification");
     private static final QName _CreateVnfNotification_QNAME = new QName(VNF_NOTIFY, "createVnfNotification");
@@ -50,11 +46,11 @@
     private static final QName _QueryVnfNotification_QNAME = new QName(VNF_NOTIFY, "queryVnfNotification");
 
     /**
-     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.onap.so.adapters.vnf.async.client
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package:
+     * org.onap.so.adapters.vnf.async.client
      * 
      */
-    public ObjectFactory() {
-    }
+    public ObjectFactory() {}
 
     /**
      * Create an instance of {@link UpdateVnfNotification }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/QueryVnfNotification.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/QueryVnfNotification.java
index e7496b8..d3ac243 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/QueryVnfNotification.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/QueryVnfNotification.java
@@ -22,7 +22,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
@@ -30,9 +29,11 @@
 
 
 /**
- * <p>Java class for queryVnfNotification complex type.
+ * <p>
+ * Java class for queryVnfNotification complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType name="queryVnfNotification">
@@ -77,16 +78,8 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "queryVnfNotification1", propOrder = {
-    "messageId",
-    "completed",
-    "exception",
-    "errorMessage",
-    "vnfExists",
-    "vnfId",
-    "status",
-    "outputs"
-})
+@XmlType(name = "queryVnfNotification1",
+        propOrder = {"messageId", "completed", "exception", "errorMessage", "vnfExists", "vnfId", "status", "outputs"})
 public class QueryVnfNotification {
 
     @XmlElement(required = true)
@@ -102,10 +95,8 @@
     /**
      * Gets the value of the messageId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getMessageId() {
         return messageId;
@@ -114,10 +105,8 @@
     /**
      * Sets the value of the messageId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setMessageId(String value) {
         this.messageId = value;
@@ -142,10 +131,8 @@
     /**
      * Gets the value of the exception property.
      * 
-     * @return
-     *     possible object is
-     *     {@link MsoExceptionCategory }
-     *     
+     * @return possible object is {@link MsoExceptionCategory }
+     * 
      */
     public MsoExceptionCategory getException() {
         return exception;
@@ -154,10 +141,8 @@
     /**
      * Sets the value of the exception property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link MsoExceptionCategory }
-     *     
+     * @param value allowed object is {@link MsoExceptionCategory }
+     * 
      */
     public void setException(MsoExceptionCategory value) {
         this.exception = value;
@@ -166,10 +151,8 @@
     /**
      * Gets the value of the errorMessage property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getErrorMessage() {
         return errorMessage;
@@ -178,10 +161,8 @@
     /**
      * Sets the value of the errorMessage property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setErrorMessage(String value) {
         this.errorMessage = value;
@@ -190,10 +171,8 @@
     /**
      * Gets the value of the vnfExists property.
      * 
-     * @return
-     *     possible object is
-     *     {@link Boolean }
-     *     
+     * @return possible object is {@link Boolean }
+     * 
      */
     public Boolean isVnfExists() {
         return vnfExists;
@@ -202,10 +181,8 @@
     /**
      * Sets the value of the vnfExists property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link Boolean }
-     *     
+     * @param value allowed object is {@link Boolean }
+     * 
      */
     public void setVnfExists(Boolean value) {
         this.vnfExists = value;
@@ -214,10 +191,8 @@
     /**
      * Gets the value of the vnfId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getVnfId() {
         return vnfId;
@@ -226,10 +201,8 @@
     /**
      * Sets the value of the vnfId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setVnfId(String value) {
         this.vnfId = value;
@@ -238,10 +211,8 @@
     /**
      * Gets the value of the status property.
      * 
-     * @return
-     *     possible object is
-     *     {@link VnfStatus }
-     *     
+     * @return possible object is {@link VnfStatus }
+     * 
      */
     public VnfStatus getStatus() {
         return status;
@@ -250,10 +221,8 @@
     /**
      * Sets the value of the status property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link VnfStatus }
-     *     
+     * @param value allowed object is {@link VnfStatus }
+     * 
      */
     public void setStatus(VnfStatus value) {
         this.status = value;
@@ -262,10 +231,8 @@
     /**
      * Gets the value of the outputs property.
      * 
-     * @return
-     *     possible object is
-     *     {@link QueryVnfNotification.Outputs }
-     *     
+     * @return possible object is {@link QueryVnfNotification.Outputs }
+     * 
      */
     public QueryVnfNotification.Outputs getOutputs() {
         return outputs;
@@ -274,10 +241,8 @@
     /**
      * Sets the value of the outputs property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link QueryVnfNotification.Outputs }
-     *     
+     * @param value allowed object is {@link QueryVnfNotification.Outputs }
+     * 
      */
     public void setOutputs(QueryVnfNotification.Outputs value) {
         this.outputs = value;
@@ -285,9 +250,11 @@
 
 
     /**
-     * <p>Java class for anonymous complex type.
+     * <p>
+     * Java class for anonymous complex type.
      * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * <p>
+     * The following schema fragment specifies the expected content contained within this class.
      * 
      * <pre>
      * &lt;complexType>
@@ -315,9 +282,7 @@
      * 
      */
     @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "entry"
-    })
+    @XmlType(name = "", propOrder = {"entry"})
     public static class Outputs {
 
         protected List<QueryVnfNotification.Outputs.Entry> entry;
@@ -326,21 +291,20 @@
          * Gets the value of the entry property.
          * 
          * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the entry property.
+         * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you
+         * make to the returned list will be present inside the JAXB object. This is why there is not a <CODE>set</CODE>
+         * method for the entry property.
          * 
          * <p>
          * For example, to add a new item, do as follows:
+         * 
          * <pre>
-         *    getEntry().add(newItem);
+         * getEntry().add(newItem);
          * </pre>
          * 
          * 
          * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link QueryVnfNotification.Outputs.Entry }
+         * Objects of the following type(s) are allowed in the list {@link QueryVnfNotification.Outputs.Entry }
          * 
          * 
          */
@@ -350,26 +314,28 @@
             }
             return this.entry;
         }
-        
+
         // Not a generated method
         public String toString() {
-        	StringBuilder out = new StringBuilder();
-        	out.append("<outputs>\n");
-        	if (entry != null) {
-        		for (Entry e : entry) {
-        			out.append(e.toString());
-        			out.append('\n');
-        		}
-        	}
-        	out.append("</outputs>");
-        	return out.toString();
+            StringBuilder out = new StringBuilder();
+            out.append("<outputs>\n");
+            if (entry != null) {
+                for (Entry e : entry) {
+                    out.append(e.toString());
+                    out.append('\n');
+                }
+            }
+            out.append("</outputs>");
+            return out.toString();
         }
 
 
         /**
-         * <p>Java class for anonymous complex type.
+         * <p>
+         * Java class for anonymous complex type.
          * 
-         * <p>The following schema fragment specifies the expected content contained within this class.
+         * <p>
+         * The following schema fragment specifies the expected content contained within this class.
          * 
          * <pre>
          * &lt;complexType>
@@ -387,10 +353,7 @@
          * 
          */
         @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "", propOrder = {
-            "key",
-            "value"
-        })
+        @XmlType(name = "", propOrder = {"key", "value"})
         public static class Entry {
 
             protected String key;
@@ -399,10 +362,8 @@
             /**
              * Gets the value of the key property.
              * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
+             * @return possible object is {@link String }
+             * 
              */
             public String getKey() {
                 return key;
@@ -411,10 +372,8 @@
             /**
              * Sets the value of the key property.
              * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
+             * @param value allowed object is {@link String }
+             * 
              */
             public void setKey(String value) {
                 this.key = value;
@@ -423,10 +382,8 @@
             /**
              * Gets the value of the value property.
              * 
-             * @return
-             *     possible object is
-             *     {@link String }
-             *     
+             * @return possible object is {@link String }
+             * 
              */
             public String getValue() {
                 return value;
@@ -435,54 +392,44 @@
             /**
              * Sets the value of the value property.
              * 
-             * @param value
-             *     allowed object is
-             *     {@link String }
-             *     
+             * @param value allowed object is {@link String }
+             * 
              */
             public void setValue(String value) {
                 this.value = value;
             }
-            
+
             // Not a generated method
             public String toString() {
-            	String entry = "";
-            		entry =
-               "<entry>"+ '\n' +
-    	       "   <key>"+key+"</key>" + '\n' +
-    	       "   <value>"+value+"</value>" + '\n' +
-    	       "</entry>";
-            	return entry; 
+                String entry = "";
+                entry = "<entry>" + '\n' + "   <key>" + key + "</key>" + '\n' + "   <value>" + value + "</value>" + '\n'
+                        + "</entry>";
+                return entry;
             }
 
         }
 
     }
-    
- // Not a generated method
- 	public String toString() {
-     	String queryVnfNotification = "";
-     	if (exception==null) {
-     		queryVnfNotification = "<ns2:queryVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
-     				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
-     				       "   <messageId>"+messageId+"</messageId>" + '\n' +
-     				       "   <completed>"+completed+"</completed>" + '\n' +
-     				       "   <vnfExists>"+vnfExists+"</vnfExists>" + '\n' +
-     				       "   <vnfId>"+vnfId+"</vnfId>" + '\n' +
-     				       "   <status>"+status+"</status>" + '\n' +
-     				       (outputs == null ? "" : outputs.toString() + '\n') +     				      
-     				       "</ns2:queryVnfNotification>";
-     	} else {
-     		queryVnfNotification = "<ns2:queryVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
- 				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
- 				       "   <messageId>"+messageId+"</messageId>" + '\n' +
- 				       "   <completed>"+completed+"</completed>" + '\n' +
-     				       (outputs == null ? "" : outputs.toString() + '\n') +
-     				   "   <exception>"+exception+"</exception>" + '\n' +
-     				   "   <errorMessage>"+errorMessage+"</errorMessage>" + '\n' +
- 				       "</ns2:queryVnfNotification>";
-     	}
-     	return queryVnfNotification;
-    	}    
+
+    // Not a generated method
+    public String toString() {
+        String queryVnfNotification = "";
+        if (exception == null) {
+            queryVnfNotification = "<ns2:queryVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + "   <vnfExists>" + vnfExists + "</vnfExists>" + '\n' + "   <vnfId>" + vnfId + "</vnfId>" + '\n'
+                    + "   <status>" + status + "</status>" + '\n' + (outputs == null ? "" : outputs.toString() + '\n')
+                    + "</ns2:queryVnfNotification>";
+        } else {
+            queryVnfNotification = "<ns2:queryVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + (outputs == null ? "" : outputs.toString() + '\n') + "   <exception>" + exception + "</exception>"
+                    + '\n' + "   <errorMessage>" + errorMessage + "</errorMessage>" + '\n'
+                    + "</ns2:queryVnfNotification>";
+        }
+        return queryVnfNotification;
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/RollbackVnfNotification.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/RollbackVnfNotification.java
index 6b143a2..70e8199 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/RollbackVnfNotification.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/RollbackVnfNotification.java
@@ -27,9 +27,11 @@
 
 
 /**
- * <p>Java class for rollbackVnfNotification complex type.
+ * <p>
+ * Java class for rollbackVnfNotification complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType name="rollbackVnfNotification">
@@ -49,12 +51,7 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "rollbackVnfNotification1", propOrder = {
-    "messageId",
-    "completed",
-    "exception",
-    "errorMessage"
-})
+@XmlType(name = "rollbackVnfNotification1", propOrder = {"messageId", "completed", "exception", "errorMessage"})
 public class RollbackVnfNotification {
 
     @XmlElement(required = true)
@@ -66,10 +63,8 @@
     /**
      * Gets the value of the messageId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getMessageId() {
         return messageId;
@@ -78,10 +73,8 @@
     /**
      * Sets the value of the messageId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setMessageId(String value) {
         this.messageId = value;
@@ -106,10 +99,8 @@
     /**
      * Gets the value of the exception property.
      * 
-     * @return
-     *     possible object is
-     *     {@link MsoExceptionCategory }
-     *     
+     * @return possible object is {@link MsoExceptionCategory }
+     * 
      */
     public MsoExceptionCategory getException() {
         return exception;
@@ -118,10 +109,8 @@
     /**
      * Sets the value of the exception property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link MsoExceptionCategory }
-     *     
+     * @param value allowed object is {@link MsoExceptionCategory }
+     * 
      */
     public void setException(MsoExceptionCategory value) {
         this.exception = value;
@@ -130,10 +119,8 @@
     /**
      * Gets the value of the errorMessage property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getErrorMessage() {
         return errorMessage;
@@ -142,34 +129,29 @@
     /**
      * Sets the value of the errorMessage property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setErrorMessage(String value) {
         this.errorMessage = value;
     }
-    
+
     public String toString() {
-    	String rollbackVnfNotification = "";
-    	if (exception==null) {
-    		rollbackVnfNotification = "<ns2:rollbackVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
-    				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
-    				       "   <messageId>"+messageId+"</messageId>" + '\n' +
-    				       "   <completed>"+completed+"</completed>" + '\n' +
-    				       "</ns2:rollbackVnfNotification>";
-    	} else {
-    		rollbackVnfNotification = "<ns2:rollbackVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
-				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
-				       "   <messageId>"+messageId+"</messageId>" + '\n' +
-				       "   <completed>"+completed+"</completed>" + '\n' +
-    				   "   <exception>"+exception+"</exception>" + '\n' +
-    				   "   <errorMessage>"+errorMessage+"</errorMessage>" + '\n' +
-				       "</ns2:rollbackVnfNotification>";
-    	}
-    	return rollbackVnfNotification;
+        String rollbackVnfNotification = "";
+        if (exception == null) {
+            rollbackVnfNotification = "<ns2:rollbackVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + "</ns2:rollbackVnfNotification>";
+        } else {
+            rollbackVnfNotification = "<ns2:rollbackVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + "   <exception>" + exception + "</exception>" + '\n' + "   <errorMessage>" + errorMessage
+                    + "</errorMessage>" + '\n' + "</ns2:rollbackVnfNotification>";
+        }
+        return rollbackVnfNotification;
 
     }
-    
- }
+
+}
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/UpdateVnfNotification.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/UpdateVnfNotification.java
index b89135b..dd86f34 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/UpdateVnfNotification.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/UpdateVnfNotification.java
@@ -22,7 +22,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
@@ -30,9 +29,11 @@
 
 
 /**
- * <p>Java class for updateVnfNotification complex type.
+ * <p>
+ * Java class for updateVnfNotification complex type.
  *
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  *
  * <pre>
  * &lt;complexType name="updateVnfNotification">
@@ -75,14 +76,8 @@
  *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "updateVnfNotification1", propOrder = {
-    "messageId",
-    "completed",
-    "exception",
-    "errorMessage",
-    "outputs",
-    "rollback"
-})
+@XmlType(name = "updateVnfNotification1",
+        propOrder = {"messageId", "completed", "exception", "errorMessage", "outputs", "rollback"})
 public class UpdateVnfNotification {
 
     @XmlElement(required = true)
@@ -96,9 +91,7 @@
     /**
      * Gets the value of the messageId property.
      *
-     * @return
-     *     possible object is
-     *     {@link String }
+     * @return possible object is {@link String }
      *
      */
     public String getMessageId() {
@@ -108,9 +101,7 @@
     /**
      * Sets the value of the messageId property.
      *
-     * @param value
-     *     allowed object is
-     *     {@link String }
+     * @param value allowed object is {@link String }
      *
      */
     public void setMessageId(String value) {
@@ -136,9 +127,7 @@
     /**
      * Gets the value of the exception property.
      *
-     * @return
-     *     possible object is
-     *     {@link MsoExceptionCategory }
+     * @return possible object is {@link MsoExceptionCategory }
      *
      */
     public MsoExceptionCategory getException() {
@@ -148,9 +137,7 @@
     /**
      * Sets the value of the exception property.
      *
-     * @param value
-     *     allowed object is
-     *     {@link MsoExceptionCategory }
+     * @param value allowed object is {@link MsoExceptionCategory }
      *
      */
     public void setException(MsoExceptionCategory value) {
@@ -160,9 +147,7 @@
     /**
      * Gets the value of the errorMessage property.
      *
-     * @return
-     *     possible object is
-     *     {@link String }
+     * @return possible object is {@link String }
      *
      */
     public String getErrorMessage() {
@@ -172,9 +157,7 @@
     /**
      * Sets the value of the errorMessage property.
      *
-     * @param value
-     *     allowed object is
-     *     {@link String }
+     * @param value allowed object is {@link String }
      *
      */
     public void setErrorMessage(String value) {
@@ -184,9 +167,7 @@
     /**
      * Gets the value of the outputs property.
      *
-     * @return
-     *     possible object is
-     *     {@link UpdateVnfNotification.Outputs }
+     * @return possible object is {@link UpdateVnfNotification.Outputs }
      *
      */
     public UpdateVnfNotification.Outputs getOutputs() {
@@ -196,9 +177,7 @@
     /**
      * Sets the value of the outputs property.
      *
-     * @param value
-     *     allowed object is
-     *     {@link UpdateVnfNotification.Outputs }
+     * @param value allowed object is {@link UpdateVnfNotification.Outputs }
      *
      */
     public void setOutputs(UpdateVnfNotification.Outputs value) {
@@ -208,9 +187,7 @@
     /**
      * Gets the value of the rollback property.
      *
-     * @return
-     *     possible object is
-     *     {@link VnfRollback }
+     * @return possible object is {@link VnfRollback }
      *
      */
     public VnfRollback getRollback() {
@@ -220,9 +197,7 @@
     /**
      * Sets the value of the rollback property.
      *
-     * @param value
-     *     allowed object is
-     *     {@link VnfRollback }
+     * @param value allowed object is {@link VnfRollback }
      *
      */
     public void setRollback(VnfRollback value) {
@@ -231,9 +206,11 @@
 
 
     /**
-     * <p>Java class for anonymous complex type.
+     * <p>
+     * Java class for anonymous complex type.
      *
-     * <p>The following schema fragment specifies the expected content contained within this class.
+     * <p>
+     * The following schema fragment specifies the expected content contained within this class.
      *
      * <pre>
      * &lt;complexType>
@@ -261,9 +238,7 @@
      *
      */
     @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "entry"
-    })
+    @XmlType(name = "", propOrder = {"entry"})
     public static class Outputs {
 
         protected List<UpdateVnfNotification.Outputs.Entry> entry;
@@ -272,21 +247,20 @@
          * Gets the value of the entry property.
          *
          * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the entry property.
+         * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you
+         * make to the returned list will be present inside the JAXB object. This is why there is not a <CODE>set</CODE>
+         * method for the entry property.
          *
          * <p>
          * For example, to add a new item, do as follows:
+         * 
          * <pre>
-         *    getEntry().add(newItem);
+         * getEntry().add(newItem);
          * </pre>
          *
          *
          * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link UpdateVnfNotification.Outputs.Entry }
+         * Objects of the following type(s) are allowed in the list {@link UpdateVnfNotification.Outputs.Entry }
          *
          *
          */
@@ -299,9 +273,11 @@
 
 
         /**
-         * <p>Java class for anonymous complex type.
+         * <p>
+         * Java class for anonymous complex type.
          *
-         * <p>The following schema fragment specifies the expected content contained within this class.
+         * <p>
+         * The following schema fragment specifies the expected content contained within this class.
          *
          * <pre>
          * &lt;complexType>
@@ -319,10 +295,7 @@
          *
          */
         @XmlAccessorType(XmlAccessType.FIELD)
-        @XmlType(name = "", propOrder = {
-            "key",
-            "value"
-        })
+        @XmlType(name = "", propOrder = {"key", "value"})
         public static class Entry {
 
             protected String key;
@@ -331,9 +304,7 @@
             /**
              * Gets the value of the key property.
              *
-             * @return
-             *     possible object is
-             *     {@link String }
+             * @return possible object is {@link String }
              *
              */
             public String getKey() {
@@ -343,9 +314,7 @@
             /**
              * Sets the value of the key property.
              *
-             * @param value
-             *     allowed object is
-             *     {@link String }
+             * @param value allowed object is {@link String }
              *
              */
             public void setKey(String value) {
@@ -355,9 +324,7 @@
             /**
              * Gets the value of the value property.
              *
-             * @return
-             *     possible object is
-             *     {@link String }
+             * @return possible object is {@link String }
              *
              */
             public String getValue() {
@@ -367,9 +334,7 @@
             /**
              * Sets the value of the value property.
              *
-             * @param value
-             *     allowed object is
-             *     {@link String }
+             * @param value allowed object is {@link String }
              *
              */
             public void setValue(String value) {
@@ -377,36 +342,30 @@
             }
 
             public String toString() {
-            	String entry = "";
-            		entry =
-    	       "   <key>"+key+"</key>" + '\n' +
-    	       "   <value>"+value+"</value>";
-            	return entry;
+                String entry = "";
+                entry = "   <key>" + key + "</key>" + '\n' + "   <value>" + value + "</value>";
+                return entry;
             }
         }
 
     }
 
-    public String toString(){
-    	String updateVnfNotification = "";
-    	if (exception==null) {
-    		updateVnfNotification = "<ns2:updateVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
-    				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
-    				       "   <messageId>"+messageId+"</messageId>" + '\n' +
-    				       "   <completed>"+completed+"</completed>" + '\n' +
-    				       "   <rollback>"+rollback+"</rollback>" + '\n' +
-    				       "</ns2:updateVnfNotification>";
-    	} else {
-    		updateVnfNotification = "<ns2:updateVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n' +
-				       "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' +
-				       "   <messageId>"+messageId+"</messageId>" + '\n' +
-				       "   <completed>"+completed+"</completed>" + '\n' +
-    				   "   <exception>"+exception+"</exception>" + '\n' +
-    				   "   <errorMessage>"+errorMessage+"</errorMessage>" + '\n' +
-				       "</ns2:updateVnfNotification>";
-    	}
+    public String toString() {
+        String updateVnfNotification = "";
+        if (exception == null) {
+            updateVnfNotification = "<ns2:updateVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + "   <rollback>" + rollback + "</rollback>" + '\n' + "</ns2:updateVnfNotification>";
+        } else {
+            updateVnfNotification = "<ns2:updateVnfNotification xmlns:ns2=\"http://org.onap.so/vnfNotify\"" + '\n'
+                    + "  xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + '\n' + "   <messageId>"
+                    + messageId + "</messageId>" + '\n' + "   <completed>" + completed + "</completed>" + '\n'
+                    + "   <exception>" + exception + "</exception>" + '\n' + "   <errorMessage>" + errorMessage
+                    + "</errorMessage>" + '\n' + "</ns2:updateVnfNotification>";
+        }
 
-    	return updateVnfNotification;
+        return updateVnfNotification;
     }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfAdapterNotify.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfAdapterNotify.java
index adedca9..1390b82 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfAdapterNotify.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfAdapterNotify.java
@@ -30,15 +30,11 @@
 
 
 /**
- * This class was generated by the JAX-WS RI.
- * JAX-WS RI 2.2.8
- * Generated source version: 2.2
+ * This class was generated by the JAX-WS RI. JAX-WS RI 2.2.8 Generated source version: 2.2
  * 
  */
 @WebService(name = "vnfAdapterNotify", targetNamespace = "http://org.onap.so/vnfNotify")
-@XmlSeeAlso({
-    ObjectFactory.class
-})
+@XmlSeeAlso({ObjectFactory.class})
 public interface VnfAdapterNotify {
 
 
@@ -51,17 +47,13 @@
      */
     @WebMethod
     @Oneway
-    @RequestWrapper(localName = "rollbackVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.RollbackVnfNotification")
+    @RequestWrapper(localName = "rollbackVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.RollbackVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/rollbackVnfNotificationRequest")
-    public void rollbackVnfNotification(
-        @WebParam(name = "messageId", targetNamespace = "")
-        String messageId,
-        @WebParam(name = "completed", targetNamespace = "")
-        boolean completed,
-        @WebParam(name = "exception", targetNamespace = "")
-        MsoExceptionCategory exception,
-        @WebParam(name = "errorMessage", targetNamespace = "")
-        String errorMessage);
+    public void rollbackVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage);
 
     /**
      * 
@@ -76,25 +68,17 @@
      */
     @WebMethod
     @Oneway
-    @RequestWrapper(localName = "queryVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.QueryVnfNotification")
+    @RequestWrapper(localName = "queryVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.QueryVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/queryVnfNotificationRequest")
-    public void queryVnfNotification(
-        @WebParam(name = "messageId", targetNamespace = "")
-        String messageId,
-        @WebParam(name = "completed", targetNamespace = "")
-        boolean completed,
-        @WebParam(name = "exception", targetNamespace = "")
-        MsoExceptionCategory exception,
-        @WebParam(name = "errorMessage", targetNamespace = "")
-        String errorMessage,
-        @WebParam(name = "vnfExists", targetNamespace = "")
-        Boolean vnfExists,
-        @WebParam(name = "vnfId", targetNamespace = "")
-        String vnfId,
-        @WebParam(name = "status", targetNamespace = "")
-        VnfStatus status,
-        @WebParam(name = "outputs", targetNamespace = "")
-        org.onap.so.bpmn.common.adapter.vnf.QueryVnfNotification.Outputs outputs);
+    public void queryVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage,
+            @WebParam(name = "vnfExists", targetNamespace = "") Boolean vnfExists,
+            @WebParam(name = "vnfId", targetNamespace = "") String vnfId,
+            @WebParam(name = "status", targetNamespace = "") VnfStatus status, @WebParam(name = "outputs",
+                    targetNamespace = "") org.onap.so.bpmn.common.adapter.vnf.QueryVnfNotification.Outputs outputs);
 
     /**
      * 
@@ -108,23 +92,17 @@
      */
     @WebMethod
     @Oneway
-    @RequestWrapper(localName = "createVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.CreateVnfNotification")
+    @RequestWrapper(localName = "createVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.CreateVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/createVnfNotificationRequest")
-    public void createVnfNotification(
-        @WebParam(name = "messageId", targetNamespace = "")
-        String messageId,
-        @WebParam(name = "completed", targetNamespace = "")
-        boolean completed,
-        @WebParam(name = "exception", targetNamespace = "")
-        MsoExceptionCategory exception,
-        @WebParam(name = "errorMessage", targetNamespace = "")
-        String errorMessage,
-        @WebParam(name = "vnfId", targetNamespace = "")
-        String vnfId,
-        @WebParam(name = "outputs", targetNamespace = "")
-        org.onap.so.bpmn.common.adapter.vnf.CreateVnfNotification.Outputs outputs,
-        @WebParam(name = "rollback", targetNamespace = "")
-        VnfRollback rollback);
+    public void createVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage,
+            @WebParam(name = "vnfId", targetNamespace = "") String vnfId,
+            @WebParam(name = "outputs",
+                    targetNamespace = "") org.onap.so.bpmn.common.adapter.vnf.CreateVnfNotification.Outputs outputs,
+            @WebParam(name = "rollback", targetNamespace = "") VnfRollback rollback);
 
     /**
      * 
@@ -137,21 +115,16 @@
      */
     @WebMethod
     @Oneway
-    @RequestWrapper(localName = "updateVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.UpdateVnfNotification")
+    @RequestWrapper(localName = "updateVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.UpdateVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/updateVnfNotificationRequest")
-    public void updateVnfNotification(
-        @WebParam(name = "messageId", targetNamespace = "")
-        String messageId,
-        @WebParam(name = "completed", targetNamespace = "")
-        boolean completed,
-        @WebParam(name = "exception", targetNamespace = "")
-        MsoExceptionCategory exception,
-        @WebParam(name = "errorMessage", targetNamespace = "")
-        String errorMessage,
-        @WebParam(name = "outputs", targetNamespace = "")
-        org.onap.so.bpmn.common.adapter.vnf.UpdateVnfNotification.Outputs outputs,
-        @WebParam(name = "rollback", targetNamespace = "")
-        VnfRollback rollback);
+    public void updateVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage,
+            @WebParam(name = "outputs",
+                    targetNamespace = "") org.onap.so.bpmn.common.adapter.vnf.UpdateVnfNotification.Outputs outputs,
+            @WebParam(name = "rollback", targetNamespace = "") VnfRollback rollback);
 
     /**
      * 
@@ -162,16 +135,12 @@
      */
     @WebMethod
     @Oneway
-    @RequestWrapper(localName = "deleteVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.DeleteVnfNotification")
+    @RequestWrapper(localName = "deleteVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.DeleteVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/deleteVnfNotificationRequest")
-    public void deleteVnfNotification(
-        @WebParam(name = "messageId", targetNamespace = "")
-        String messageId,
-        @WebParam(name = "completed", targetNamespace = "")
-        boolean completed,
-        @WebParam(name = "exception", targetNamespace = "")
-        MsoExceptionCategory exception,
-        @WebParam(name = "errorMessage", targetNamespace = "")
-        String errorMessage);
+    public void deleteVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage);
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfAdapterNotify_Service.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfAdapterNotify_Service.java
index 667545d..531b6d5 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfAdapterNotify_Service.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfAdapterNotify_Service.java
@@ -30,24 +30,24 @@
 
 
 /**
- * This class was generated by the JAX-WS RI.
- * JAX-WS RI 2.2.8
- * Generated source version: 2.2
+ * This class was generated by the JAX-WS RI. JAX-WS RI 2.2.8 Generated source version: 2.2
  * 
  */
-@WebServiceClient(name = "vnfAdapterNotify", targetNamespace = "http://org.onap.so/vnfNotify", wsdlLocation = "/VnfAdapterNotify.wsdl")
-public class VnfAdapterNotify_Service extends Service
-{
+@WebServiceClient(name = "vnfAdapterNotify", targetNamespace = "http://org.onap.so/vnfNotify",
+        wsdlLocation = "/VnfAdapterNotify.wsdl")
+public class VnfAdapterNotify_Service extends Service {
 
     private final static URL VNFADAPTERNOTIFY_WSDL_LOCATION;
     private final static WebServiceException VNFADAPTERNOTIFY_EXCEPTION;
     private final static QName VNFADAPTERNOTIFY_QNAME = new QName("http://org.onap.so/vnfNotify", "vnfAdapterNotify");
 
     static {
-        VNFADAPTERNOTIFY_WSDL_LOCATION = org.onap.so.bpmn.common.adapter.vnf.VnfAdapterNotify_Service.class.getResource("/VnfAdapterNotify.wsdl");
+        VNFADAPTERNOTIFY_WSDL_LOCATION = org.onap.so.bpmn.common.adapter.vnf.VnfAdapterNotify_Service.class
+                .getResource("/VnfAdapterNotify.wsdl");
         WebServiceException e = null;
         if (VNFADAPTERNOTIFY_WSDL_LOCATION == null) {
-            e = new WebServiceException("Cannot find '/VnfAdapterNotify.wsdl' wsdl. Place the resource correctly in the classpath.");
+            e = new WebServiceException(
+                    "Cannot find '/VnfAdapterNotify.wsdl' wsdl. Place the resource correctly in the classpath.");
         }
         VNFADAPTERNOTIFY_EXCEPTION = e;
     }
@@ -78,28 +78,28 @@
 
     /**
      * 
-     * @return
-     *     returns VnfAdapterNotify
+     * @return returns VnfAdapterNotify
      */
     @WebEndpoint(name = "MsoVnfAdapterAsyncImplPort")
     public VnfAdapterNotify getMsoVnfAdapterAsyncImplPort() {
-        return super.getPort(new QName("http://org.onap.so/vnfNotify", "MsoVnfAdapterAsyncImplPort"), VnfAdapterNotify.class);
+        return super.getPort(new QName("http://org.onap.so/vnfNotify", "MsoVnfAdapterAsyncImplPort"),
+                VnfAdapterNotify.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 VnfAdapterNotify
+     * @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 VnfAdapterNotify
      */
     @WebEndpoint(name = "MsoVnfAdapterAsyncImplPort")
     public VnfAdapterNotify getMsoVnfAdapterAsyncImplPort(WebServiceFeature... features) {
-        return super.getPort(new QName("http://org.onap.so/vnfNotify", "MsoVnfAdapterAsyncImplPort"), VnfAdapterNotify.class, features);
+        return super.getPort(new QName("http://org.onap.so/vnfNotify", "MsoVnfAdapterAsyncImplPort"),
+                VnfAdapterNotify.class, features);
     }
 
     private static URL __getWsdlLocation() {
-        if (VNFADAPTERNOTIFY_EXCEPTION!= null) {
+        if (VNFADAPTERNOTIFY_EXCEPTION != null) {
             throw VNFADAPTERNOTIFY_EXCEPTION;
         }
         return VNFADAPTERNOTIFY_WSDL_LOCATION;
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfRollback.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfRollback.java
index 9fd3bc5..1e02c0d 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfRollback.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfRollback.java
@@ -26,9 +26,11 @@
 
 
 /**
- * <p>Java class for vnfRollback complex type.
+ * <p>
+ * Java class for vnfRollback complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
  * &lt;complexType name="vnfRollback">
@@ -51,15 +53,8 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "vnfRollback", propOrder = {
-    "cloudSiteId",
-    "cloudOwner",
-    "msoRequest",
-    "tenantCreated",
-    "tenantId",
-    "vnfCreated",
-    "vnfId"
-})
+@XmlType(name = "vnfRollback",
+        propOrder = {"cloudSiteId", "cloudOwner", "msoRequest", "tenantCreated", "tenantId", "vnfCreated", "vnfId"})
 public class VnfRollback {
 
     protected String cloudSiteId;
@@ -73,10 +68,8 @@
     /**
      * Gets the value of the cloudSiteId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getCloudSiteId() {
         return cloudSiteId;
@@ -85,10 +78,8 @@
     /**
      * Sets the value of the cloudSiteId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setCloudSiteId(String value) {
         this.cloudSiteId = value;
@@ -97,10 +88,8 @@
     /**
      * Gets the value of the cloudOwner property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getCloudOwner() {
         return cloudOwner;
@@ -109,10 +98,8 @@
     /**
      * Sets the value of the cloudOwner property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setCloudOwner(String value) {
         this.cloudOwner = value;
@@ -121,10 +108,8 @@
     /**
      * Gets the value of the msoRequest property.
      * 
-     * @return
-     *     possible object is
-     *     {@link MsoRequest }
-     *     
+     * @return possible object is {@link MsoRequest }
+     * 
      */
     public MsoRequest getMsoRequest() {
         return msoRequest;
@@ -133,10 +118,8 @@
     /**
      * Sets the value of the msoRequest property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link MsoRequest }
-     *     
+     * @param value allowed object is {@link MsoRequest }
+     * 
      */
     public void setMsoRequest(MsoRequest value) {
         this.msoRequest = value;
@@ -161,10 +144,8 @@
     /**
      * Gets the value of the tenantId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getTenantId() {
         return tenantId;
@@ -173,10 +154,8 @@
     /**
      * Sets the value of the tenantId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setTenantId(String value) {
         this.tenantId = value;
@@ -201,10 +180,8 @@
     /**
      * Gets the value of the vnfId property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     * @return possible object is {@link String }
+     * 
      */
     public String getVnfId() {
         return vnfId;
@@ -213,26 +190,19 @@
     /**
      * Sets the value of the vnfId property.
      * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     * @param value allowed object is {@link String }
+     * 
      */
     public void setVnfId(String value) {
         this.vnfId = value;
     }
-    
-    public String toString() {
-    	String msoRequestElement = msoRequest == null ? ""
-        		: "<msoRequest>"+msoRequest+"</msoRequest>" + '\n';
 
-        	return
-        		"<cloudSiteId>"+cloudSiteId+"</cloudSiteId>" + '\n' +
-        		"<cloudOwner>"+cloudOwner+"</cloudOwner>" + '\n' +
-        		msoRequestElement +
-        		"<tenantCreated>"+tenantCreated+"</tenantCreated>" + '\n' +
-        		"<tenantId>"+tenantId+"</tenantId>" + '\n' +
-        		"<vnfCreated>"+vnfCreated+"</vnfCreated>" + '\n' +
-        		"<vnfId>"+vnfId+"</vnfId>";
+    public String toString() {
+        String msoRequestElement = msoRequest == null ? "" : "<msoRequest>" + msoRequest + "</msoRequest>" + '\n';
+
+        return "<cloudSiteId>" + cloudSiteId + "</cloudSiteId>" + '\n' + "<cloudOwner>" + cloudOwner + "</cloudOwner>"
+                + '\n' + msoRequestElement + "<tenantCreated>" + tenantCreated + "</tenantCreated>" + '\n'
+                + "<tenantId>" + tenantId + "</tenantId>" + '\n' + "<vnfCreated>" + vnfCreated + "</vnfCreated>" + '\n'
+                + "<vnfId>" + vnfId + "</vnfId>";
     }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfStatus.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfStatus.java
index d093f79..007b5ab 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfStatus.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/adapter/vnf/VnfStatus.java
@@ -25,10 +25,13 @@
 
 
 /**
- * <p>Java class for vnfStatus.
- * 
- * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
+ * Java class for vnfStatus.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * 
  * <pre>
  * &lt;simpleType name="vnfStatus">
  *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -45,10 +48,7 @@
 @XmlEnum
 public enum VnfStatus {
 
-    ACTIVE,
-    FAILED,
-    NOTFOUND,
-    UNKNOWN;
+    ACTIVE, FAILED, NOTFOUND, UNKNOWN;
 
     public String value() {
         return name();
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/CallbackHandlerService.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/CallbackHandlerService.java
index 46a6fa3..7c0c2f2 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/CallbackHandlerService.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/CallbackHandlerService.java
@@ -26,7 +26,6 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
 import org.camunda.bpm.engine.MismatchingMessageCorrelationException;
 import org.camunda.bpm.engine.OptimisticLockingException;
 import org.camunda.bpm.engine.RuntimeService;
@@ -46,372 +45,354 @@
  */
 @Service
 public class CallbackHandlerService {
-	public static final long DEFAULT_TIMEOUT_SECONDS = 60;
-	public static final long FAST_POLL_DUR_SECONDS = 5;
-	public static final long FAST_POLL_INT_MS = 100;
-	public static final long SLOW_POLL_INT_MS = 1000;
+    public static final long DEFAULT_TIMEOUT_SECONDS = 60;
+    public static final long FAST_POLL_DUR_SECONDS = 5;
+    public static final long FAST_POLL_INT_MS = 100;
+    public static final long SLOW_POLL_INT_MS = 1000;
 
-	private static final Logger logger = LoggerFactory.getLogger(CallbackHandlerService.class);
+    private static final Logger logger = LoggerFactory.getLogger(CallbackHandlerService.class);
 
-	private RuntimeService runtimeService;
+    private RuntimeService runtimeService;
 
-	@Autowired
-	public CallbackHandlerService(RuntimeService runtimeService) {
-		this.runtimeService = runtimeService;
-	}
+    @Autowired
+    public CallbackHandlerService(RuntimeService runtimeService) {
+        this.runtimeService = runtimeService;
+    }
 
-	/**
-	 * Parameterized callback handler.
-	 */
-	@Async
-	protected CallbackResult handleCallback(String method, Object message,
-			String messageEventName, String messageVariable,
-			String correlationVariable, String correlationValue,
-			String logMarker) {
+    /**
+     * Parameterized callback handler.
+     */
+    @Async
+    protected CallbackResult handleCallback(String method, Object message, String messageEventName,
+            String messageVariable, String correlationVariable, String correlationValue, String logMarker) {
 
-		return handleCallback(method, message, messageEventName, messageVariable,
-			correlationVariable, correlationValue, logMarker, null);
-	}
+        return handleCallback(method, message, messageEventName, messageVariable, correlationVariable, correlationValue,
+                logMarker, null);
+    }
 
-	/**
-	 * Parameterized callback handler.
-	 */
-	protected CallbackResult handleCallback(String method, Object message,
-			String messageEventName, String messageVariable,
-			String correlationVariable, String correlationValue,
-			String logMarker, Map<String, Object> injectedVariables) {
+    /**
+     * Parameterized callback handler.
+     */
+    protected CallbackResult handleCallback(String method, Object message, String messageEventName,
+            String messageVariable, String correlationVariable, String correlationValue, String logMarker,
+            Map<String, Object> injectedVariables) {
 
-		long startTime = System.currentTimeMillis();
+        long startTime = System.currentTimeMillis();
 
-		logger.debug(logMarker + " " + method + " received message: "
-			+ (message == null ? "" : System.lineSeparator()) + message);
+        logger.debug(logMarker + " " + method + " received message: " + (message == null ? "" : System.lineSeparator())
+                + message);
 
-		try {
-			Map<String, Object> variables = new HashMap<>();
+        try {
+            Map<String, Object> variables = new HashMap<>();
 
-			if (injectedVariables != null) {
-				variables.putAll(injectedVariables);
-			}
+            if (injectedVariables != null) {
+                variables.putAll(injectedVariables);
+            }
 
-			variables.put(correlationVariable, correlationValue);
-			variables.put(messageVariable, message == null ? null : message.toString());
+            variables.put(correlationVariable, correlationValue);
+            variables.put(messageVariable, message == null ? null : message.toString());
 
-			boolean ok = correlate(messageEventName, correlationVariable,
-				correlationValue, variables, logMarker);
+            boolean ok = correlate(messageEventName, correlationVariable, correlationValue, variables, logMarker);
 
-			if (!ok) {
-				String msg = "No process is waiting for " + messageEventName
-					+ " with " + correlationVariable + " = '" + correlationValue + "'";
-				logCallbackError(method, startTime, msg);
-				return new CallbackError(msg);
-			}
+            if (!ok) {
+                String msg = "No process is waiting for " + messageEventName + " with " + correlationVariable + " = '"
+                        + correlationValue + "'";
+                logCallbackError(method, startTime, msg);
+                return new CallbackError(msg);
+            }
 
-			logCallbackSuccess(method, startTime);
-			return new CallbackSuccess();
-		} catch (Exception e) {
-			logger.debug("Exception :",e);
-			String msg = "Caught " + e.getClass().getSimpleName()
-				+ " processing " + messageEventName + " with " + correlationVariable
-				+ " = '" + correlationValue + "'";
-			logCallbackError(method, startTime, msg);
-			return new CallbackError(msg);
-		}
-	}
-	
-	/**
-	 * Performs message correlation.  Waits a limited amount of time for
-	 * a process to become ready for correlation.  The return value indicates
-	 * whether or not a process was found to receive the message.  Due to the
-	 * synchronous nature of message injection in Camunda, by the time this
-	 * method returns, one of 3 things will have happened: (1) the process
-	 * received the message and ended, (2) the process received the message
-	 * and reached an activity that suspended, or (3) an exception occurred
-	 * during correlation or while the process was executing.  Correlation
-	 * exceptions are handled differently from process execution exceptions.
-	 * Correlation exceptions are thrown so the client knows something went
-	 * wrong with the delivery of the message.  Process execution exceptions
-	 * are logged but not thrown.
-	 * @param messageEventName the message event name
-	 * @param correlationVariable the process variable used as the correlator
-	 * @param correlationValue the correlation value
-	 * @param variables variables to inject into the process
-	 * @param logMarker a marker for debug logging
-	 * @return true if a process could be found, false if not
-	 */
-	protected boolean correlate(String messageEventName, String correlationVariable,
-			String correlationValue, Map<String, Object> variables, String logMarker) {
-	try{
-		logger.debug(logMarker + " Attempting to find process waiting"
-			+ " for " + messageEventName + " with " + correlationVariable
-			+ " = '" + correlationValue + "'");
+            logCallbackSuccess(method, startTime);
+            return new CallbackSuccess();
+        } catch (Exception e) {
+            logger.debug("Exception :", e);
+            String msg = "Caught " + e.getClass().getSimpleName() + " processing " + messageEventName + " with "
+                    + correlationVariable + " = '" + correlationValue + "'";
+            logCallbackError(method, startTime, msg);
+            return new CallbackError(msg);
+        }
+    }
 
-		
+    /**
+     * Performs message correlation. Waits a limited amount of time for a process to become ready for correlation. The
+     * return value indicates whether or not a process was found to receive the message. Due to the synchronous nature
+     * of message injection in Camunda, by the time this method returns, one of 3 things will have happened: (1) the
+     * process received the message and ended, (2) the process received the message and reached an activity that
+     * suspended, or (3) an exception occurred during correlation or while the process was executing. Correlation
+     * exceptions are handled differently from process execution exceptions. Correlation exceptions are thrown so the
+     * client knows something went wrong with the delivery of the message. Process execution exceptions are logged but
+     * not thrown.
+     * 
+     * @param messageEventName the message event name
+     * @param correlationVariable the process variable used as the correlator
+     * @param correlationValue the correlation value
+     * @param variables variables to inject into the process
+     * @param logMarker a marker for debug logging
+     * @return true if a process could be found, false if not
+     */
+    protected boolean correlate(String messageEventName, String correlationVariable, String correlationValue,
+            Map<String, Object> variables, String logMarker) {
+        try {
+            logger.debug(logMarker + " Attempting to find process waiting" + " for " + messageEventName + " with "
+                    + correlationVariable + " = '" + correlationValue + "'");
 
-		long timeout = DEFAULT_TIMEOUT_SECONDS;
 
-		// The code is here in case we ever need to change the default.
-		String correlationTimemout = UrnPropertiesReader.getVariable("mso.correlation.timeout");
-		if (correlationTimemout != null) {
-			try {
-				timeout = Long.parseLong(correlationTimemout);
-			} catch (NumberFormatException e) {
-				// Ignore
-			}
-		}
 
-		long now = System.currentTimeMillis();
-		long fastPollEndTime = now + (FAST_POLL_DUR_SECONDS * 1000);
-		long endTime = now + (timeout * 1000);
-		long sleep = FAST_POLL_INT_MS;
+            long timeout = DEFAULT_TIMEOUT_SECONDS;
 
-		List<Execution> waitingProcesses = null;
-		Exception queryException = null;
-		int queryCount = 0;
-		int queryFailCount = 0;
+            // The code is here in case we ever need to change the default.
+            String correlationTimemout = UrnPropertiesReader.getVariable("mso.correlation.timeout");
+            if (correlationTimemout != null) {
+                try {
+                    timeout = Long.parseLong(correlationTimemout);
+                } catch (NumberFormatException e) {
+                    // Ignore
+                }
+            }
 
-		while (true) {
-			try {
-				++queryCount;
-				waitingProcesses = runtimeService.createExecutionQuery()
-					.messageEventSubscriptionName(messageEventName)
-					.processVariableValueEquals(correlationVariable, correlationValue)
-					.list();
-			} catch (Exception e) {
-				++queryFailCount;
-				queryException = e;
-			}
+            long now = System.currentTimeMillis();
+            long fastPollEndTime = now + (FAST_POLL_DUR_SECONDS * 1000);
+            long endTime = now + (timeout * 1000);
+            long sleep = FAST_POLL_INT_MS;
 
-			if (waitingProcesses != null && waitingProcesses.size() > 0) {
-				break;
-			}
+            List<Execution> waitingProcesses = null;
+            Exception queryException = null;
+            int queryCount = 0;
+            int queryFailCount = 0;
 
-			if (now > endTime - sleep) {
-				break;
-			}
+            while (true) {
+                try {
+                    ++queryCount;
+                    waitingProcesses =
+                            runtimeService.createExecutionQuery().messageEventSubscriptionName(messageEventName)
+                                    .processVariableValueEquals(correlationVariable, correlationValue).list();
+                } catch (Exception e) {
+                    ++queryFailCount;
+                    queryException = e;
+                }
 
-			Thread.sleep(sleep);
-			now = System.currentTimeMillis();
+                if (waitingProcesses != null && waitingProcesses.size() > 0) {
+                    break;
+                }
 
-			if (now > fastPollEndTime) {
-				sleep = SLOW_POLL_INT_MS;
-			}
-		}
+                if (now > endTime - sleep) {
+                    break;
+                }
 
-		if (waitingProcesses == null) {
-			waitingProcesses = new ArrayList<Execution>(0);
-		}
+                Thread.sleep(sleep);
+                now = System.currentTimeMillis();
 
-		int count = waitingProcesses.size();
+                if (now > fastPollEndTime) {
+                    sleep = SLOW_POLL_INT_MS;
+                }
+            }
 
-		List<ExecInfo> execInfoList = new ArrayList<>(count);
-		for (Execution execution : waitingProcesses) {
-			execInfoList.add(new ExecInfo(execution));
-		}
+            if (waitingProcesses == null) {
+                waitingProcesses = new ArrayList<Execution>(0);
+            }
 
-		logger.debug(logMarker + " Found " + count + " process(es) waiting"
-			+ " for " + messageEventName + " with " + correlationVariable
-			+ " = '" + correlationValue + "': " + execInfoList);
+            int count = waitingProcesses.size();
 
-		if (count == 0) {
-			if (queryFailCount > 0) {
-				String msg = queryFailCount + "/" + queryCount
-					+ " execution queries failed attempting to correlate "
-					+ messageEventName + " with " + correlationVariable
-					+ " = '" + correlationValue + "'; last exception was:"
-					+ queryException;
-				logger.debug(msg);
-				logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
-						ErrorCode.UnknownError.getValue(), msg, queryException);
-			}
+            List<ExecInfo> execInfoList = new ArrayList<>(count);
+            for (Execution execution : waitingProcesses) {
+                execInfoList.add(new ExecInfo(execution));
+            }
 
-			return false;
-		}
+            logger.debug(logMarker + " Found " + count + " process(es) waiting" + " for " + messageEventName + " with "
+                    + correlationVariable + " = '" + correlationValue + "': " + execInfoList);
 
-		if (count > 1) {
-			// Only one process should be waiting. Throw an exception back to the client.
-			throw new MismatchingMessageCorrelationException(messageEventName,
-				"more than 1 process is waiting with " + correlationVariable
-				+ " = '" + correlationValue + "'");
-		}
-		
-		// We prototyped an asynchronous solution, i.e. resuming the process
-		// flow in a separate thread, but this affected too many existing tests,
-		// and we went back to the synchronous solution. The synchronous solution
-		// has some troublesome characteristics though.  For example, the
-		// resumed flow may send request #2 to a remote system before MSO has
-		// acknowledged the notification associated with request #1.  
+            if (count == 0) {
+                if (queryFailCount > 0) {
+                    String msg =
+                            queryFailCount + "/" + queryCount + " execution queries failed attempting to correlate "
+                                    + messageEventName + " with " + correlationVariable + " = '" + correlationValue
+                                    + "'; last exception was:" + queryException;
+                    logger.debug(msg);
+                    logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
+                            ErrorCode.UnknownError.getValue(), msg, queryException);
+                }
 
-		try {
-			logger.debug(logMarker + " Running " + execInfoList.get(0) + " to receive "
-				+ messageEventName + " with " + correlationVariable + " = '"
-				+ correlationValue + "'");
+                return false;
+            }
 
-			@SuppressWarnings("unused")
-			MessageCorrelationResult result = runtimeService
-				.createMessageCorrelation(messageEventName)
-				.setVariables(variables)
-				.processInstanceVariableEquals(correlationVariable, correlationValue)
-				.correlateWithResult();
-			
-		} catch (MismatchingMessageCorrelationException e) {
-			// A correlation exception occurred even after we identified
-			// one waiting process.  Throw it back to the client.
-			throw e;
-		} catch (OptimisticLockingException ole) {
-			
-			String msg = "Caught " + ole.getClass().getSimpleName() + " after receiving " + messageEventName
-				+ " with " + correlationVariable + " = '" + correlationValue
-				+ "': " + ole;
-			logger.debug(msg);
-			logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN CORRELATION ERROR -",
-				ErrorCode.UnknownError.getValue(), msg, ole);
-			
-			//Retry for OptimisticLocking Exceptions
-			int retryCount = 0;
-			String retryStr = UrnPropertiesReader.getVariable("mso.bpmn.optimisticlockingexception.retrycount");
-			if (retryStr != null) {
-				try {
-					retryCount = Integer.parseInt(retryStr);
-				} catch (NumberFormatException e) {
-					// Ignore
-				}
-			}
-			
-			logger.debug("Retry correlate for OptimisticLockingException, retryCount:{}", retryCount);
-			
-			for (; retryCount >0 ; retryCount--) {
-				
-				try{
-					Thread.sleep(SLOW_POLL_INT_MS);
-					
-					@SuppressWarnings("unused")
-					MessageCorrelationResult result = runtimeService
-						.createMessageCorrelation(messageEventName)
-						.setVariables(variables)
-						.processInstanceVariableEquals(correlationVariable, correlationValue)
-						.correlateWithResult();
-					retryCount = 0;
-					logger.debug("OptimisticLockingException retry was successful, seting retryCount: {}", retryCount);
-				} catch (OptimisticLockingException olex) {
-					//oleFlag = ex instanceof org.camunda.bpm.engine.OptimisticLockingException;
-					String strMsg = "Received exception, OptimisticLockingException retry failed, retryCount:" + retryCount + " | exception returned: " + olex;
-					logger.debug(strMsg);
-					logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
-							ErrorCode.UnknownError.getValue(), strMsg, olex);
-				} catch (Exception excep) {
-					retryCount = 0;
-					//oleFlag = ex instanceof org.camunda.bpm.engine.OptimisticLockingException;
-					String strMsg = "Received exception, OptimisticLockingException retry failed, retryCount:" + retryCount + " | exception returned: " + excep;
-					logger.debug(strMsg);
-					logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
-						ErrorCode.UnknownError.getValue(), strMsg, excep);
-				}
-		
-			}
-			
-		}catch (Exception e) {
-			// This must be an exception from the flow itself.  Log it, but don't
-			// report it back to the client.
-			String msg = "Caught " + e.getClass().getSimpleName() + " running "
-				+ execInfoList.get(0) + " after receiving " + messageEventName
-				+ " with " + correlationVariable + " = '" + correlationValue
-				+ "': " + e;
-			logger.debug(msg);
-			logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
-				ErrorCode.UnknownError.getValue(), msg, e);
-		}
-	}  catch (Exception e) {
-		// This must be an exception from the flow itself.  Log it, but don't
-		// report it back to the client.
-		String msg = "Caught " + e.getClass().getSimpleName() + " after receiving " + messageEventName
-			+ " with " + correlationVariable + " = '" + correlationValue
-			+ "': " + e;
-		logger.debug(msg);
-		logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN CORRELATION ERROR -",
-			ErrorCode.UnknownError.getValue(), msg, e);
-	}	
+            if (count > 1) {
+                // Only one process should be waiting. Throw an exception back to the client.
+                throw new MismatchingMessageCorrelationException(messageEventName,
+                        "more than 1 process is waiting with " + correlationVariable + " = '" + correlationValue + "'");
+            }
 
-		return true;
-	}
-	
-	/**
-	 * Records audit and metric events in the log for a callback success.
-	 * @param method the method name
-	 * @param startTime the request start time
-	 */
-	protected void logCallbackSuccess(String method, long startTime) {
-	}
+            // We prototyped an asynchronous solution, i.e. resuming the process
+            // flow in a separate thread, but this affected too many existing tests,
+            // and we went back to the synchronous solution. The synchronous solution
+            // has some troublesome characteristics though. For example, the
+            // resumed flow may send request #2 to a remote system before MSO has
+            // acknowledged the notification associated with request #1.
 
-	/**
-	 * Records error, audit and metric events in the log for a callback
-	 * internal error.
-	 * @param method the method name
-	 * @param startTime the request start time
-	 * @param msg the error message
-	 */
-	protected void logCallbackError(String method, long startTime, String msg) {
-		logCallbackError(method, startTime, msg, null);
-	}
+            try {
+                logger.debug(logMarker + " Running " + execInfoList.get(0) + " to receive " + messageEventName
+                        + " with " + correlationVariable + " = '" + correlationValue + "'");
 
-	/**
-	 * Records error, audit and metric events in the log for a callback
-	 * internal error.
-	 * @param method the method name
-	 * @param startTime the request start time
-	 * @param msg the error message
-	 * @param e the exception
-	 */
-	protected void logCallbackError(String method, long startTime, String msg, Exception e) {
-		if (e == null) {
-			logger.error("{} {} {} {}", MessageEnum.BPMN_CALLBACK_EXCEPTION.toString(), "BPMN",
-				ErrorCode.UnknownError.getValue(), msg);
-		} else {
-			logger.error("{} {} {} {}", MessageEnum.BPMN_CALLBACK_EXCEPTION.toString(), "BPMN",
-				ErrorCode.UnknownError.getValue(), msg, e);
-		}
-	}
-	
-	/**
-	 * Abstract callback result object.
-	 */
-	protected abstract class CallbackResult {
-	}
+                @SuppressWarnings("unused")
+                MessageCorrelationResult result = runtimeService.createMessageCorrelation(messageEventName)
+                        .setVariables(variables).processInstanceVariableEquals(correlationVariable, correlationValue)
+                        .correlateWithResult();
 
-	/**
-	 * Indicates that callback handling was successful.
-	 */
-	protected class CallbackSuccess extends CallbackResult {
-	}
+            } catch (MismatchingMessageCorrelationException e) {
+                // A correlation exception occurred even after we identified
+                // one waiting process. Throw it back to the client.
+                throw e;
+            } catch (OptimisticLockingException ole) {
 
-	/**
-	 * Indicates that callback handling failed.
-	 */
-	protected class CallbackError extends CallbackResult {
-		private final String errorMessage;
+                String msg = "Caught " + ole.getClass().getSimpleName() + " after receiving " + messageEventName
+                        + " with " + correlationVariable + " = '" + correlationValue + "': " + ole;
+                logger.debug(msg);
+                logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN CORRELATION ERROR -",
+                        ErrorCode.UnknownError.getValue(), msg, ole);
 
-		public CallbackError(String errorMessage) {
-			this.errorMessage = errorMessage;
-		}
+                // Retry for OptimisticLocking Exceptions
+                int retryCount = 0;
+                String retryStr = UrnPropertiesReader.getVariable("mso.bpmn.optimisticlockingexception.retrycount");
+                if (retryStr != null) {
+                    try {
+                        retryCount = Integer.parseInt(retryStr);
+                    } catch (NumberFormatException e) {
+                        // Ignore
+                    }
+                }
 
-		/**
-		 * Gets the error message.
-		 */
-		public String getErrorMessage() {
-			return errorMessage;
-		}
-	}
+                logger.debug("Retry correlate for OptimisticLockingException, retryCount:{}", retryCount);
 
-	private static class ExecInfo {
-		private final Execution execution;
+                for (; retryCount > 0; retryCount--) {
 
-		public ExecInfo(Execution execution) {
-			this.execution = execution;
-		}
-	
-		@Override
-		public String toString() {
-			return "Process[" + execution.getProcessInstanceId()
-				+ ":" + execution.getId() + "]";
-		}
-	}
+                    try {
+                        Thread.sleep(SLOW_POLL_INT_MS);
+
+                        @SuppressWarnings("unused")
+                        MessageCorrelationResult result =
+                                runtimeService.createMessageCorrelation(messageEventName).setVariables(variables)
+                                        .processInstanceVariableEquals(correlationVariable, correlationValue)
+                                        .correlateWithResult();
+                        retryCount = 0;
+                        logger.debug("OptimisticLockingException retry was successful, seting retryCount: {}",
+                                retryCount);
+                    } catch (OptimisticLockingException olex) {
+                        // oleFlag = ex instanceof org.camunda.bpm.engine.OptimisticLockingException;
+                        String strMsg = "Received exception, OptimisticLockingException retry failed, retryCount:"
+                                + retryCount + " | exception returned: " + olex;
+                        logger.debug(strMsg);
+                        logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
+                                ErrorCode.UnknownError.getValue(), strMsg, olex);
+                    } catch (Exception excep) {
+                        retryCount = 0;
+                        // oleFlag = ex instanceof org.camunda.bpm.engine.OptimisticLockingException;
+                        String strMsg = "Received exception, OptimisticLockingException retry failed, retryCount:"
+                                + retryCount + " | exception returned: " + excep;
+                        logger.debug(strMsg);
+                        logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
+                                ErrorCode.UnknownError.getValue(), strMsg, excep);
+                    }
+
+                }
+
+            } catch (Exception e) {
+                // This must be an exception from the flow itself. Log it, but don't
+                // report it back to the client.
+                String msg = "Caught " + e.getClass().getSimpleName() + " running " + execInfoList.get(0)
+                        + " after receiving " + messageEventName + " with " + correlationVariable + " = '"
+                        + correlationValue + "': " + e;
+                logger.debug(msg);
+                logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
+                        ErrorCode.UnknownError.getValue(), msg, e);
+            }
+        } catch (Exception e) {
+            // This must be an exception from the flow itself. Log it, but don't
+            // report it back to the client.
+            String msg = "Caught " + e.getClass().getSimpleName() + " after receiving " + messageEventName + " with "
+                    + correlationVariable + " = '" + correlationValue + "': " + e;
+            logger.debug(msg);
+            logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN CORRELATION ERROR -",
+                    ErrorCode.UnknownError.getValue(), msg, e);
+        }
+
+        return true;
+    }
+
+    /**
+     * Records audit and metric events in the log for a callback success.
+     * 
+     * @param method the method name
+     * @param startTime the request start time
+     */
+    protected void logCallbackSuccess(String method, long startTime) {}
+
+    /**
+     * Records error, audit and metric events in the log for a callback internal error.
+     * 
+     * @param method the method name
+     * @param startTime the request start time
+     * @param msg the error message
+     */
+    protected void logCallbackError(String method, long startTime, String msg) {
+        logCallbackError(method, startTime, msg, null);
+    }
+
+    /**
+     * Records error, audit and metric events in the log for a callback internal error.
+     * 
+     * @param method the method name
+     * @param startTime the request start time
+     * @param msg the error message
+     * @param e the exception
+     */
+    protected void logCallbackError(String method, long startTime, String msg, Exception e) {
+        if (e == null) {
+            logger.error("{} {} {} {}", MessageEnum.BPMN_CALLBACK_EXCEPTION.toString(), "BPMN",
+                    ErrorCode.UnknownError.getValue(), msg);
+        } else {
+            logger.error("{} {} {} {}", MessageEnum.BPMN_CALLBACK_EXCEPTION.toString(), "BPMN",
+                    ErrorCode.UnknownError.getValue(), msg, e);
+        }
+    }
+
+    /**
+     * Abstract callback result object.
+     */
+    protected abstract class CallbackResult {
+    }
+
+    /**
+     * Indicates that callback handling was successful.
+     */
+    protected class CallbackSuccess extends CallbackResult {
+    }
+
+    /**
+     * Indicates that callback handling failed.
+     */
+    protected class CallbackError extends CallbackResult {
+        private final String errorMessage;
+
+        public CallbackError(String errorMessage) {
+            this.errorMessage = errorMessage;
+        }
+
+        /**
+         * Gets the error message.
+         */
+        public String getErrorMessage() {
+            return errorMessage;
+        }
+    }
+
+    private static class ExecInfo {
+        private final Execution execution;
+
+        public ExecInfo(Execution execution) {
+            this.execution = execution;
+        }
+
+        @Override
+        public String toString() {
+            return "Process[" + execution.getProcessInstanceId() + ":" + execution.getId() + "]";
+        }
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/ProcessEngineAwareService.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/ProcessEngineAwareService.java
index 8ceb1c1..1134bc0 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/ProcessEngineAwareService.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/ProcessEngineAwareService.java
@@ -22,45 +22,45 @@
 package org.onap.so.bpmn.common.workflow.service;
 
 import java.util.Optional;
-
 import org.camunda.bpm.engine.ProcessEngineServices;
 import org.camunda.bpm.engine.ProcessEngines;
 import org.springframework.stereotype.Service;
 
 /**
- * Base class for services that must be process-engine aware. The only
- * process engine currently supported is the "default" process engine.
+ * Base class for services that must be process-engine aware. The only process engine currently supported is the
+ * "default" process engine.
  */
 @Service
 public class ProcessEngineAwareService {
-	
-	private final String processEngineName = "default";
-	private volatile Optional<ProcessEngineServices> pes4junit = Optional.empty();
-	
-	/**
-	 * Gets the process engine name.
-	 * @return the process engine name
-	 */
-	public String getProcessEngineName() {
-		return processEngineName;
-	}
 
-	/**
-	 * Gets process engine services.
-	 * @return process engine services
-	 */
-	public ProcessEngineServices getProcessEngineServices() {
-		return pes4junit.orElse(ProcessEngines.getProcessEngine(
-				getProcessEngineName()));
-	}
+    private final String processEngineName = "default";
+    private volatile Optional<ProcessEngineServices> pes4junit = Optional.empty();
 
-	/**
-	 * Allows a particular process engine to be specified, overriding the
-	 * usual process engine lookup by name.  Intended primarily for the
-	 * unit test environment.
-	 * @param pes process engine services
-	 */
-	public void setProcessEngineServices4junit(ProcessEngineServices pes) {
-		pes4junit = Optional.ofNullable(pes);
-	}
+    /**
+     * Gets the process engine name.
+     * 
+     * @return the process engine name
+     */
+    public String getProcessEngineName() {
+        return processEngineName;
+    }
+
+    /**
+     * Gets process engine services.
+     * 
+     * @return process engine services
+     */
+    public ProcessEngineServices getProcessEngineServices() {
+        return pes4junit.orElse(ProcessEngines.getProcessEngine(getProcessEngineName()));
+    }
+
+    /**
+     * Allows a particular process engine to be specified, overriding the usual process engine lookup by name. Intended
+     * primarily for the unit test environment.
+     * 
+     * @param pes process engine services
+     */
+    public void setProcessEngineServices4junit(ProcessEngineServices pes) {
+        pes4junit = Optional.ofNullable(pes);
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/SDNCAdapterCallbackServiceImpl.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/SDNCAdapterCallbackServiceImpl.java
index a74bdfc..b81506e 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/SDNCAdapterCallbackServiceImpl.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/SDNCAdapterCallbackServiceImpl.java
@@ -28,7 +28,6 @@
 import javax.jws.WebService;
 import javax.ws.rs.core.Context;
 import javax.xml.ws.WebServiceContext;
-
 import org.onap.so.bpmn.common.adapter.sdnc.SDNCAdapterCallbackRequest;
 import org.onap.so.bpmn.common.adapter.sdnc.SDNCAdapterResponse;
 import org.onap.so.bpmn.common.adapter.sdnc.SDNCCallbackAdapterPortType;
@@ -40,50 +39,53 @@
 /**
  * Implementation of SDNCAdapterCallbackService.
  */
-@WebService(serviceName="SDNCAdapterCallbackService", targetNamespace="http://org.onap/workflow/sdnc/adapter/schema/v1")
+@WebService(serviceName = "SDNCAdapterCallbackService",
+        targetNamespace = "http://org.onap/workflow/sdnc/adapter/schema/v1")
 @Service
 public class SDNCAdapterCallbackServiceImpl extends ProcessEngineAwareService implements SDNCCallbackAdapterPortType {
 
-	private final static String logMarker = "[SDNC-CALLBACK]";
+    private final static String logMarker = "[SDNC-CALLBACK]";
 
-	@Context WebServiceContext wsContext;
-	
-	@Autowired
-	CallbackHandlerService callback;
+    @Context
+    WebServiceContext wsContext;
 
-	@WebMethod(operationName = "SDNCAdapterCallback")
-    @WebResult(name = "SDNCAdapterResponse", targetNamespace = "http://org.onap/workflow/sdnc/adapter/schema/v1", partName = "SDNCAdapterCallbackResponse")
-    public SDNCAdapterResponse sdncAdapterCallback(
-            @WebParam(name = "SDNCAdapterCallbackRequest", targetNamespace = "http://org.onap/workflow/sdnc/adapter/schema/v1", partName = "SDNCAdapterCallbackRequest")
-            SDNCAdapterCallbackRequest sdncAdapterCallbackRequest) {
+    @Autowired
+    CallbackHandlerService callback;
 
-		String method = "sdncAdapterCallback";
-		Object message = sdncAdapterCallbackRequest;
-		String messageEventName = "sdncAdapterCallbackRequest";
-		String messageVariable = "sdncAdapterCallbackRequest";
-		String correlationVariable = "SDNCA_requestId";
-		String correlationValue = sdncAdapterCallbackRequest.getCallbackHeader().getRequestId();
+    @WebMethod(operationName = "SDNCAdapterCallback")
+    @WebResult(name = "SDNCAdapterResponse", targetNamespace = "http://org.onap/workflow/sdnc/adapter/schema/v1",
+            partName = "SDNCAdapterCallbackResponse")
+    public SDNCAdapterResponse sdncAdapterCallback(@WebParam(name = "SDNCAdapterCallbackRequest",
+            targetNamespace = "http://org.onap/workflow/sdnc/adapter/schema/v1",
+            partName = "SDNCAdapterCallbackRequest") SDNCAdapterCallbackRequest sdncAdapterCallbackRequest) {
 
-		CallbackResult result = callback.handleCallback(method, message, messageEventName,
-			messageVariable, correlationVariable, correlationValue, logMarker);
+        String method = "sdncAdapterCallback";
+        Object message = sdncAdapterCallbackRequest;
+        String messageEventName = "sdncAdapterCallbackRequest";
+        String messageVariable = "sdncAdapterCallbackRequest";
+        String correlationVariable = "SDNCA_requestId";
+        String correlationValue = sdncAdapterCallbackRequest.getCallbackHeader().getRequestId();
 
-		if (result instanceof CallbackError) {
-			return new SDNCAdapterErrorResponse(((CallbackError)result).getErrorMessage());
-		} else {
-			return new SDNCAdapterResponse();
-		}
-	}
+        CallbackResult result = callback.handleCallback(method, message, messageEventName, messageVariable,
+                correlationVariable, correlationValue, logMarker);
 
-	// This subclass allows unit tests to extract the error
-	public class SDNCAdapterErrorResponse extends SDNCAdapterResponse {
-		private String error;
+        if (result instanceof CallbackError) {
+            return new SDNCAdapterErrorResponse(((CallbackError) result).getErrorMessage());
+        } else {
+            return new SDNCAdapterResponse();
+        }
+    }
 
-		public SDNCAdapterErrorResponse(String error) {
-			this.error = error;
-		}
+    // This subclass allows unit tests to extract the error
+    public class SDNCAdapterErrorResponse extends SDNCAdapterResponse {
+        private String error;
 
-		public String getError() {
-			return error;
-		}
-	}
+        public SDNCAdapterErrorResponse(String error) {
+            this.error = error;
+        }
+
+        public String getError() {
+            return error;
+        }
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/VnfAdapterNotifyServiceImpl.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/VnfAdapterNotifyServiceImpl.java
index ed524c1..5f70ab5 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/VnfAdapterNotifyServiceImpl.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/VnfAdapterNotifyServiceImpl.java
@@ -30,7 +30,6 @@
 import javax.xml.ws.Action;
 import javax.xml.ws.RequestWrapper;
 import javax.xml.ws.WebServiceContext;
-
 import org.onap.so.bpmn.common.adapter.vnf.CreateVnfNotification;
 import org.onap.so.bpmn.common.adapter.vnf.DeleteVnfNotification;
 import org.onap.so.bpmn.common.adapter.vnf.MsoExceptionCategory;
@@ -48,195 +47,167 @@
  */
 @WebService(serviceName = "vnfAdapterNotify", targetNamespace = "http://org.onap.so/vnfNotify")
 @Service
-public class VnfAdapterNotifyServiceImpl extends ProcessEngineAwareService implements VnfAdapterNotify{
+public class VnfAdapterNotifyServiceImpl extends ProcessEngineAwareService implements VnfAdapterNotify {
 
-	private final String logMarker = "[VNF-NOTIFY]";
-	
-	@Autowired
-	CallbackHandlerService callback;
+    private final String logMarker = "[VNF-NOTIFY]";
 
-	@Context WebServiceContext wsContext;
+    @Autowired
+    CallbackHandlerService callback;
+
+    @Context
+    WebServiceContext wsContext;
 
     @WebMethod(operationName = "rollbackVnfNotification")
     @Oneway
-    @RequestWrapper(localName = "rollbackVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.RollbackVnfNotification")
+    @RequestWrapper(localName = "rollbackVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.RollbackVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/rollbackVnfNotificationRequest")
-    public void rollbackVnfNotification(
-        @WebParam(name = "messageId", targetNamespace = "")
-        String messageId,
-        @WebParam(name = "completed", targetNamespace = "")
-        boolean completed,
-        @WebParam(name = "exception", targetNamespace = "")
-        MsoExceptionCategory exception,
-        @WebParam(name = "errorMessage", targetNamespace = "")
-        String errorMessage) {
+    public void rollbackVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage) {
 
-		RollbackVnfNotification rollbackVnfNotification = new RollbackVnfNotification();
+        RollbackVnfNotification rollbackVnfNotification = new RollbackVnfNotification();
 
-		rollbackVnfNotification.setMessageId(messageId);
-		rollbackVnfNotification.setCompleted(completed);
-		rollbackVnfNotification.setException(exception);
-		rollbackVnfNotification.setErrorMessage(errorMessage);
+        rollbackVnfNotification.setMessageId(messageId);
+        rollbackVnfNotification.setCompleted(completed);
+        rollbackVnfNotification.setException(exception);
+        rollbackVnfNotification.setErrorMessage(errorMessage);
 
-		String method = "rollbackVnfNotification";
-		Object message = rollbackVnfNotification;
-		String messageEventName = "rollbackVnfNotificationCallback";
-		String messageVariable = "rollbackVnfNotificationCallback";
-		String correlationVariable = "VNFRB_messageId";
-		String correlationValue = messageId;
+        String method = "rollbackVnfNotification";
+        Object message = rollbackVnfNotification;
+        String messageEventName = "rollbackVnfNotificationCallback";
+        String messageVariable = "rollbackVnfNotificationCallback";
+        String correlationVariable = "VNFRB_messageId";
+        String correlationValue = messageId;
 
-		callback.handleCallback(method, message, messageEventName, messageVariable,
-			correlationVariable, correlationValue, logMarker);
+        callback.handleCallback(method, message, messageEventName, messageVariable, correlationVariable,
+                correlationValue, logMarker);
     }
 
     @WebMethod(operationName = "queryVnfNotification")
     @Oneway
-    @RequestWrapper(localName = "queryVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.QueryVnfNotification")
+    @RequestWrapper(localName = "queryVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.QueryVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/queryVnfNotificationRequest")
-    public void queryVnfNotification(
-        @WebParam(name = "messageId", targetNamespace = "")
-        String messageId,
-        @WebParam(name = "completed", targetNamespace = "")
-        boolean completed,
-        @WebParam(name = "exception", targetNamespace = "")
-        MsoExceptionCategory exception,
-        @WebParam(name = "errorMessage", targetNamespace = "")
-        String errorMessage,
-        @WebParam(name = "vnfExists", targetNamespace = "")
-        Boolean vnfExists,
-        @WebParam(name = "vnfId", targetNamespace = "")
-        String vnfId,
-        @WebParam(name = "status", targetNamespace = "")
-        VnfStatus status,
-        @WebParam(name = "outputs", targetNamespace = "")
-        QueryVnfNotification.Outputs outputs){
+    public void queryVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage,
+            @WebParam(name = "vnfExists", targetNamespace = "") Boolean vnfExists,
+            @WebParam(name = "vnfId", targetNamespace = "") String vnfId,
+            @WebParam(name = "status", targetNamespace = "") VnfStatus status,
+            @WebParam(name = "outputs", targetNamespace = "") QueryVnfNotification.Outputs outputs) {
 
-		String method = "queryVnfNotification";
-		String messageEventName = "queryVnfNotificationCallback";
-		String messageVariable = "queryVnfNotificationCallback";
-		String correlationVariable = "VNFQ_messageId";
-		String correlationValue = messageId;
+        String method = "queryVnfNotification";
+        String messageEventName = "queryVnfNotificationCallback";
+        String messageVariable = "queryVnfNotificationCallback";
+        String correlationVariable = "VNFQ_messageId";
+        String correlationValue = messageId;
 
-    	QueryVnfNotification message = new QueryVnfNotification();
+        QueryVnfNotification message = new QueryVnfNotification();
 
-    	message.setMessageId(messageId);
-    	message.setCompleted(completed);
-    	message.setException(exception);
-    	message.setErrorMessage(errorMessage);
-    	message.setVnfExists(vnfExists);
-    	message.setVnfId(vnfId);
-    	message.setStatus(status);
-    	message.setOutputs(outputs);
+        message.setMessageId(messageId);
+        message.setCompleted(completed);
+        message.setException(exception);
+        message.setErrorMessage(errorMessage);
+        message.setVnfExists(vnfExists);
+        message.setVnfId(vnfId);
+        message.setStatus(status);
+        message.setOutputs(outputs);
 
-    	callback.handleCallback(method, message, messageEventName, messageVariable,
-			correlationVariable, correlationValue, logMarker);
+        callback.handleCallback(method, message, messageEventName, messageVariable, correlationVariable,
+                correlationValue, logMarker);
     }
 
-	@WebMethod(operationName = "createVnfNotification")
+    @WebMethod(operationName = "createVnfNotification")
     @Oneway
-    @RequestWrapper(localName = "createVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.CreateVnfNotification")
+    @RequestWrapper(localName = "createVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.CreateVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/createVnfNotificationRequest")
-	public void createVnfNotification(
-			@WebParam(name = "messageId", targetNamespace = "")
-	        String messageId,
-	        @WebParam(name = "completed", targetNamespace = "")
-	        boolean completed,
-	        @WebParam(name = "exception", targetNamespace = "")
-	        MsoExceptionCategory exception,
-	        @WebParam(name = "errorMessage", targetNamespace = "")
-	        String errorMessage,
-	        @WebParam(name = "vnfId", targetNamespace = "")
-	        String vnfId,
-	        @WebParam(name = "outputs", targetNamespace = "")
-	        CreateVnfNotification.Outputs outputs,
-	        @WebParam(name = "rollback", targetNamespace = "")
-	        VnfRollback rollback){
+    public void createVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage,
+            @WebParam(name = "vnfId", targetNamespace = "") String vnfId,
+            @WebParam(name = "outputs", targetNamespace = "") CreateVnfNotification.Outputs outputs,
+            @WebParam(name = "rollback", targetNamespace = "") VnfRollback rollback) {
 
-		String method = "createVnfNotification";
-		String messageEventName = "createVnfNotificationCallback";
-		String messageVariable = "createVnfNotificationCallback";
-		String correlationVariable = "VNFC_messageId";
-		String correlationValue = messageId;
+        String method = "createVnfNotification";
+        String messageEventName = "createVnfNotificationCallback";
+        String messageVariable = "createVnfNotificationCallback";
+        String correlationVariable = "VNFC_messageId";
+        String correlationValue = messageId;
 
-		CreateVnfNotification message = new CreateVnfNotification();
+        CreateVnfNotification message = new CreateVnfNotification();
 
-		message.setMessageId(messageId);
-		message.setCompleted(completed);
-		message.setException(exception);
-		message.setErrorMessage(errorMessage);
-		message.setVnfId(vnfId);
-		message.setOutputs(outputs);
-		message.setRollback(rollback);
+        message.setMessageId(messageId);
+        message.setCompleted(completed);
+        message.setException(exception);
+        message.setErrorMessage(errorMessage);
+        message.setVnfId(vnfId);
+        message.setOutputs(outputs);
+        message.setRollback(rollback);
 
-		callback.handleCallback(method, message, messageEventName, messageVariable,
-			correlationVariable, correlationValue, logMarker);
-	 }
+        callback.handleCallback(method, message, messageEventName, messageVariable, correlationVariable,
+                correlationValue, logMarker);
+    }
 
-	@WebMethod(operationName = "updateVnfNotification")
+    @WebMethod(operationName = "updateVnfNotification")
     @Oneway
-    @RequestWrapper(localName = "updateVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.UpdateVnfNotification")
+    @RequestWrapper(localName = "updateVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.UpdateVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/updateVnfNotificationRequest")
-    public void updateVnfNotification(
-        @WebParam(name = "messageId", targetNamespace = "")
-        String messageId,
-        @WebParam(name = "completed", targetNamespace = "")
-        boolean completed,
-        @WebParam(name = "exception", targetNamespace = "")
-        MsoExceptionCategory exception,
-        @WebParam(name = "errorMessage", targetNamespace = "")
-        String errorMessage,
-        @WebParam(name = "outputs", targetNamespace = "")
-        UpdateVnfNotification.Outputs outputs,
-        @WebParam(name = "rollback", targetNamespace = "")
-        VnfRollback rollback){
+    public void updateVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage,
+            @WebParam(name = "outputs", targetNamespace = "") UpdateVnfNotification.Outputs outputs,
+            @WebParam(name = "rollback", targetNamespace = "") VnfRollback rollback) {
 
-		String method = "updateVnfNotification";
-		String messageEventName = "updateVnfNotificationCallback";
-		String messageVariable = "updateVnfNotificationCallback";
-		String correlationVariable = "VNFU_messageId";
-		String correlationValue = messageId;
+        String method = "updateVnfNotification";
+        String messageEventName = "updateVnfNotificationCallback";
+        String messageVariable = "updateVnfNotificationCallback";
+        String correlationVariable = "VNFU_messageId";
+        String correlationValue = messageId;
 
-    	UpdateVnfNotification message = new UpdateVnfNotification();
+        UpdateVnfNotification message = new UpdateVnfNotification();
 
-    	message.setMessageId(messageId);
-    	message.setCompleted(completed);
-    	message.setException(exception);
-    	message.setErrorMessage(errorMessage);
-    	message.setOutputs(outputs);
-    	message.setRollback(rollback);
+        message.setMessageId(messageId);
+        message.setCompleted(completed);
+        message.setException(exception);
+        message.setErrorMessage(errorMessage);
+        message.setOutputs(outputs);
+        message.setRollback(rollback);
 
-    	callback.handleCallback(method, message, messageEventName, messageVariable,
-			correlationVariable, correlationValue, logMarker);
-	 }
+        callback.handleCallback(method, message, messageEventName, messageVariable, correlationVariable,
+                correlationValue, logMarker);
+    }
 
     @WebMethod(operationName = "deleteVnfNotification")
     @Oneway
-    @RequestWrapper(localName = "deleteVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify", className = "org.onap.so.adapters.vnf.async.client.DeleteVnfNotification")
+    @RequestWrapper(localName = "deleteVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
+            className = "org.onap.so.adapters.vnf.async.client.DeleteVnfNotification")
     @Action(input = "http://org.onap.so/notify/adapterNotify/deleteVnfNotificationRequest")
-    public void deleteVnfNotification(
-        @WebParam(name = "messageId", targetNamespace = "")
-        String messageId,
-        @WebParam(name = "completed", targetNamespace = "")
-        boolean completed,
-        @WebParam(name = "exception", targetNamespace = "")
-        MsoExceptionCategory exception,
-        @WebParam(name = "errorMessage", targetNamespace = "")
-        String errorMessage) {
+    public void deleteVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
+            @WebParam(name = "completed", targetNamespace = "") boolean completed,
+            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
+            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage) {
 
-		String method = "deleteVnfNotification";
-		String messageEventName = "deleteVnfACallback";
-		String messageVariable = "deleteVnfACallback";
-		String correlationVariable = "VNFDEL_uuid";
-		String correlationValue = messageId;
+        String method = "deleteVnfNotification";
+        String messageEventName = "deleteVnfACallback";
+        String messageVariable = "deleteVnfACallback";
+        String correlationVariable = "VNFDEL_uuid";
+        String correlationValue = messageId;
 
-    	DeleteVnfNotification message = new DeleteVnfNotification();
+        DeleteVnfNotification message = new DeleteVnfNotification();
 
-    	message.setMessageId(messageId);
-    	message.setCompleted(completed);
-    	message.setException(exception);
-    	message.setErrorMessage(errorMessage);
+        message.setMessageId(messageId);
+        message.setCompleted(completed);
+        message.setException(exception);
+        message.setErrorMessage(errorMessage);
 
-    	callback.handleCallback(method, message, messageEventName, messageVariable,
-			correlationVariable, correlationValue, logMarker);
-	}
+        callback.handleCallback(method, message, messageEventName, messageVariable, correlationVariable,
+                correlationValue, logMarker);
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncCommonResource.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncCommonResource.java
index a9a3a63..a534e57 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncCommonResource.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncCommonResource.java
@@ -26,8 +26,8 @@
 
 public class WorkflowAsyncCommonResource extends WorkflowAsyncResource {
 
-	@Override
+    @Override
     public String getProcessEngineName() {
-		return "default";
-	}
+        return "default";
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncResource.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncResource.java
index f9f0644..e8e4b85 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncResource.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncResource.java
@@ -26,7 +26,6 @@
 import java.util.Map;
 import java.util.Objects;
 import java.util.UUID;
-
 import javax.ws.rs.Consumes;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
@@ -34,7 +33,6 @@
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.ext.Provider;
-
 import org.camunda.bpm.engine.ProcessEngineServices;
 import org.camunda.bpm.engine.variable.impl.VariableMapImpl;
 import org.onap.logging.ref.slf4j.ONAPLogConstants;
@@ -47,20 +45,19 @@
 import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
 
 /**
  * 
- * @version 1.0
- * Asynchronous Workflow processing using JAX RS RESTeasy implementation
- * Both Synchronous and Asynchronous BPMN process can benefit from this implementation since the workflow gets executed in the background
- * and the server thread is freed up, server scales better to process more incoming requests
+ * @version 1.0 Asynchronous Workflow processing using JAX RS RESTeasy implementation Both Synchronous and Asynchronous
+ *          BPMN process can benefit from this implementation since the workflow gets executed in the background and the
+ *          server thread is freed up, server scales better to process more incoming requests
  * 
- * Usage: For synchronous process, when you are ready to send the response invoke the callback to write the response
- * For asynchronous process - the activity may send a acknowledgement response and then proceed further on executing the process
+ *          Usage: For synchronous process, when you are ready to send the response invoke the callback to write the
+ *          response For asynchronous process - the activity may send a acknowledgement response and then proceed
+ *          further on executing the process
  */
 @Path("/async")
 @Api(value = "/async", description = "Provides asynchronous starting of a bpmn process")
@@ -68,81 +65,79 @@
 @Component
 public class WorkflowAsyncResource extends ProcessEngineAwareService {
 
-	private static final WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance();
+    private static final WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance();
 
-	long workflowPollInterval=1000; 
+    long workflowPollInterval = 1000;
 
-	@Autowired
-	private WorkflowProcessor processor;
-	
-	@Autowired
-	private WorkflowContextHolder workflowContext;
-	
-	public void setProcessor(WorkflowProcessor processor) {
-		this.processor = processor;
-	}
+    @Autowired
+    private WorkflowProcessor processor;
 
-	protected static final Logger logger = LoggerFactory.getLogger(WorkflowAsyncResource.class);
-	protected static final long DEFAULT_WAIT_TIME = 60000;	//default wait time
-	
-	/**
-	 * Asynchronous JAX-RS method that starts a process instance.
-	 * @param processKey the process key
-	 * @param variableMap input variables to the process
-	 * @return 
-	 */
-	
-	@POST
-	@Path("/services/{processKey}")
-	@ApiOperation(
-		        value = "Starts a new process with the appropriate process Key",
-		        notes = "Aysnc fall outs are only logged"
-		    )
-	@Produces("application/json")
-	@Consumes("application/json")
-	public Response startProcessInstanceByKey (
-			@PathParam("processKey") String processKey, VariableMapImpl variableMap){
-		Map<String, Object> inputVariables = getInputVariables(variableMap);	
-		try {		
-			MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, getRequestId(inputVariables));
-			processor.startProcess(processKey, variableMap);
-			WorkflowResponse response = waitForResponse(getRequestId(inputVariables)); 
-			return Response.status(202).entity(response).build();	
-		} catch (WorkflowProcessorException e) {
-			WorkflowResponse response =  e.getWorkflowResponse();
-			return Response.status(500).entity(response).build();
-		}catch (Exception e) {
-			WorkflowResponse response =  buildUnkownError(getRequestId(inputVariables),e.getMessage());		
-			return Response.status(500).entity(response).build();	
-		}		
-	}
-	
-	private WorkflowResponse waitForResponse(String requestId) throws Exception {		
-		long currentWaitTime = 0;		
-		while (DEFAULT_WAIT_TIME > currentWaitTime ) {			
-			Thread.sleep(workflowPollInterval);
-			currentWaitTime = currentWaitTime + workflowPollInterval;
-			WorkflowContext foundContext = contextHolder.getWorkflowContext(requestId);
-			if(foundContext!=null){
-				contextHolder.remove(foundContext);
-				return buildResponse(foundContext);
-			}
-		}
-		throw new Exception("TimeOutOccured");
-	}
+    @Autowired
+    private WorkflowContextHolder workflowContext;
 
-	private WorkflowResponse buildUnkownError(String requestId,String error) {
-		WorkflowResponse response = new WorkflowResponse();
-		response.setMessage(error);
-		response.setResponse("UnknownError, request id:" + requestId);		
-		response.setMessageCode(500);
-		return response;
-	}
+    public void setProcessor(WorkflowProcessor processor) {
+        this.processor = processor;
+    }
 
-	private WorkflowResponse buildResponse(WorkflowContext foundContext) {
-		return foundContext.getWorkflowResponse();
-	}
-	
+    protected static final Logger logger = LoggerFactory.getLogger(WorkflowAsyncResource.class);
+    protected static final long DEFAULT_WAIT_TIME = 60000; // default wait time
+
+    /**
+     * Asynchronous JAX-RS method that starts a process instance.
+     * 
+     * @param processKey the process key
+     * @param variableMap input variables to the process
+     * @return
+     */
+
+    @POST
+    @Path("/services/{processKey}")
+    @ApiOperation(value = "Starts a new process with the appropriate process Key",
+            notes = "Aysnc fall outs are only logged")
+    @Produces("application/json")
+    @Consumes("application/json")
+    public Response startProcessInstanceByKey(@PathParam("processKey") String processKey, VariableMapImpl variableMap) {
+        Map<String, Object> inputVariables = getInputVariables(variableMap);
+        try {
+            MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, getRequestId(inputVariables));
+            processor.startProcess(processKey, variableMap);
+            WorkflowResponse response = waitForResponse(getRequestId(inputVariables));
+            return Response.status(202).entity(response).build();
+        } catch (WorkflowProcessorException e) {
+            WorkflowResponse response = e.getWorkflowResponse();
+            return Response.status(500).entity(response).build();
+        } catch (Exception e) {
+            WorkflowResponse response = buildUnkownError(getRequestId(inputVariables), e.getMessage());
+            return Response.status(500).entity(response).build();
+        }
+    }
+
+    private WorkflowResponse waitForResponse(String requestId) throws Exception {
+        long currentWaitTime = 0;
+        while (DEFAULT_WAIT_TIME > currentWaitTime) {
+            Thread.sleep(workflowPollInterval);
+            currentWaitTime = currentWaitTime + workflowPollInterval;
+            WorkflowContext foundContext = contextHolder.getWorkflowContext(requestId);
+            if (foundContext != null) {
+                contextHolder.remove(foundContext);
+                return buildResponse(foundContext);
+            }
+        }
+        throw new Exception("TimeOutOccured");
+    }
+
+    private WorkflowResponse buildUnkownError(String requestId, String error) {
+        WorkflowResponse response = new WorkflowResponse();
+        response.setMessage(error);
+        response.setResponse("UnknownError, request id:" + requestId);
+        response.setMessageCode(500);
+        return response;
+    }
+
+    private WorkflowResponse buildResponse(WorkflowContext foundContext) {
+        return foundContext.getWorkflowResponse();
+    }
+
     protected static String getOrCreate(Map<String, Object> inputVariables, String key) {
         String value = Objects.toString(inputVariables.get(key), null);
         if (value == null) {
@@ -152,27 +147,28 @@
         return value;
     }
 
-	protected static String getRequestId(Map<String, Object> inputVariables) {
+    protected static String getRequestId(Map<String, Object> inputVariables) {
         return getOrCreate(inputVariables, "mso-request-id");
-	}
+    }
 
-	protected boolean isProcessEnded(String processInstanceId) {
-		ProcessEngineServices pes = getProcessEngineServices();
-		return pes.getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult() == null;
-	}
-	
-	protected static Map<String, Object> getInputVariables(VariableMapImpl variableMap) {
-		Map<String, Object> inputVariables = new HashMap<>();
-		@SuppressWarnings("unchecked")
-		Map<String, Object> vMap = (Map<String, Object>) variableMap.get("variables");
-		for (Map.Entry<String, Object> entry : vMap.entrySet()) {
-			String vName = entry.getKey();
-			Object value = entry.getValue();
-			@SuppressWarnings("unchecked")
-			Map<String, Object> valueMap = (Map<String,Object>)value; // value, type
-			inputVariables.put(vName, valueMap.get("value"));
-		}
-		return inputVariables;
-	}
+    protected boolean isProcessEnded(String processInstanceId) {
+        ProcessEngineServices pes = getProcessEngineServices();
+        return pes.getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId)
+                .singleResult() == null;
+    }
+
+    protected static Map<String, Object> getInputVariables(VariableMapImpl variableMap) {
+        Map<String, Object> inputVariables = new HashMap<>();
+        @SuppressWarnings("unchecked")
+        Map<String, Object> vMap = (Map<String, Object>) variableMap.get("variables");
+        for (Map.Entry<String, Object> entry : vMap.entrySet()) {
+            String vName = entry.getKey();
+            Object value = entry.getValue();
+            @SuppressWarnings("unchecked")
+            Map<String, Object> valueMap = (Map<String, Object>) value; // value, type
+            inputVariables.put(vName, valueMap.get("value"));
+        }
+        return inputVariables;
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowMessageResource.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowMessageResource.java
index 0751023..1e9ebdf 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowMessageResource.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowMessageResource.java
@@ -24,7 +24,6 @@
 
 import java.util.HashMap;
 import java.util.Map;
-
 import javax.ws.rs.Consumes;
 import javax.ws.rs.HeaderParam;
 import javax.ws.rs.POST;
@@ -33,7 +32,6 @@
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
-
 import org.onap.so.bpmn.common.workflow.service.CallbackHandlerService.CallbackError;
 import org.onap.so.bpmn.common.workflow.service.CallbackHandlerService.CallbackResult;
 import org.onap.so.logger.ErrorCode;
@@ -42,13 +40,12 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
 /**
- * Generalized REST interface that injects a message event into a waiting BPMN process.
- * Examples:
+ * Generalized REST interface that injects a message event into a waiting BPMN process. Examples:
+ * 
  * <pre>
  *     /WorkflowMessage/SDNCAResponse/6d10d075-100c-42d0-9d84-a52432681cae-1478486185286
  *     /WorkflowMessage/SDNCAEvent/USOSTCDALTX0101UJZZ01
@@ -57,70 +54,62 @@
 @Path("/")
 @Api(description = "Provides a generic service to inject messages into a waiting BPMN Proccess")
 @Component
-public class WorkflowMessageResource{
-	private static final Logger logger = LoggerFactory.getLogger(WorkflowMessageResource.class);
-	private static final String LOGMARKER = "[WORKFLOW-MESSAGE]";
-	
-	@Autowired
-	CallbackHandlerService callback;
-	
-	@POST
-	@Path("/WorkflowMessage/{messageType}/{correlator}")
-	@ApiOperation(
-	        value = "Workflow message correlator",
-	        notes = ""
-	    )
-	@Consumes("*/*")
-	@Produces(MediaType.TEXT_PLAIN)
-	public Response deliver(
-			@HeaderParam("Content-Type") String contentType,
-			@PathParam("messageType") String messageType,
-			@PathParam("correlator") String correlator,
-			String message) {
+public class WorkflowMessageResource {
+    private static final Logger logger = LoggerFactory.getLogger(WorkflowMessageResource.class);
+    private static final String LOGMARKER = "[WORKFLOW-MESSAGE]";
 
-		String method = "receiveWorkflowMessage";
+    @Autowired
+    CallbackHandlerService callback;
 
-		logger.debug(LOGMARKER + " Received workflow message"
-			+ " type='" + messageType + "'"
-			+ " correlator='" + correlator + "'"
-			+ (contentType == null ? "" : " contentType='" + contentType + "'")
-			+ " message=" + System.lineSeparator() + message);
+    @POST
+    @Path("/WorkflowMessage/{messageType}/{correlator}")
+    @ApiOperation(value = "Workflow message correlator", notes = "")
+    @Consumes("*/*")
+    @Produces(MediaType.TEXT_PLAIN)
+    public Response deliver(@HeaderParam("Content-Type") String contentType,
+            @PathParam("messageType") String messageType, @PathParam("correlator") String correlator, String message) {
 
-		if (messageType == null || messageType.isEmpty()) {
-			String msg = "Missing message type";
-			logger.debug(LOGMARKER + " " + msg);
-			logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
-				ErrorCode.DataError.getValue(), LOGMARKER + ":" + msg);
-			return Response.status(400).entity(msg).build();
-		}
+        String method = "receiveWorkflowMessage";
 
-		if (correlator == null || correlator.isEmpty()) {
-			String msg = "Missing correlator";
-			logger.debug(LOGMARKER + " " + msg);
-			logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
-				ErrorCode.DataError.getValue(), LOGMARKER + ":" + msg);
-			return Response.status(400).entity(msg).build();
-		}
+        logger.debug(LOGMARKER + " Received workflow message" + " type='" + messageType + "'" + " correlator='"
+                + correlator + "'" + (contentType == null ? "" : " contentType='" + contentType + "'") + " message="
+                + System.lineSeparator() + message);
 
-		String messageEventName = "WorkflowMessage";
-		String messageVariable = messageType + "_MESSAGE";
-		String correlationVariable = messageType + "_CORRELATOR";
-		String correlationValue = correlator;
-		String contentTypeVariable = messageType + "_CONTENT_TYPE";
+        if (messageType == null || messageType.isEmpty()) {
+            String msg = "Missing message type";
+            logger.debug(LOGMARKER + " " + msg);
+            logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
+                    ErrorCode.DataError.getValue(), LOGMARKER + ":" + msg);
+            return Response.status(400).entity(msg).build();
+        }
 
-		Map<String, Object> variables = new HashMap<>();
+        if (correlator == null || correlator.isEmpty()) {
+            String msg = "Missing correlator";
+            logger.debug(LOGMARKER + " " + msg);
+            logger.error("{} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION.toString(), "BPMN",
+                    ErrorCode.DataError.getValue(), LOGMARKER + ":" + msg);
+            return Response.status(400).entity(msg).build();
+        }
 
-		if (contentType != null) {
-			variables.put(contentTypeVariable, contentType);
-		}
+        String messageEventName = "WorkflowMessage";
+        String messageVariable = messageType + "_MESSAGE";
+        String correlationVariable = messageType + "_CORRELATOR";
+        String correlationValue = correlator;
+        String contentTypeVariable = messageType + "_CONTENT_TYPE";
 
-		CallbackResult result = callback.handleCallback(method, message, messageEventName,
-			messageVariable, correlationVariable, correlationValue, LOGMARKER, variables);
+        Map<String, Object> variables = new HashMap<>();
 
-		if (result instanceof CallbackError) {
-			return Response.status(500).entity(((CallbackError)result).getErrorMessage()).build();
-		} else {
-			return Response.status(204).build();
-		}
-	}
+        if (contentType != null) {
+            variables.put(contentTypeVariable, contentType);
+        }
+
+        CallbackResult result = callback.handleCallback(method, message, messageEventName, messageVariable,
+                correlationVariable, correlationValue, LOGMARKER, variables);
+
+        if (result instanceof CallbackError) {
+            return Response.status(500).entity(((CallbackError) result).getErrorMessage()).build();
+        } else {
+            return Response.status(204).build();
+        }
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowProcessor.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowProcessor.java
index b106296..4e9e9fd 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowProcessor.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowProcessor.java
@@ -26,7 +26,6 @@
 import java.util.Map;
 import java.util.Objects;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.RuntimeService;
 import org.camunda.bpm.engine.runtime.ProcessInstance;
 import org.camunda.bpm.engine.variable.impl.VariableMapImpl;
@@ -39,65 +38,64 @@
 
 @Service
 public class WorkflowProcessor extends ProcessEngineAwareService {
-	
-	private static final Logger logger = LoggerFactory.getLogger(WorkflowProcessor.class);
-	protected static final String logMarker = "[WRKFLOW-RESOURCE]";
-	
-	@Async
-	public void startProcess( String processKey, VariableMapImpl variableMap)
-	{
-		
-		long startTime = System.currentTimeMillis();
-		Map<String, Object> inputVariables = null;
-		String processInstanceId = null;
-		try {
-			inputVariables = getInputVariables(variableMap);
-			// This variable indicates that the flow was invoked asynchronously
-			inputVariables.put("isAsyncProcess", "true");
 
-			// Note: this creates a random businessKey if it wasn't specified.
-			String businessKey = getBusinessKey(inputVariables);
+    private static final Logger logger = LoggerFactory.getLogger(WorkflowProcessor.class);
+    protected static final String logMarker = "[WRKFLOW-RESOURCE]";
 
-			logger.debug("***Received MSO startProcessInstanceByKey with processKey: {} and variables: {}", processKey,
-				inputVariables);
+    @Async
+    public void startProcess(String processKey, VariableMapImpl variableMap) {
 
-			RuntimeService runtimeService = getProcessEngineServices().getRuntimeService();
-			ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processKey, businessKey,
-					inputVariables);
-			processInstanceId = processInstance.getId();
+        long startTime = System.currentTimeMillis();
+        Map<String, Object> inputVariables = null;
+        String processInstanceId = null;
+        try {
+            inputVariables = getInputVariables(variableMap);
+            // This variable indicates that the flow was invoked asynchronously
+            inputVariables.put("isAsyncProcess", "true");
 
-			logger.debug(logMarker + "Process " + processKey + ":" + processInstanceId + " "
-					+ (processInstance.isEnded() ? "ENDED" : "RUNNING"));
-		} catch (Exception e) {
-			WorkflowResponse workflowResponse = new WorkflowResponse();
-			workflowResponse.setResponse("Error occurred while executing the process: " + e);
-			workflowResponse.setProcessInstanceID(processInstanceId);
-			workflowResponse.setMessageCode(500);
-			workflowResponse.setMessage("Fail");
-			throw new WorkflowProcessorException(workflowResponse);
-		}
-	}
+            // Note: this creates a random businessKey if it wasn't specified.
+            String businessKey = getBusinessKey(inputVariables);
 
-	// Note: the business key is used to identify the process in unit tests
-	protected static String getBusinessKey(Map<String, Object> inputVariables) {
+            logger.debug("***Received MSO startProcessInstanceByKey with processKey: {} and variables: {}", processKey,
+                    inputVariables);
+
+            RuntimeService runtimeService = getProcessEngineServices().getRuntimeService();
+            ProcessInstance processInstance =
+                    runtimeService.startProcessInstanceByKey(processKey, businessKey, inputVariables);
+            processInstanceId = processInstance.getId();
+
+            logger.debug(logMarker + "Process " + processKey + ":" + processInstanceId + " "
+                    + (processInstance.isEnded() ? "ENDED" : "RUNNING"));
+        } catch (Exception e) {
+            WorkflowResponse workflowResponse = new WorkflowResponse();
+            workflowResponse.setResponse("Error occurred while executing the process: " + e);
+            workflowResponse.setProcessInstanceID(processInstanceId);
+            workflowResponse.setMessageCode(500);
+            workflowResponse.setMessage("Fail");
+            throw new WorkflowProcessorException(workflowResponse);
+        }
+    }
+
+    // Note: the business key is used to identify the process in unit tests
+    protected static String getBusinessKey(Map<String, Object> inputVariables) {
         return getOrCreate(inputVariables, "mso-business-key");
-	}
+    }
 
-	
-	protected static Map<String, Object> getInputVariables(VariableMapImpl variableMap) {
-		Map<String, Object> inputVariables = new HashMap<>();
-		@SuppressWarnings("unchecked")
-		Map<String, Object> vMap = (Map<String, Object>) variableMap.get("variables");
-		for (Map.Entry<String, Object> entry : vMap.entrySet()) {
-			String vName = entry.getKey();
-			Object value = entry.getValue();
-			@SuppressWarnings("unchecked")
-			Map<String, Object> valueMap = (Map<String,Object>)value; // value, type
-			inputVariables.put(vName, valueMap.get("value"));
-		}
-		return inputVariables;
-	}
-	
+
+    protected static Map<String, Object> getInputVariables(VariableMapImpl variableMap) {
+        Map<String, Object> inputVariables = new HashMap<>();
+        @SuppressWarnings("unchecked")
+        Map<String, Object> vMap = (Map<String, Object>) variableMap.get("variables");
+        for (Map.Entry<String, Object> entry : vMap.entrySet()) {
+            String vName = entry.getKey();
+            Object value = entry.getValue();
+            @SuppressWarnings("unchecked")
+            Map<String, Object> valueMap = (Map<String, Object>) value; // value, type
+            inputVariables.put(vName, valueMap.get("value"));
+        }
+        return inputVariables;
+    }
+
     protected static String getOrCreate(Map<String, Object> inputVariables, String key) {
         String value = Objects.toString(inputVariables.get(key), null);
         if (value == null) {
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowResource.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowResource.java
index a5d479a..9d63e8e 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowResource.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowResource.java
@@ -28,7 +28,6 @@
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.atomic.AtomicLong;
-
 import javax.ws.rs.Consumes;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
@@ -37,7 +36,6 @@
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.UriInfo;
-
 import org.camunda.bpm.engine.HistoryService;
 import org.camunda.bpm.engine.ProcessEngineException;
 import org.camunda.bpm.engine.ProcessEngineServices;
@@ -56,7 +54,6 @@
 import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
 import org.springframework.stereotype.Component;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -64,534 +61,531 @@
 @Api(value = "/workflow", description = "Root of workflow services")
 @Component
 public class WorkflowResource extends ProcessEngineAwareService {
-	
-	private static final Logger logger = LoggerFactory.getLogger(WorkflowResource.class);
-	private static final String LOGMARKER = "[WRKFLOW-RESOURCE]";
 
-	private static final int DEFAULT_WAIT_TIME = 30000;
+    private static final Logger logger = LoggerFactory.getLogger(WorkflowResource.class);
+    private static final String LOGMARKER = "[WRKFLOW-RESOURCE]";
 
-	@Context
-	private UriInfo uriInfo = null;
+    private static final int DEFAULT_WAIT_TIME = 30000;
 
-	/**
-	 * Starts the process instance and responds to client synchronously
-	 * If the request does not contain mso-service-request-timeout then it waits for the value specified in DEFAULT_WAIT_TIME
-	 * Note: value specified in mso-service-request-timeout is in seconds
-	 * During polling time, if there is an exception encountered in the process execution then polling is stopped and the error response is 
-	 * returned to the client
-	 * @param processKey
-	 * @param variableMap
-	 * @return
-	 */
-	@POST
-	@Path("/services/{processKey}")
-	@ApiOperation(
-	        value = "Starts a new process with the appropriate process synchronously",
-	        notes = "d"
-	    )
-	@Produces("application/json")
-	@Consumes("application/json")
-	public Response startProcessInstanceByKey(@PathParam("processKey") String processKey,
-			VariableMapImpl variableMap) {
+    @Context
+    private UriInfo uriInfo = null;
 
-		Map<String, Object> inputVariables = getInputVariables(variableMap);	
-		setLogContext(processKey, inputVariables);
+    /**
+     * Starts the process instance and responds to client synchronously If the request does not contain
+     * mso-service-request-timeout then it waits for the value specified in DEFAULT_WAIT_TIME Note: value specified in
+     * mso-service-request-timeout is in seconds During polling time, if there is an exception encountered in the
+     * process execution then polling is stopped and the error response is returned to the client
+     * 
+     * @param processKey
+     * @param variableMap
+     * @return
+     */
+    @POST
+    @Path("/services/{processKey}")
+    @ApiOperation(value = "Starts a new process with the appropriate process synchronously", notes = "d")
+    @Produces("application/json")
+    @Consumes("application/json")
+    public Response startProcessInstanceByKey(@PathParam("processKey") String processKey, VariableMapImpl variableMap) {
 
-		WorkflowResponse workflowResponse = new WorkflowResponse();
-		long startTime = System.currentTimeMillis();
-		ProcessInstance processInstance = null;
+        Map<String, Object> inputVariables = getInputVariables(variableMap);
+        setLogContext(processKey, inputVariables);
 
-		try {
-			//Kickoff the process
-			ProcessThread thread = new ProcessThread(inputVariables,processKey);
-			thread.start();
+        WorkflowResponse workflowResponse = new WorkflowResponse();
+        long startTime = System.currentTimeMillis();
+        ProcessInstance processInstance = null;
 
-			Map<String, Object> responseMap = null;
+        try {
+            // Kickoff the process
+            ProcessThread thread = new ProcessThread(inputVariables, processKey);
+            thread.start();
 
-			//wait for process to be completed
-			long waitTime = getWaitTime(inputVariables);
-			long now = System.currentTimeMillis();
-			long start = now;
-			long endTime = start + waitTime;
-			long pollingInterval = 500;
+            Map<String, Object> responseMap = null;
 
-			// TEMPORARY LOGIC FOR UNIT TEST REFACTORING
-			// If this is a unit test (method is invoked directly), wait a max
-			// of 5 seconds after process ended for a result.  In production,
-			// wait up to 60 seconds.
-			long timeToWaitAfterProcessEnded = uriInfo == null ? 5000 : 60000;
-			AtomicLong timeProcessEnded = new AtomicLong(0);
-			boolean endedWithNoResponse = false;
+            // wait for process to be completed
+            long waitTime = getWaitTime(inputVariables);
+            long now = System.currentTimeMillis();
+            long start = now;
+            long endTime = start + waitTime;
+            long pollingInterval = 500;
 
-			while (now <= endTime) {
-				Thread.sleep(pollingInterval);
+            // TEMPORARY LOGIC FOR UNIT TEST REFACTORING
+            // If this is a unit test (method is invoked directly), wait a max
+            // of 5 seconds after process ended for a result. In production,
+            // wait up to 60 seconds.
+            long timeToWaitAfterProcessEnded = uriInfo == null ? 5000 : 60000;
+            AtomicLong timeProcessEnded = new AtomicLong(0);
+            boolean endedWithNoResponse = false;
 
-				now = System.currentTimeMillis();
+            while (now <= endTime) {
+                Thread.sleep(pollingInterval);
 
-				// Increase the polling interval over time
+                now = System.currentTimeMillis();
 
-				long elapsed = now - start;
+                // Increase the polling interval over time
 
-				if (elapsed > 60000) {
-					pollingInterval = 5000;
-				} else if (elapsed > 10000) {
-					pollingInterval = 1000;
-				}
-				Exception exception = thread.getException();
-				if (exception != null) {
-					throw new Exception(exception);
-				}
+                long elapsed = now - start;
 
-				processInstance = thread.getProcessInstance();
+                if (elapsed > 60000) {
+                    pollingInterval = 5000;
+                } else if (elapsed > 10000) {
+                    pollingInterval = 1000;
+                }
+                Exception exception = thread.getException();
+                if (exception != null) {
+                    throw new Exception(exception);
+                }
 
-				if (processInstance == null) {
-					logger.debug("{} process has not been created yet", LOGMARKER + processKey );
-					continue;
-				}
+                processInstance = thread.getProcessInstance();
 
-				String processInstanceId = processInstance.getId();
-				workflowResponse.setProcessInstanceID(processInstanceId);
+                if (processInstance == null) {
+                    logger.debug("{} process has not been created yet", LOGMARKER + processKey);
+                    continue;
+                }
 
-				responseMap = getResponseMap(processInstance, processKey, timeProcessEnded);
+                String processInstanceId = processInstance.getId();
+                workflowResponse.setProcessInstanceID(processInstanceId);
 
-				if (responseMap == null) {
-					logger.debug("{} has not produced a response yet", LOGMARKER + processKey);
+                responseMap = getResponseMap(processInstance, processKey, timeProcessEnded);
 
-					if (timeProcessEnded.longValue() != 0) {
-						long elapsedSinceEnded = System.currentTimeMillis() - timeProcessEnded.longValue();
+                if (responseMap == null) {
+                    logger.debug("{} has not produced a response yet", LOGMARKER + processKey);
 
-						if (elapsedSinceEnded > timeToWaitAfterProcessEnded) {
-							endedWithNoResponse = true;
-							break;
-						}
-					}
-				} else {
-					processResponseMap(workflowResponse, responseMap);
-					recordEvents(processKey, workflowResponse, startTime);
-					return Response.status(workflowResponse.getMessageCode()).entity(workflowResponse).build();
-				}
-			}
+                    if (timeProcessEnded.longValue() != 0) {
+                        long elapsedSinceEnded = System.currentTimeMillis() - timeProcessEnded.longValue();
 
-			//if we dont get response after waiting then send timeout response
+                        if (elapsedSinceEnded > timeToWaitAfterProcessEnded) {
+                            endedWithNoResponse = true;
+                            break;
+                        }
+                    }
+                } else {
+                    processResponseMap(workflowResponse, responseMap);
+                    recordEvents(processKey, workflowResponse, startTime);
+                    return Response.status(workflowResponse.getMessageCode()).entity(workflowResponse).build();
+                }
+            }
 
-			String state;
-			String processInstanceId;
+            // if we dont get response after waiting then send timeout response
 
-			if (processInstance == null) {
-				processInstanceId = "N/A";
-				state = "NOT STARTED";
-			} else {
-				processInstanceId = processInstance.getProcessInstanceId();
-				state = isProcessEnded(processInstanceId) ? "ENDED" : "NOT ENDED";
-			}
+            String state;
+            String processInstanceId;
 
-			workflowResponse.setMessage("Fail");
-			if (endedWithNoResponse) {
-				workflowResponse.setResponse("Process ended without producing a response");
-			} else {
-				workflowResponse.setResponse("Request timed out, process state: " + state);
-			}
-			workflowResponse.setProcessInstanceID(processInstanceId);
-			recordEvents(processKey, workflowResponse, startTime);
-			workflowResponse.setMessageCode(500);
-			return Response.status(500).entity(workflowResponse).build();
-		} catch (Exception ex) {
-			logger.debug(LOGMARKER + "Exception in startProcessInstance by key",ex);
-			workflowResponse.setMessage("Fail" );
-			workflowResponse.setResponse("Error occurred while executing the process: " + ex.getMessage());
-			if (processInstance != null) workflowResponse.setProcessInstanceID(processInstance.getId());
+            if (processInstance == null) {
+                processInstanceId = "N/A";
+                state = "NOT STARTED";
+            } else {
+                processInstanceId = processInstance.getProcessInstanceId();
+                state = isProcessEnded(processInstanceId) ? "ENDED" : "NOT ENDED";
+            }
 
-			logger.error("{} {} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION_ARG.toString(), "BPMN", MDC.get(processKey),
-				ErrorCode.UnknownError.getValue(),
-				LOGMARKER + workflowResponse.getMessage() + " for processKey: " + processKey + " with response: "
-					+ workflowResponse.getResponse());
-			
-			workflowResponse.setMessageCode(500);
-			recordEvents(processKey, workflowResponse, startTime);
-			return Response.status(500).entity(workflowResponse).build();
-		}
-	}
+            workflowResponse.setMessage("Fail");
+            if (endedWithNoResponse) {
+                workflowResponse.setResponse("Process ended without producing a response");
+            } else {
+                workflowResponse.setResponse("Request timed out, process state: " + state);
+            }
+            workflowResponse.setProcessInstanceID(processInstanceId);
+            recordEvents(processKey, workflowResponse, startTime);
+            workflowResponse.setMessageCode(500);
+            return Response.status(500).entity(workflowResponse).build();
+        } catch (Exception ex) {
+            logger.debug(LOGMARKER + "Exception in startProcessInstance by key", ex);
+            workflowResponse.setMessage("Fail");
+            workflowResponse.setResponse("Error occurred while executing the process: " + ex.getMessage());
+            if (processInstance != null)
+                workflowResponse.setProcessInstanceID(processInstance.getId());
 
-	/**
-	 * Returns the wait time, this is used by the resource on how long it should wait to send a response
-	 * If none specified DEFAULT_WAIT_TIME is used
-	 * @param inputVariables
-	 * @return
-	 */
-	private int getWaitTime(Map<String, Object> inputVariables)
-	{
-		String timeout = inputVariables.get("mso-service-request-timeout") == null
-			? null : inputVariables.get("mso-service-request-timeout").toString();
+            logger.error("{} {} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION_ARG.toString(), "BPMN",
+                    MDC.get(processKey), ErrorCode.UnknownError.getValue(), LOGMARKER + workflowResponse.getMessage()
+                            + " for processKey: " + processKey + " with response: " + workflowResponse.getResponse());
 
-		if (timeout != null) {
-			try {
-				return Integer.parseInt(timeout)*1000;
-			} catch (NumberFormatException nex) {
-				logger.debug("Invalid input for mso-service-request-timeout");
-			}
-		}
-		return DEFAULT_WAIT_TIME;
-	}
-	
-	private void recordEvents(String processKey, WorkflowResponse response, long startTime) {
-	}
+            workflowResponse.setMessageCode(500);
+            recordEvents(processKey, workflowResponse, startTime);
+            return Response.status(500).entity(workflowResponse).build();
+        }
+    }
 
-	private void setLogContext(String processKey, Map<String, Object> inputVariables) {
-	}
+    /**
+     * Returns the wait time, this is used by the resource on how long it should wait to send a response If none
+     * specified DEFAULT_WAIT_TIME is used
+     * 
+     * @param inputVariables
+     * @return
+     */
+    private int getWaitTime(Map<String, Object> inputVariables) {
+        String timeout = inputVariables.get("mso-service-request-timeout") == null ? null
+                : inputVariables.get("mso-service-request-timeout").toString();
 
-	private String getValueFromInputVariables(Map<String,Object> inputVariables, String key) {
-		Object value = inputVariables.get(key);
-		if (value == null) {
-			return "N/A";
-		} else {
-			return value.toString();
-		}
-	}
-	
-	/**
-	 * Checks to see if the specified process is ended.
-	 * @param processInstanceId the process instance ID
-	 * @return true if the process is ended
-	 */
-	private boolean isProcessEnded(String processInstanceId) {
-		ProcessEngineServices pes = getProcessEngineServices();
-		try {
-			return pes.getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult() == null ? true : false ;
-		} catch (Exception e) {
-			logger.debug("Exception :",e);
-			return true;
-		}        
-	}
+        if (timeout != null) {
+            try {
+                return Integer.parseInt(timeout) * 1000;
+            } catch (NumberFormatException nex) {
+                logger.debug("Invalid input for mso-service-request-timeout");
+            }
+        }
+        return DEFAULT_WAIT_TIME;
+    }
 
-	private void processResponseMap(WorkflowResponse workflowResponse, Map<String, Object> responseMap) {
-		Object object = responseMap.get("Response");
-		String response = object == null ? null : String.valueOf(object);
-		if(response == null){
-			object = responseMap.get("WorkflowResponse");
-			response = object == null ? null : String.valueOf(object);
-		}
+    private void recordEvents(String processKey, WorkflowResponse response, long startTime) {}
 
-		workflowResponse.setResponse(response);
+    private void setLogContext(String processKey, Map<String, Object> inputVariables) {}
 
-		object = responseMap.get("ResponseCode");
-		String responseCode = object == null ? null : String.valueOf(object);
+    private String getValueFromInputVariables(Map<String, Object> inputVariables, String key) {
+        Object value = inputVariables.get(key);
+        if (value == null) {
+            return "N/A";
+        } else {
+            return value.toString();
+        }
+    }
 
-		try {
-			workflowResponse.setMessageCode(Integer.parseInt(responseCode));
-		} catch(NumberFormatException nex) {
-			logger.debug(LOGMARKER + "Failed to parse ResponseCode: " + responseCode);
-			workflowResponse.setMessageCode(-1);
-		}
+    /**
+     * Checks to see if the specified process is ended.
+     * 
+     * @param processInstanceId the process instance ID
+     * @return true if the process is ended
+     */
+    private boolean isProcessEnded(String processInstanceId) {
+        ProcessEngineServices pes = getProcessEngineServices();
+        try {
+            return pes.getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId)
+                    .singleResult() == null ? true : false;
+        } catch (Exception e) {
+            logger.debug("Exception :", e);
+            return true;
+        }
+    }
 
-		Object status = responseMap.get("Status");
+    private void processResponseMap(WorkflowResponse workflowResponse, Map<String, Object> responseMap) {
+        Object object = responseMap.get("Response");
+        String response = object == null ? null : String.valueOf(object);
+        if (response == null) {
+            object = responseMap.get("WorkflowResponse");
+            response = object == null ? null : String.valueOf(object);
+        }
 
-		if ("Success".equalsIgnoreCase(String.valueOf(status))) {
-			workflowResponse.setMessage("Success");
-		} else if ("Fail".equalsIgnoreCase(String.valueOf(status))) {
-			workflowResponse.setMessage("Fail");
-		} else {
-			logger.debug(LOGMARKER + "Unrecognized Status: " + responseCode);
-			workflowResponse.setMessage("Fail");
-		}
-	}
+        workflowResponse.setResponse(response);
 
-	/**
-	 * @version 1.0
-	 * Triggers the workflow in a separate thread
-	 */
-	private class ProcessThread extends Thread {
-		private final Map<String,Object> inputVariables;
-		private final String processKey;
-		private final String businessKey;
-		private ProcessInstance processInstance = null;
-		private Exception exception = null;
+        object = responseMap.get("ResponseCode");
+        String responseCode = object == null ? null : String.valueOf(object);
+
+        try {
+            workflowResponse.setMessageCode(Integer.parseInt(responseCode));
+        } catch (NumberFormatException nex) {
+            logger.debug(LOGMARKER + "Failed to parse ResponseCode: " + responseCode);
+            workflowResponse.setMessageCode(-1);
+        }
+
+        Object status = responseMap.get("Status");
+
+        if ("Success".equalsIgnoreCase(String.valueOf(status))) {
+            workflowResponse.setMessage("Success");
+        } else if ("Fail".equalsIgnoreCase(String.valueOf(status))) {
+            workflowResponse.setMessage("Fail");
+        } else {
+            logger.debug(LOGMARKER + "Unrecognized Status: " + responseCode);
+            workflowResponse.setMessage("Fail");
+        }
+    }
+
+    /**
+     * @version 1.0 Triggers the workflow in a separate thread
+     */
+    private class ProcessThread extends Thread {
+        private final Map<String, Object> inputVariables;
+        private final String processKey;
+        private final String businessKey;
+        private ProcessInstance processInstance = null;
+        private Exception exception = null;
+
+        public ProcessThread(Map<String, Object> inputVariables, String processKey) {
+            this.inputVariables = inputVariables;
+            this.processKey = processKey;
+            this.businessKey = UUID.randomUUID().toString();
+        }
+
+        /**
+         * If an exception occurs when starting the process instance, it may be obtained by calling this method. Note
+         * that exceptions are only recorded while the process is executing in its original thread. Once a process is
+         * suspended, exception recording stops.
+         * 
+         * @return the exception, or null if none has occurred
+         */
+        public Exception getException() {
+            return exception;
+        }
+
+
+        public ProcessInstance getProcessInstance() {
+            return this.processInstance;
+        }
+
+        /**
+         * Sets the process instance exception.
+         * 
+         * @param exception the exception
+         */
+        private void setException(Exception exception) {
+            this.exception = exception;
+        }
+
+        public void run() {
+            setLogContext(processKey, inputVariables);
+
+            long startTime = System.currentTimeMillis();
+
+            try {
+
+                RuntimeService runtimeService = getProcessEngineServices().getRuntimeService();
+
+                // Note that this method doesn't return until the process suspends
+                // itself or finishes. We provide a business key so we can identify
+                // the process instance immediately.
+                processInstance = runtimeService.startProcessInstanceByKey(processKey, inputVariables);
+
+            } catch (Exception e) {
+                logger.debug(LOGMARKER + "ProcessThread caught an exception executing " + processKey + ": " + e);
+                setException(e);
+            }
+        }
+
+    }
+
+    private Map<String, Object> getInputVariables(VariableMapImpl variableMap) {
+        VariableMap inputVariables = Variables.createVariables();
+        @SuppressWarnings("unchecked")
+        Map<String, Object> vMap = (Map<String, Object>) variableMap.get("variables");
+        for (String key : vMap.keySet()) { // variabe name vn
+            @SuppressWarnings("unchecked")
+            Map<String, Object> valueMap = (Map<String, Object>) vMap.get(key); // value, type
+            inputVariables.putValueTyped(key,
+                    Variables.objectValue(valueMap.get("value")).serializationDataFormat(SerializationDataFormats.JAVA) // tells
+                                                                                                                        // the
+                                                                                                                        // engine
+                                                                                                                        // to
+                                                                                                                        // use
+                                                                                                                        // java
+                                                                                                                        // serialization
+                                                                                                                        // for
+                                                                                                                        // persisting
+                                                                                                                        // the
+                                                                                                                        // value
+                            .create());
+        }
+        return inputVariables;
+    }
 
-		public ProcessThread(Map<String, Object> inputVariables, String processKey) {
-			this.inputVariables = inputVariables;
-			this.processKey = processKey;
-			this.businessKey = UUID.randomUUID().toString();
-		}
+    /**
+     * Attempts to get a response map from the specified process instance.
+     * 
+     * @return the response map, or null if it is unavailable
+     */
+    private Map<String, Object> getResponseMap(ProcessInstance processInstance, String processKey,
+            AtomicLong timeProcessEnded) {
 
-		/**
-		 * If an exception occurs when starting the process instance, it may
-		 * be obtained by calling this method.  Note that exceptions are only
-		 * recorded while the process is executing in its original thread.
-		 * Once a process is suspended, exception recording stops.
-		 * @return the exception, or null if none has occurred
-		 */
-		public Exception getException() {
-			return exception;
-		}
+        String responseMapVariable = processKey + "ResponseMap";
+        String processInstanceId = processInstance.getId();
 
-		
-		public ProcessInstance getProcessInstance() {
-			return this.processInstance;
-		}
-		
-		/**
-		 * Sets the process instance exception.
-		 * @param exception the exception
-		 */
-		private void setException(Exception exception) {
-			this.exception = exception;
-		}
+        // Query the runtime service to see if a response map is ready.
 
-		public void run() {
-			setLogContext(processKey, inputVariables);
+        /*
+         * RuntimeService runtimeService = getProcessEngineServices().getRuntimeService(); List<Execution> executions =
+         * runtimeService.createExecutionQuery() .processInstanceId(processInstanceId).list();
+         * 
+         * for (Execution execution : executions) {
+         * 
+         * @SuppressWarnings("unchecked") Map<String, Object> responseMap = (Map<String, Object>)
+         * getVariableFromExecution(runtimeService, execution.getId(), responseMapVariable);
+         * 
+         * if (responseMap != null) { msoLogger.debug(LOGMARKER + "Obtained " + responseMapVariable + " from process " +
+         * processInstanceId + " execution " + execution.getId()); return responseMap; } }
+         */
+        // Querying history seem to return consistent results compared to querying the runtime service
 
-			long startTime = System.currentTimeMillis();
-			
-			try {
-						
-				RuntimeService runtimeService = getProcessEngineServices().getRuntimeService();
+        boolean alreadyEnded = timeProcessEnded.longValue() != 0;
 
-				// Note that this method doesn't return until the process suspends
-				// itself or finishes.  We provide a business key so we can identify
-				// the process instance immediately.
-				processInstance = runtimeService.startProcessInstanceByKey(
-					processKey, inputVariables);
+        if (alreadyEnded || isProcessEnded(processInstance.getId())) {
+            if (!alreadyEnded) {
+                timeProcessEnded.set(System.currentTimeMillis());
+            }
 
-			} catch (Exception e) {
-				logger.debug(LOGMARKER + "ProcessThread caught an exception executing "
-					+ processKey + ": " + e);
-				setException(e);
-			}
-		}
+            // Query the history service to see if a response map exists.
 
-	}
+            HistoryService historyService = getProcessEngineServices().getHistoryService();
+            @SuppressWarnings("unchecked")
+            Map<String, Object> responseMap = (Map<String, Object>) getVariableFromHistory(historyService,
+                    processInstance.getId(), responseMapVariable);
 
-	private Map<String, Object> getInputVariables(VariableMapImpl variableMap) {
-		VariableMap inputVariables = Variables.createVariables();
-		@SuppressWarnings("unchecked")
-		Map<String, Object> vMap = (Map<String, Object>) variableMap.get("variables");
-		for (String key : vMap.keySet()) { //variabe name vn
-			@SuppressWarnings("unchecked")
-			Map<String, Object> valueMap = (Map<String,Object>)vMap.get(key); //value, type
-			inputVariables.putValueTyped(key, Variables
-			.objectValue(valueMap.get("value"))
-			.serializationDataFormat(SerializationDataFormats.JAVA) // tells the engine to use java serialization for persisting the value
-			.create());
-		}
-		return inputVariables;
-	}
+            if (responseMap != null) {
+                logger.debug(LOGMARKER + "Obtained " + responseMapVariable + " from process " + processInstanceId
+                        + " history");
+                return responseMap;
+            }
 
-	/**
-	 * Attempts to get a response map from the specified process instance.
-	 * @return the response map, or null if it is unavailable
-	 */
-	private Map<String, Object> getResponseMap(ProcessInstance processInstance,
-			String processKey, AtomicLong timeProcessEnded) {
+            // Query the history service for old-style response variables.
 
-		String responseMapVariable = processKey + "ResponseMap";
-		String processInstanceId = processInstance.getId();
+            String prefix = (String) getVariableFromHistory(historyService, processInstanceId, "prefix");
 
-		// Query the runtime service to see if a response map is ready.
+            if (prefix != null) {
 
-/*		RuntimeService runtimeService = getProcessEngineServices().getRuntimeService();
-		List<Execution> executions = runtimeService.createExecutionQuery()
-			.processInstanceId(processInstanceId).list();
+                // Check for 'WorkflowResponse' variable
+                Object workflowResponseObject =
+                        getVariableFromHistory(historyService, processInstanceId, "WorkflowResponse");
+                String workflowResponse =
+                        workflowResponseObject == null ? null : String.valueOf(workflowResponseObject);
+                logger.debug(LOGMARKER + "WorkflowResponse: " + workflowResponse);
 
-		for (Execution execution : executions) {
-			@SuppressWarnings("unchecked")
-			Map<String, Object> responseMap = (Map<String, Object>)
-				getVariableFromExecution(runtimeService, execution.getId(),
-					responseMapVariable);
+                if (workflowResponse != null) {
+                    Object responseCodeObject =
+                            getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
+                    String responseCode = responseCodeObject == null ? null : String.valueOf(responseCodeObject);
+                    logger.debug(LOGMARKER + prefix + "ResponseCode: " + responseCode);
+                    responseMap = new HashMap<>();
+                    responseMap.put("WorkflowResponse", workflowResponse);
+                    responseMap.put("ResponseCode", responseCode);
+                    responseMap.put("Status", "Success");
+                    return responseMap;
+                }
 
-			if (responseMap != null) {
-				msoLogger.debug(LOGMARKER + "Obtained " + responseMapVariable
-					+ " from process " + processInstanceId + " execution "
-					+ execution.getId());
-				return responseMap;
-			}
-		}
-*/
-		//Querying history seem to return consistent results compared to querying the runtime service
 
-		boolean alreadyEnded = timeProcessEnded.longValue() != 0;
+                // Check for 'WorkflowException' variable
+                WorkflowException workflowException = null;
+                String workflowExceptionText = null;
 
-		if (alreadyEnded || isProcessEnded(processInstance.getId())) {
-			if (!alreadyEnded) {
-				timeProcessEnded.set(System.currentTimeMillis());
-			}
+                Object workflowExceptionObject =
+                        getVariableFromHistory(historyService, processInstanceId, "WorkflowException");
+                if (workflowExceptionObject != null) {
+                    if (workflowExceptionObject instanceof WorkflowException) {
+                        workflowException = (WorkflowException) workflowExceptionObject;
+                        workflowExceptionText = workflowException.toString();
+                        responseMap = new HashMap<>();
+                        responseMap.put("WorkflowException", workflowExceptionText);
+                        responseMap.put("ResponseCode", workflowException.getErrorCode());
+                        responseMap.put("Status", "Fail");
+                        return responseMap;
+                    } else if (workflowExceptionObject instanceof String) {
+                        Object object =
+                                getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
+                        String responseCode = object == null ? null : String.valueOf(object);
+                        workflowExceptionText = (String) workflowExceptionObject;
+                        responseMap = new HashMap<>();
+                        responseMap.put("WorkflowException", workflowExceptionText);
+                        responseMap.put("ResponseCode", responseCode);
+                        responseMap.put("Status", "Fail");
+                        return responseMap;
+                    }
 
-			// Query the history service to see if a response map exists.
+                }
+                logger.debug(LOGMARKER + "WorkflowException: " + workflowExceptionText);
 
-			HistoryService historyService = getProcessEngineServices().getHistoryService();
-			@SuppressWarnings("unchecked")
-			Map<String, Object> responseMap = (Map<String, Object>)
-				getVariableFromHistory(historyService, processInstance.getId(),
-					responseMapVariable);
+                // BEGIN LEGACY SUPPORT. TODO: REMOVE THIS CODE
+                Object object = getVariableFromHistory(historyService, processInstanceId, processKey + "Response");
+                String response = object == null ? null : String.valueOf(object);
+                logger.debug(LOGMARKER + processKey + "Response: " + response);
 
-			if (responseMap != null) {
-				logger.debug(LOGMARKER + "Obtained " + responseMapVariable
-					+ " from process " + processInstanceId + " history");
-				return responseMap;
-			}
+                if (response != null) {
+                    object = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
+                    String responseCode = object == null ? null : String.valueOf(object);
+                    logger.debug(LOGMARKER + prefix + "ResponseCode: " + responseCode);
+                    responseMap = new HashMap<>();
+                    responseMap.put("Response", response);
+                    responseMap.put("ResponseCode", responseCode);
+                    responseMap.put("Status", "Success");
+                    return responseMap;
+                }
 
-			// Query the history service for old-style response variables.
+                object = getVariableFromHistory(historyService, processInstanceId, prefix + "ErrorResponse");
+                String errorResponse = object == null ? null : String.valueOf(object);
+                logger.debug(LOGMARKER + prefix + "ErrorResponse: " + errorResponse);
 
-			String prefix = (String) getVariableFromHistory(historyService, processInstanceId, "prefix");
+                if (errorResponse != null) {
+                    object = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
+                    String responseCode = object == null ? null : String.valueOf(object);
+                    logger.debug(LOGMARKER + prefix + "ResponseCode: " + responseCode);
+                    responseMap = new HashMap<>();
+                    responseMap.put("Response", errorResponse);
+                    responseMap.put("ResponseCode", responseCode);
+                    responseMap.put("Status", "Fail");
+                    return responseMap;
+                }
+                // END LEGACY SUPPORT. TODO: REMOVE THIS CODE
+            }
+        }
+        return null;
+    }
 
-			if (prefix != null) {
-				
-				// Check for 'WorkflowResponse' variable
-				Object workflowResponseObject = getVariableFromHistory(historyService, processInstanceId, "WorkflowResponse");
-				String workflowResponse = workflowResponseObject == null ? null : String.valueOf(workflowResponseObject);
-				logger.debug(LOGMARKER + "WorkflowResponse: " + workflowResponse);
-				
-				if (workflowResponse != null) {
-					Object responseCodeObject = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
-					String responseCode = responseCodeObject == null ? null : String.valueOf(responseCodeObject);
-					logger.debug(LOGMARKER + prefix + "ResponseCode: " + responseCode);
-					responseMap = new HashMap<>();
-					responseMap.put("WorkflowResponse", workflowResponse);
-					responseMap.put("ResponseCode", responseCode);
-					responseMap.put("Status", "Success");
-					return responseMap;
-				}
-				
-				
-				// Check for 'WorkflowException' variable
-				WorkflowException workflowException = null;
-				String workflowExceptionText = null;
+    /**
+     * Gets a variable value from the specified execution.
+     * 
+     * @return the variable value, or null if the variable could not be obtained
+     */
+    private Object getVariableFromExecution(RuntimeService runtimeService, String executionId, String variableName) {
+        try {
+            return runtimeService.getVariable(executionId, variableName);
+        } catch (ProcessEngineException e) {
+            // Most likely cause is that the execution no longer exists.
+            logger.debug("Error retrieving execution " + executionId + " variable " + variableName + ": " + e);
+            return null;
+        }
+    }
 
-				Object workflowExceptionObject = getVariableFromHistory(historyService, processInstanceId, "WorkflowException");
-				if(workflowExceptionObject != null) {
-					if(workflowExceptionObject instanceof WorkflowException) {
-						workflowException = (WorkflowException) workflowExceptionObject;
-						workflowExceptionText = workflowException.toString();
-						responseMap = new HashMap<>();
-						responseMap.put("WorkflowException", workflowExceptionText);
-						responseMap.put("ResponseCode", workflowException.getErrorCode());
-						responseMap.put("Status", "Fail");
-						return responseMap;
-					}
-					else if (workflowExceptionObject instanceof String) {
-						Object object = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
-						String responseCode = object == null ? null : String.valueOf(object);
-						workflowExceptionText = (String) workflowExceptionObject;
-						responseMap = new HashMap<>();
-						responseMap.put("WorkflowException", workflowExceptionText);
-						responseMap.put("ResponseCode", responseCode);
-						responseMap.put("Status", "Fail");
-						return responseMap;
-					}
-					
-				}
-				logger.debug(LOGMARKER + "WorkflowException: " + workflowExceptionText);
-				
-				// BEGIN LEGACY SUPPORT.  TODO: REMOVE THIS CODE
-				Object object = getVariableFromHistory(historyService, processInstanceId, processKey + "Response");
-				String response = object == null ? null : String.valueOf(object);
-				logger.debug(LOGMARKER + processKey + "Response: " + response);
+    /**
+     * Gets a variable value from specified historical process instance.
+     * 
+     * @return the variable value, or null if the variable could not be obtained
+     */
+    private Object getVariableFromHistory(HistoryService historyService, String processInstanceId,
+            String variableName) {
+        try {
+            HistoricVariableInstance v = historyService.createHistoricVariableInstanceQuery()
+                    .processInstanceId(processInstanceId).variableName(variableName).singleResult();
+            return v == null ? null : v.getValue();
+        } catch (Exception e) {
+            logger.debug("Error retrieving process {} variable {} from history: ", processInstanceId, variableName, e);
+            return null;
+        }
+    }
 
-				if (response != null) {
-					object = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
-					String responseCode = object == null ? null : String.valueOf(object);
-					logger.debug(LOGMARKER + prefix + "ResponseCode: " + responseCode);
-					responseMap = new HashMap<>();
-					responseMap.put("Response", response);
-					responseMap.put("ResponseCode", responseCode);
-					responseMap.put("Status", "Success");
-					return responseMap;
-				}
-	
-				object = getVariableFromHistory(historyService, processInstanceId, prefix + "ErrorResponse");
-				String errorResponse = object == null ? null : String.valueOf(object);
-				logger.debug(LOGMARKER + prefix + "ErrorResponse: " + errorResponse);
+    @POST
+    @Path("/services/{processKey}/{processInstanceId}")
+    @Produces("application/json")
+    @Consumes("application/json")
+    @ApiOperation(value = "Allows for retrieval of the variables for a given process", notes = "")
+    public WorkflowResponse getProcessVariables(@PathParam("processKey") String processKey,
+            @PathParam("processInstanceId") String processInstanceId) {
+        // TODO filter only set of variables
+        WorkflowResponse response = new WorkflowResponse();
 
-				if (errorResponse != null) {
-					object = getVariableFromHistory(historyService, processInstanceId, prefix + "ResponseCode");
-					String responseCode = object == null ? null : String.valueOf(object);
-					logger.debug(LOGMARKER + prefix + "ResponseCode: " + responseCode);
-					responseMap = new HashMap<>();
-					responseMap.put("Response", errorResponse);
-					responseMap.put("ResponseCode", responseCode);
-					responseMap.put("Status", "Fail");
-					return responseMap;
-				}
-				// END LEGACY SUPPORT.  TODO: REMOVE THIS CODE
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Gets a variable value from the specified execution.
-	 * @return the variable value, or null if the variable could not be
-	 * obtained
-	 */
-	private Object getVariableFromExecution(RuntimeService runtimeService,
-			String executionId, String variableName) {
-		try {
-			return runtimeService.getVariable(executionId, variableName);
-		} catch (ProcessEngineException e) {
-			// Most likely cause is that the execution no longer exists.
-			logger.debug("Error retrieving execution " + executionId
-				+ " variable " + variableName + ": " + e);
-			return null;
-		}
-	}
-	/**
-	 * Gets a variable value from specified historical process instance.
-	 * @return the variable value, or null if the variable could not be
-	 * obtained
-	 */
-	private Object getVariableFromHistory(HistoryService historyService,
-			String processInstanceId, String variableName) {
-		try {
-			HistoricVariableInstance v = historyService.createHistoricVariableInstanceQuery()
-				.processInstanceId(processInstanceId).variableName(variableName).singleResult();
-			return v == null ? null : v.getValue();
-		} catch (Exception e) {
-			logger.debug("Error retrieving process {} variable {} from history: ", processInstanceId,
-				variableName, e);
-			return null;
-		}
-	}
-	
-	@POST
-	@Path("/services/{processKey}/{processInstanceId}")
-	@Produces("application/json")
-	@Consumes("application/json")
-	@ApiOperation(
-	        value = "Allows for retrieval of the variables for a given process",
-	        notes = ""
-	    )
-	public WorkflowResponse getProcessVariables(@PathParam("processKey") String processKey, @PathParam("processInstanceId") String processInstanceId) {
-		//TODO filter only set of variables
-		WorkflowResponse response = new WorkflowResponse();
+        long startTime = System.currentTimeMillis();
+        try {
+            ProcessEngineServices engine = getProcessEngineServices();
+            List<HistoricVariableInstance> variables = engine.getHistoryService().createHistoricVariableInstanceQuery()
+                    .processInstanceId(processInstanceId).list();
+            Map<String, String> variablesMap = new HashMap<>();
+            for (HistoricVariableInstance variableInstance : variables) {
+                variablesMap.put(variableInstance.getName(), variableInstance.getValue().toString());
+            }
 
-		long startTime = System.currentTimeMillis();
-		try {
-			ProcessEngineServices engine = getProcessEngineServices();
-			List<HistoricVariableInstance> variables = engine.getHistoryService().createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).list();
-			Map<String,String> variablesMap = new HashMap<>();
-			for (HistoricVariableInstance variableInstance: variables) {
-				variablesMap.put(variableInstance.getName(), variableInstance.getValue().toString());
-			}
+            logger.debug(LOGMARKER + "***Received MSO getProcessVariables with processKey:" + processKey
+                    + " and variables: " + variablesMap.toString());
 
-			logger.debug(LOGMARKER + "***Received MSO getProcessVariables with processKey:" + processKey + " and variables: " +
-				variablesMap.toString());
-			
-			response.setVariables(variablesMap);
-			response.setMessage("Success");
-			response.setResponse("Successfully retrieved the variables");
-			response.setProcessInstanceID(processInstanceId);
+            response.setVariables(variablesMap);
+            response.setMessage("Success");
+            response.setResponse("Successfully retrieved the variables");
+            response.setProcessInstanceID(processInstanceId);
 
-			logger.debug(LOGMARKER + response.getMessage() + " for processKey: " + processKey + " with response: " + response
-				.getResponse());
-		} catch (Exception ex) {
-			response.setMessage("Fail");
-			response.setResponse("Failed to retrieve the variables," + ex.getMessage());
-			response.setProcessInstanceID(processInstanceId);
+            logger.debug(LOGMARKER + response.getMessage() + " for processKey: " + processKey + " with response: "
+                    + response.getResponse());
+        } catch (Exception ex) {
+            response.setMessage("Fail");
+            response.setResponse("Failed to retrieve the variables," + ex.getMessage());
+            response.setProcessInstanceID(processInstanceId);
 
-			logger.error("{} {} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION_ARG.toString(), "BPMN", MDC.get(processKey),
-				ErrorCode.UnknownError.getValue(),
-				LOGMARKER + response.getMessage() + " for processKey: " + processKey + " with response: " + response
-					.getResponse());
-			logger.debug("Exception :",ex);
-		}
-		return response;
-	}
+            logger.error("{} {} {} {} {}", MessageEnum.BPMN_GENERAL_EXCEPTION_ARG.toString(), "BPMN",
+                    MDC.get(processKey), ErrorCode.UnknownError.getValue(), LOGMARKER + response.getMessage()
+                            + " for processKey: " + processKey + " with response: " + response.getResponse());
+            logger.debug("Exception :", ex);
+        }
+        return response;
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/core/plugins/LoggingAndURNMappingPlugin.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/core/plugins/LoggingAndURNMappingPlugin.java
index 3eed14b..296ab64 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/core/plugins/LoggingAndURNMappingPlugin.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/core/plugins/LoggingAndURNMappingPlugin.java
@@ -32,7 +32,6 @@
 import java.util.Map.Entry;
 import java.util.Properties;
 import java.util.concurrent.ConcurrentHashMap;
-
 import org.camunda.bpm.engine.RepositoryService;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.camunda.bpm.engine.delegate.ExecutionListener;
@@ -53,8 +52,6 @@
 import org.camunda.bpm.model.bpmn.instance.EndEvent;
 import org.camunda.bpm.model.bpmn.instance.FlowNode;
 import org.camunda.bpm.model.bpmn.instance.StartEvent;
-
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -72,256 +69,259 @@
 @Component
 public class LoggingAndURNMappingPlugin extends AbstractProcessEnginePlugin {
 
-	@Autowired
-	private LoggingParseListener loggingParseListener;
+    @Autowired
+    private LoggingParseListener loggingParseListener;
 
-	@Override
-	public void preInit(
-			ProcessEngineConfigurationImpl processEngineConfiguration) {
-		List<BpmnParseListener> preParseListeners = processEngineConfiguration
-				.getCustomPreBPMNParseListeners();
-		if (preParseListeners == null) {
-			preParseListeners = new ArrayList<>();
-			processEngineConfiguration.setCustomPreBPMNParseListeners(preParseListeners);
-		}
-		preParseListeners.add(loggingParseListener);
-	}
+    @Override
+    public void preInit(ProcessEngineConfigurationImpl processEngineConfiguration) {
+        List<BpmnParseListener> preParseListeners = processEngineConfiguration.getCustomPreBPMNParseListeners();
+        if (preParseListeners == null) {
+            preParseListeners = new ArrayList<>();
+            processEngineConfiguration.setCustomPreBPMNParseListeners(preParseListeners);
+        }
+        preParseListeners.add(loggingParseListener);
+    }
 
-	/**
-	 * Called when a process flow is parsed so we can inject listeners.
-	 */
-	@Component
-	public class LoggingParseListener extends AbstractBpmnParseListener {
+    /**
+     * Called when a process flow is parsed so we can inject listeners.
+     */
+    @Component
+    public class LoggingParseListener extends AbstractBpmnParseListener {
 
 
-		private void injectLogExecutionListener(ActivityImpl activity) {
-			activity.addListener(
-					ExecutionListener.EVENTNAME_END,
-					new LoggingExecutionListener("END"));
+        private void injectLogExecutionListener(ActivityImpl activity) {
+            activity.addListener(ExecutionListener.EVENTNAME_END, new LoggingExecutionListener("END"));
 
-			activity.addListener(
-					ExecutionListener.EVENTNAME_START,
-					new LoggingExecutionListener("START"));
+            activity.addListener(ExecutionListener.EVENTNAME_START, new LoggingExecutionListener("START"));
 
-			activity.addListener(
-					ExecutionListener.EVENTNAME_TAKE,
-					new LoggingExecutionListener("TAKE"));
-		}
+            activity.addListener(ExecutionListener.EVENTNAME_TAKE, new LoggingExecutionListener("TAKE"));
+        }
 
-                @Override
-		public void parseProcess(Element processElement, ProcessDefinitionEntity processDefinition) {
-		}
+        @Override
+        public void parseProcess(Element processElement, ProcessDefinitionEntity processDefinition) {}
 
-                @Override
-		public void parseStartEvent(Element startEventElement, ScopeImpl scope, ActivityImpl startEventActivity) {
-			// Inject these listeners only on the main start event for the flow, not on any embedded subflow start events
+        @Override
+        public void parseStartEvent(Element startEventElement, ScopeImpl scope, ActivityImpl startEventActivity) {
+            // Inject these listeners only on the main start event for the flow, not on any embedded subflow start
+            // events
 
-			injectLogExecutionListener(startEventActivity);
-		}
+            injectLogExecutionListener(startEventActivity);
+        }
 
-		@Override
-		public void parseServiceTask(Element serviceTaskElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseServiceTask(Element serviceTaskElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseExclusiveGateway(Element exclusiveGwElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseExclusiveGateway(Element exclusiveGwElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseInclusiveGateway(Element inclusiveGwElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseInclusiveGateway(Element inclusiveGwElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseParallelGateway(Element parallelGwElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseParallelGateway(Element parallelGwElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseScriptTask(Element scriptTaskElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseScriptTask(Element scriptTaskElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseBusinessRuleTask(Element businessRuleTaskElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseBusinessRuleTask(Element businessRuleTaskElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseTask(Element taskElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseTask(Element taskElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseManualTask(Element manualTaskElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseManualTask(Element manualTaskElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseUserTask(Element userTaskElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseUserTask(Element userTaskElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseEndEvent(Element endEventElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseEndEvent(Element endEventElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseBoundaryTimerEventDefinition(Element timerEventDefinition, boolean interrupting, ActivityImpl timerActivity) {
-			injectLogExecutionListener(timerActivity);
-		}
+        @Override
+        public void parseBoundaryTimerEventDefinition(Element timerEventDefinition, boolean interrupting,
+                ActivityImpl timerActivity) {
+            injectLogExecutionListener(timerActivity);
+        }
 
-                @Override
-		public void parseBoundaryErrorEventDefinition(Element errorEventDefinition, boolean interrupting, ActivityImpl activity, ActivityImpl nestedErrorEventActivity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseBoundaryErrorEventDefinition(Element errorEventDefinition, boolean interrupting,
+                ActivityImpl activity, ActivityImpl nestedErrorEventActivity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseSubProcess(Element subProcessElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseSubProcess(Element subProcessElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseCallActivity(Element callActivityElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseCallActivity(Element callActivityElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseProperty(Element propertyElement, VariableDeclaration variableDeclaration, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseProperty(Element propertyElement, VariableDeclaration variableDeclaration,
+                ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseSequenceFlow(Element sequenceFlowElement, ScopeImpl scopeElement, TransitionImpl transition) {
-			//injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseSequenceFlow(Element sequenceFlowElement, ScopeImpl scopeElement, TransitionImpl transition) {
+            // injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseSendTask(Element sendTaskElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseSendTask(Element sendTaskElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseMultiInstanceLoopCharacteristics(Element activityElement, Element multiInstanceLoopCharacteristicsElement, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseMultiInstanceLoopCharacteristics(Element activityElement,
+                Element multiInstanceLoopCharacteristicsElement, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseIntermediateTimerEventDefinition(Element timerEventDefinition, ActivityImpl timerActivity) {
-			injectLogExecutionListener(timerActivity);
-		}
+        @Override
+        public void parseIntermediateTimerEventDefinition(Element timerEventDefinition, ActivityImpl timerActivity) {
+            injectLogExecutionListener(timerActivity);
+        }
 
-                @Override
-		public void parseRootElement(Element rootElement, List<ProcessDefinitionEntity> processDefinitions) {
+        @Override
+        public void parseRootElement(Element rootElement, List<ProcessDefinitionEntity> processDefinitions) {
 
-		}
+        }
 
-                @Override
-		public void parseReceiveTask(Element receiveTaskElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseReceiveTask(Element receiveTaskElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseIntermediateSignalCatchEventDefinition(Element signalEventDefinition, ActivityImpl signalActivity) {
-			injectLogExecutionListener(signalActivity);
-		}
+        @Override
+        public void parseIntermediateSignalCatchEventDefinition(Element signalEventDefinition,
+                ActivityImpl signalActivity) {
+            injectLogExecutionListener(signalActivity);
+        }
 
-                @Override
-		public void parseBoundarySignalEventDefinition(Element signalEventDefinition, boolean interrupting, ActivityImpl signalActivity) {
-			injectLogExecutionListener(signalActivity);
-		}
+        @Override
+        public void parseBoundarySignalEventDefinition(Element signalEventDefinition, boolean interrupting,
+                ActivityImpl signalActivity) {
+            injectLogExecutionListener(signalActivity);
+        }
 
-                @Override
-		public void parseEventBasedGateway(Element eventBasedGwElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseEventBasedGateway(Element eventBasedGwElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseTransaction(Element transactionElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseTransaction(Element transactionElement, ScopeImpl scope, ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseCompensateEventDefinition(Element compensateEventDefinition, ActivityImpl compensationActivity) {
-			injectLogExecutionListener(compensationActivity);
-		}
+        @Override
+        public void parseCompensateEventDefinition(Element compensateEventDefinition,
+                ActivityImpl compensationActivity) {
+            injectLogExecutionListener(compensationActivity);
+        }
 
-                @Override
-		public void parseIntermediateThrowEvent(Element intermediateEventElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseIntermediateThrowEvent(Element intermediateEventElement, ScopeImpl scope,
+                ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseIntermediateCatchEvent(Element intermediateEventElement, ScopeImpl scope, ActivityImpl activity) {
-			injectLogExecutionListener(activity);
-		}
+        @Override
+        public void parseIntermediateCatchEvent(Element intermediateEventElement, ScopeImpl scope,
+                ActivityImpl activity) {
+            injectLogExecutionListener(activity);
+        }
 
-                @Override
-		public void parseBoundaryEvent(Element boundaryEventElement, ScopeImpl scopeElement, ActivityImpl nestedActivity) {
-			injectLogExecutionListener(nestedActivity);
-		}
+        @Override
+        public void parseBoundaryEvent(Element boundaryEventElement, ScopeImpl scopeElement,
+                ActivityImpl nestedActivity) {
+            injectLogExecutionListener(nestedActivity);
+        }
 
-                @Override
-		public void parseIntermediateMessageCatchEventDefinition(Element messageEventDefinition, ActivityImpl nestedActivity) {
-			injectLogExecutionListener(nestedActivity);
-		}
+        @Override
+        public void parseIntermediateMessageCatchEventDefinition(Element messageEventDefinition,
+                ActivityImpl nestedActivity) {
+            injectLogExecutionListener(nestedActivity);
+        }
 
-                @Override
-		public void parseBoundaryMessageEventDefinition(Element element, boolean interrupting, ActivityImpl messageActivity) {
-			injectLogExecutionListener(messageActivity);
-		}
-	}
+        @Override
+        public void parseBoundaryMessageEventDefinition(Element element, boolean interrupting,
+                ActivityImpl messageActivity) {
+            injectLogExecutionListener(messageActivity);
+        }
+    }
 
-	/**
-	 * Logs details about the current activity.
-	 */
-	public class LoggingExecutionListener implements ExecutionListener {
-		private final Logger logger = LoggerFactory.getLogger(LoggingExecutionListener.class);
+    /**
+     * Logs details about the current activity.
+     */
+    public class LoggingExecutionListener implements ExecutionListener {
+        private final Logger logger = LoggerFactory.getLogger(LoggingExecutionListener.class);
 
-		private String event;
+        private String event;
 
-		public LoggingExecutionListener() {
-			this.event = "";
-		}
+        public LoggingExecutionListener() {
+            this.event = "";
+        }
 
-		public LoggingExecutionListener(String event) {
-			this.event = event;
-		}
+        public LoggingExecutionListener(String event) {
+            this.event = event;
+        }
 
-		public String getEvent() {
-			return event;
-		}
+        public String getEvent() {
+            return event;
+        }
 
-		@Override
-		public void notify(DelegateExecution execution) throws Exception {
-			//required for legacy groovy processing in camunda
-			execution.setVariable("isDebugLogEnabled", "true");
-			if (!isBlank(execution.getCurrentActivityName())) {
-				try {
+        @Override
+        public void notify(DelegateExecution execution) throws Exception {
+            // required for legacy groovy processing in camunda
+            execution.setVariable("isDebugLogEnabled", "true");
+            if (!isBlank(execution.getCurrentActivityName())) {
+                try {
 
-					String id = execution.getId();
-					if (id != null ) {
-						RepositoryService repositoryService = execution.getProcessEngineServices().getRepositoryService();
-						String processName = repositoryService.createProcessDefinitionQuery()
-						  .processDefinitionId(execution.getProcessDefinitionId())
-						  .singleResult()
-						  .getName();
+                    String id = execution.getId();
+                    if (id != null) {
+                        RepositoryService repositoryService =
+                                execution.getProcessEngineServices().getRepositoryService();
+                        String processName = repositoryService.createProcessDefinitionQuery()
+                                .processDefinitionId(execution.getProcessDefinitionId()).singleResult().getName();
 
 
-						String requestId = (String) execution.getVariable("mso-request-id");
-						String svcid = (String) execution.getVariable("mso-service-instance-id");
-					}
-				} catch(Exception e) {
-					logger.error("Exception occurred", e);
-				}
-			}
-		}
+                        String requestId = (String) execution.getVariable("mso-request-id");
+                        String svcid = (String) execution.getVariable("mso-service-instance-id");
+                    }
+                } catch (Exception e) {
+                    logger.error("Exception occurred", e);
+                }
+            }
+        }
 
-		private boolean isBlank(Object object) {
-			return object == null || "".equals(object.toString().trim());
-		}
-	}
+        private boolean isBlank(Object object) {
+            return object == null || "".equals(object.toString().trim());
+        }
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/core/plugins/WorkflowExceptionPlugin.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/core/plugins/WorkflowExceptionPlugin.java
index 8bc0055..ab21c08 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/core/plugins/WorkflowExceptionPlugin.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/core/plugins/WorkflowExceptionPlugin.java
@@ -25,7 +25,6 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
-
 import org.camunda.bpm.engine.delegate.BpmnError;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.camunda.bpm.engine.delegate.ExecutionListener;
@@ -41,7 +40,6 @@
 import org.camunda.bpm.engine.impl.pvm.process.ActivityImpl;
 import org.camunda.bpm.engine.impl.pvm.process.TransitionImpl;
 import org.camunda.bpm.engine.impl.util.xml.Element;
-
 import org.onap.so.bpmn.core.WorkflowException;
 import org.springframework.stereotype.Component;
 import org.slf4j.Logger;
@@ -50,125 +48,115 @@
 /**
  * This plugin does the following:
  * <ol>
- * <li>
- * Adds logic at the start of every Call Activity to remove any existing
- * WorkflowException object from the execution (saving a copy of it in a
- * different variable).
- * </li>
- * <li>
- * Adds logic at the end of every Call Activity to generate a MSOWorkflowException
- * event if there is a WorkflowException object in the execution.
- * </li>
+ * <li>Adds logic at the start of every Call Activity to remove any existing WorkflowException object from the execution
+ * (saving a copy of it in a different variable).</li>
+ * <li>Adds logic at the end of every Call Activity to generate a MSOWorkflowException event if there is a
+ * WorkflowException object in the execution.</li>
  * </ol>
  */
 @Component
 public class WorkflowExceptionPlugin extends AbstractProcessEnginePlugin {
-	private static final Logger logger = LoggerFactory.getLogger(WorkflowExceptionPlugin.class);
+    private static final Logger logger = LoggerFactory.getLogger(WorkflowExceptionPlugin.class);
 
-	@Override
-	public void preInit(ProcessEngineConfigurationImpl processEngineConfiguration) {
-		List<BpmnParseListener> preParseListeners =
-			processEngineConfiguration.getCustomPreBPMNParseListeners();
+    @Override
+    public void preInit(ProcessEngineConfigurationImpl processEngineConfiguration) {
+        List<BpmnParseListener> preParseListeners = processEngineConfiguration.getCustomPreBPMNParseListeners();
 
-		if (preParseListeners == null) {
-			preParseListeners = new ArrayList<>();
-			processEngineConfiguration.setCustomPreBPMNParseListeners(preParseListeners);
-		}
+        if (preParseListeners == null) {
+            preParseListeners = new ArrayList<>();
+            processEngineConfiguration.setCustomPreBPMNParseListeners(preParseListeners);
+        }
 
-		preParseListeners.add(new WorkflowExceptionParseListener());
-	}
+        preParseListeners.add(new WorkflowExceptionParseListener());
+    }
 
-	public static class WorkflowExceptionParseListener extends AbstractBpmnParseListener {
-		@Override
-		public void parseProcess(Element processElement, ProcessDefinitionEntity processDefinition) {
-			AtomicInteger triggerTaskIndex = new AtomicInteger(1);
-			List<ActivityImpl> activities = new ArrayList<>(processDefinition.getActivities());
-			recurse(activities, triggerTaskIndex);
-		}
+    public static class WorkflowExceptionParseListener extends AbstractBpmnParseListener {
+        @Override
+        public void parseProcess(Element processElement, ProcessDefinitionEntity processDefinition) {
+            AtomicInteger triggerTaskIndex = new AtomicInteger(1);
+            List<ActivityImpl> activities = new ArrayList<>(processDefinition.getActivities());
+            recurse(activities, triggerTaskIndex);
+        }
 
-		/**
-		 * Helper method that recurses (into subprocesses) over all the listed activities.
-		 * @param activities a list of workflow activities
-		 * @param triggerTaskIndex the index of the next trigger task (mutable)
-		 */
-		private void recurse(List<ActivityImpl> activities, AtomicInteger triggerTaskIndex) {
-			for (ActivityImpl activity : activities) {
-				String type = (String) activity.getProperty("type");
+        /**
+         * Helper method that recurses (into subprocesses) over all the listed activities.
+         * 
+         * @param activities a list of workflow activities
+         * @param triggerTaskIndex the index of the next trigger task (mutable)
+         */
+        private void recurse(List<ActivityImpl> activities, AtomicInteger triggerTaskIndex) {
+            for (ActivityImpl activity : activities) {
+                String type = (String) activity.getProperty("type");
 
-				if ("callActivity".equals(type)) {
-					// Add a WorkflowExceptionResetListener to clear the WorkflowException
-					// variable when each Call Activity starts.
+                if ("callActivity".equals(type)) {
+                    // Add a WorkflowExceptionResetListener to clear the WorkflowException
+                    // variable when each Call Activity starts.
 
-					activity.addListener(
-						ExecutionListener.EVENTNAME_START,
-						new WorkflowExceptionResetListener());
+                    activity.addListener(ExecutionListener.EVENTNAME_START, new WorkflowExceptionResetListener());
 
-					// Add a WorkflowExceptionTriggerTask after the call activity.
-					// It must be a task because a listener cannot be used to generate
-					// an event.  Throwing BpmnError from an execution listener will
-					// cause the process to die.
+                    // Add a WorkflowExceptionTriggerTask after the call activity.
+                    // It must be a task because a listener cannot be used to generate
+                    // an event. Throwing BpmnError from an execution listener will
+                    // cause the process to die.
 
-					List<PvmTransition> outTransitions =
-                        new ArrayList<>(activity.getOutgoingTransitions());
+                    List<PvmTransition> outTransitions = new ArrayList<>(activity.getOutgoingTransitions());
 
-					for (PvmTransition transition : outTransitions) {
-						String triggerTaskId = "WorkflowExceptionTriggerTask_" + triggerTaskIndex;
+                    for (PvmTransition transition : outTransitions) {
+                        String triggerTaskId = "WorkflowExceptionTriggerTask_" + triggerTaskIndex;
 
-						ActivityImpl triggerTask = activity.getFlowScope().createActivity(triggerTaskId);
+                        ActivityImpl triggerTask = activity.getFlowScope().createActivity(triggerTaskId);
 
-						ClassDelegateActivityBehavior behavior = new  ClassDelegateActivityBehavior(
-								WorkflowExceptionTriggerTask.class.getName(),
-                            new ArrayList<>(0));
+                        ClassDelegateActivityBehavior behavior = new ClassDelegateActivityBehavior(
+                                WorkflowExceptionTriggerTask.class.getName(), new ArrayList<>(0));
 
-						triggerTask.setActivityBehavior(behavior);
-						triggerTask.setName("Workflow Exception Trigger Task " + triggerTaskIndex);
-						triggerTaskIndex.getAndIncrement();
+                        triggerTask.setActivityBehavior(behavior);
+                        triggerTask.setName("Workflow Exception Trigger Task " + triggerTaskIndex);
+                        triggerTaskIndex.getAndIncrement();
 
-						TransitionImpl transitionImpl = (TransitionImpl) transition;
-						TransitionImpl triggerTaskOutTransition = triggerTask.createOutgoingTransition();
-						triggerTaskOutTransition.setDestination((ActivityImpl)transitionImpl.getDestination());
-						transitionImpl.setDestination(triggerTask);
-					}
-				} else if ("subProcess".equals(type)) {
-					recurse(new ArrayList<>(activity.getActivities()), triggerTaskIndex);
-				}
-			}
-		}
-	}
+                        TransitionImpl transitionImpl = (TransitionImpl) transition;
+                        TransitionImpl triggerTaskOutTransition = triggerTask.createOutgoingTransition();
+                        triggerTaskOutTransition.setDestination((ActivityImpl) transitionImpl.getDestination());
+                        transitionImpl.setDestination(triggerTask);
+                    }
+                } else if ("subProcess".equals(type)) {
+                    recurse(new ArrayList<>(activity.getActivities()), triggerTaskIndex);
+                }
+            }
+        }
+    }
 
     /**
-     * If there is a WorkflowException object in the execution, this method
-     * removes it (saving a copy of it in a different variable).
+     * If there is a WorkflowException object in the execution, this method removes it (saving a copy of it in a
+     * different variable).
      */
-	public static class WorkflowExceptionResetListener implements ExecutionListener {
-		public void notify(DelegateExecution execution) throws Exception {
-			Object workflowException = execution.getVariable("WorkflowException");
+    public static class WorkflowExceptionResetListener implements ExecutionListener {
+        public void notify(DelegateExecution execution) throws Exception {
+            Object workflowException = execution.getVariable("WorkflowException");
 
-			if (workflowException instanceof WorkflowException) {
-				int index = 1;
-				String saveName = "SavedWorkflowException" + index;
-				while (execution.getVariable(saveName) != null) {
-					saveName = "SavedWorkflowException" + (++index);
-				}
+            if (workflowException instanceof WorkflowException) {
+                int index = 1;
+                String saveName = "SavedWorkflowException" + index;
+                while (execution.getVariable(saveName) != null) {
+                    saveName = "SavedWorkflowException" + (++index);
+                }
 
-				logger.debug("WorkflowExceptionResetTask is moving WorkflowException to " + saveName);
+                logger.debug("WorkflowExceptionResetTask is moving WorkflowException to " + saveName);
 
-				execution.setVariable(saveName, workflowException);
-				execution.setVariable("WorkflowException", null);
-			}
-		}
-	}
+                execution.setVariable(saveName, workflowException);
+                execution.setVariable("WorkflowException", null);
+            }
+        }
+    }
 
     /**
-     * Generates an MSOWorkflowException event if there is a WorkflowException
-     * object in the execution.
+     * Generates an MSOWorkflowException event if there is a WorkflowException object in the execution.
      */
-	public static class WorkflowExceptionTriggerTask implements JavaDelegate {
-		public void execute(DelegateExecution execution) throws Exception {
-			if (execution.getVariable("WorkflowException") instanceof WorkflowException) {
-				logger.debug("WorkflowExceptionTriggerTask is generating a MSOWorkflowException event");
-				throw new BpmnError("MSOWorkflowException");
-			}
-		}
-	}
+    public static class WorkflowExceptionTriggerTask implements JavaDelegate {
+        public void execute(DelegateExecution execution) throws Exception {
+            if (execution.getVariable("WorkflowException") instanceof WorkflowException) {
+                logger.debug("WorkflowExceptionTriggerTask is generating a MSOWorkflowException event");
+                throw new BpmnError("MSOWorkflowException");
+            }
+        }
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/CXFConfiguration.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/CXFConfiguration.java
index cb20ded..6572bea 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/CXFConfiguration.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/CXFConfiguration.java
@@ -23,9 +23,7 @@
 package org.onap.so.bpmn.infrastructure;
 
 import java.util.Arrays;
-
 import javax.xml.ws.Endpoint;
-
 import org.apache.cxf.Bus;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.feature.LoggingFeature;
@@ -47,45 +45,44 @@
 import org.springframework.boot.web.servlet.ServletRegistrationBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
 
 
 @Configuration
 public class CXFConfiguration {
-    
-	private static final Logger logger = LoggerFactory.getLogger(CXFConfiguration.class);
-	
+
+    private static final Logger logger = LoggerFactory.getLogger(CXFConfiguration.class);
+
     @Autowired
-    private Bus bus;    
+    private Bus bus;
 
-	@Autowired
-	private WorkflowMessageResource wmr;
-	
-	@Autowired
-	private WorkflowResource workflowResource;
+    @Autowired
+    private WorkflowMessageResource wmr;
 
-	@Autowired
-	private WorkflowAsyncResource workflowAsyncResource;
-	
-	@Autowired
-	private JaxRsFilterLogging jaxRsFilterLogging;
-	
-	@Autowired
-	private ObjectMapper mapper; 
-	
-	@Autowired
-	private SDNCCallbackAdapterPortType sdncAdapterCallbackServiceImpl;
-	
-	@Autowired
-	private VnfAdapterNotify vnfAdapterNotifyServiceImpl;
-	
-	@Bean
+    @Autowired
+    private WorkflowResource workflowResource;
+
+    @Autowired
+    private WorkflowAsyncResource workflowAsyncResource;
+
+    @Autowired
+    private JaxRsFilterLogging jaxRsFilterLogging;
+
+    @Autowired
+    private ObjectMapper mapper;
+
+    @Autowired
+    private SDNCCallbackAdapterPortType sdncAdapterCallbackServiceImpl;
+
+    @Autowired
+    private VnfAdapterNotify vnfAdapterNotifyServiceImpl;
+
+    @Bean
     public ServletRegistrationBean cxfServlet() {
         return new ServletRegistrationBean(new CXFServlet(), "/mso/*");
     }
-    
+
     @Bean
     public Endpoint vnfAdapterCallback() {
         EndpointImpl endpoint = new EndpointImpl(bus, vnfAdapterNotifyServiceImpl);
@@ -95,7 +92,7 @@
         endpoint.getOutFaultInterceptors().add(new SOAPLoggingOutInterceptor());
         return endpoint;
     }
-	
+
     @Bean
     public Endpoint sndcAdapterCallback() {
         EndpointImpl endpoint = new EndpointImpl(bus, sdncAdapterCallbackServiceImpl);
@@ -105,22 +102,22 @@
         endpoint.getOutFaultInterceptors().add(new SOAPLoggingOutInterceptor());
         return endpoint;
     }
-		
+
     @Bean
     public Server rsServer() {
         JAXRSServerFactoryBean endpoint = new JAXRSServerFactoryBean();
         endpoint.setBus(bus);
         endpoint.setServiceBeans(Arrays.<Object>asList(wmr, workflowResource, workflowAsyncResource));
-        endpoint.setAddress("/");       
+        endpoint.setAddress("/");
         endpoint.setFeatures(Arrays.asList(createSwaggerFeature(), new LoggingFeature()));
-        endpoint.setProviders(Arrays.asList(new JacksonJsonProvider(mapper),jaxRsFilterLogging));
-       
+        endpoint.setProviders(Arrays.asList(new JacksonJsonProvider(mapper), jaxRsFilterLogging));
+
         return endpoint.create();
     }
 
     @Bean
     public Swagger2Feature createSwaggerFeature() {
-    	Swagger2Feature swagger2Feature= new Swagger2Feature();
+        Swagger2Feature swagger2Feature = new Swagger2Feature();
         swagger2Feature.setPrettyPrint(true);
         swagger2Feature.setTitle("SO Orchestration Application");
         swagger2Feature.setContact("The ONAP SO team");
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/MSOInfrastructureApplication.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/MSOInfrastructureApplication.java
index af9ab28..bd430fd 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/MSOInfrastructureApplication.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/MSOInfrastructureApplication.java
@@ -24,7 +24,6 @@
 
 import java.util.List;
 import java.util.concurrent.Executor;
-
 import org.camunda.bpm.application.PostDeploy;
 import org.camunda.bpm.application.PreUndeploy;
 import org.camunda.bpm.application.ProcessApplicationInfo;
@@ -51,55 +50,53 @@
 
 @SpringBootApplication
 @EnableAsync
-@ComponentScan(basePackages = { "org.onap" }, nameGenerator = DefaultToShortClassNameBeanNameGenerator.class, excludeFilters = {
-				@Filter(type = FilterType.ANNOTATION, classes = SpringBootApplication.class) })
+@ComponentScan(basePackages = {"org.onap"}, nameGenerator = DefaultToShortClassNameBeanNameGenerator.class,
+        excludeFilters = {@Filter(type = FilterType.ANNOTATION, classes = SpringBootApplication.class)})
 public class MSOInfrastructureApplication {
 
-	private static final Logger logger = LoggerFactory.getLogger(MSOInfrastructureApplication.class);
+    private static final Logger logger = LoggerFactory.getLogger(MSOInfrastructureApplication.class);
 
-	@Value("${mso.async.core-pool-size}")
-	private int corePoolSize;
+    @Value("${mso.async.core-pool-size}")
+    private int corePoolSize;
 
-	@Value("${mso.async.max-pool-size}")
-	private int maxPoolSize;
+    @Value("${mso.async.max-pool-size}")
+    private int maxPoolSize;
 
-	@Value("${mso.async.queue-capacity}")
-	private int queueCapacity;
+    @Value("${mso.async.queue-capacity}")
+    private int queueCapacity;
 
-	private static final String LOGS_DIR = "logs_dir";
+    private static final String LOGS_DIR = "logs_dir";
 
 
-	private static void setLogsDir() {
-		if (System.getProperty(LOGS_DIR) == null) {
-			System.getProperties().setProperty(LOGS_DIR, "./logs/bpmn/");
-		}
-	}
+    private static void setLogsDir() {
+        if (System.getProperty(LOGS_DIR) == null) {
+            System.getProperties().setProperty(LOGS_DIR, "./logs/bpmn/");
+        }
+    }
 
-	public static void main(String... args) {
-		SpringApplication.run(MSOInfrastructureApplication.class, args);
-		System.getProperties().setProperty("mso.config.path", ".");
-		setLogsDir();
-	}
+    public static void main(String... args) {
+        SpringApplication.run(MSOInfrastructureApplication.class, args);
+        System.getProperties().setProperty("mso.config.path", ".");
+        setLogsDir();
+    }
 
-	@PostDeploy
-	public void postDeploy(ProcessEngine processEngineInstance) {
-	}
+    @PostDeploy
+    public void postDeploy(ProcessEngine processEngineInstance) {}
 
-	@PreUndeploy
-	public void cleanup(ProcessEngine processEngine, ProcessApplicationInfo processApplicationInfo,
-			List<ProcessEngine> processEngines) {
-	}
+    @PreUndeploy
+    public void cleanup(ProcessEngine processEngine, ProcessApplicationInfo processApplicationInfo,
+            List<ProcessEngine> processEngines) {}
 
-	@Bean
-	@Primary
-	public Executor asyncExecutor() {
-		ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
-		executor.setTaskDecorator(new MDCTaskDecorator());
-		executor.setCorePoolSize(corePoolSize);
-		executor.setMaxPoolSize(maxPoolSize);
-		executor.setQueueCapacity(queueCapacity);
-		executor.setThreadNamePrefix("Camunda-");
-		executor.initialize();
-		return executor;
-	}
+    @Bean
+    @Primary
+    public Executor asyncExecutor() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        executor.setTaskDecorator(new MDCTaskDecorator());
+        executor.setCorePoolSize(corePoolSize);
+        executor.setMaxPoolSize(maxPoolSize);
+        executor.setQueueCapacity(queueCapacity);
+        executor.setThreadNamePrefix("Camunda-");
+        executor.initialize();
+        return executor;
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/WebSecurityConfigImpl.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/WebSecurityConfigImpl.java
index ad9e210..c2af155 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/WebSecurityConfigImpl.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/infrastructure/WebSecurityConfigImpl.java
@@ -31,22 +31,19 @@
 @EnableWebSecurity
 public class WebSecurityConfigImpl extends WebSecurityConfig {
 
-	@Override
-	protected void configure(HttpSecurity http) throws Exception {
-		http.csrf().disable()
-		.authorizeRequests()
-		.antMatchers("/manage/health","/manage/info").permitAll()
-		.antMatchers("/async/services/**", "/workflow/services/*", "/SDNCAdapterCallbackService", "/WorkflowMessage", "/vnfAdapterNotify", "/vnfAdapterRestNotify")
-		.hasAnyRole(StringUtils.collectionToDelimitedString(getRoles(),",").toString())
-		.and()
-		.httpBasic();
-	}
-	
-	@Override
-	public void configure(WebSecurity web) throws Exception {
-		super.configure(web);
-		StrictHttpFirewall firewall = new MSOSpringFirewall();
-		web.httpFirewall(firewall);
-	}
+    @Override
+    protected void configure(HttpSecurity http) throws Exception {
+        http.csrf().disable().authorizeRequests().antMatchers("/manage/health", "/manage/info").permitAll()
+                .antMatchers("/async/services/**", "/workflow/services/*", "/SDNCAdapterCallbackService",
+                        "/WorkflowMessage", "/vnfAdapterNotify", "/vnfAdapterRestNotify")
+                .hasAnyRole(StringUtils.collectionToDelimitedString(getRoles(), ",").toString()).and().httpBasic();
+    }
+
+    @Override
+    public void configure(WebSecurity web) throws Exception {
+        super.configure(web);
+        StrictHttpFirewall firewall = new MSOSpringFirewall();
+        web.httpFirewall(firewall);
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/RequestHeaderTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/RequestHeaderTest.java
index e56b45f..b185f80 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/RequestHeaderTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/RequestHeaderTest.java
@@ -1,46 +1,40 @@
 /*
-* ============LICENSE_START=======================================================
- * ONAP : SO
- * ================================================================================
- * Copyright (C) 2018 TechMahindra
- * ================================================================================
- * 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
+ * ============LICENSE_START======================================================= ONAP : SO
+ * ================================================================================ Copyright (C) 2018 TechMahindra
+ * ================================================================================ 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
+ * 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.
+ * 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=========================================================
-*/
+ */
 
 
 import static org.junit.Assert.assertEquals;
-
 import org.junit.Test;
 import org.onap.so.bpmn.common.adapter.sdnc.RequestHeader;
 
-public class RequestHeaderTest{
-	RequestHeader rh = new RequestHeader();
+public class RequestHeaderTest {
+    RequestHeader rh = new RequestHeader();
 
-	@Test
-	public void testRequestHeader() {
-		rh.setRequestId("requestId");
-		rh.setSvcInstanceId("svcInstanceId");
-		rh.setSvcAction("svcAction");
-		rh.setSvcOperation("svcOperation");
-		rh.setCallbackUrl("callbackUrl");
-		rh.setMsoAction("msoAction");
-		assertEquals(rh.getRequestId(), "requestId");
-		assertEquals(rh.getSvcInstanceId(), "svcInstanceId");
-		assertEquals(rh.getSvcAction(), "svcAction");
-		assertEquals(rh.getSvcOperation(), "svcOperation");
-		assertEquals(rh.getCallbackUrl(), "callbackUrl");
-		assertEquals(rh.getMsoAction(), "msoAction");
-		assert(rh.toString()!=null);	
-	}
+    @Test
+    public void testRequestHeader() {
+        rh.setRequestId("requestId");
+        rh.setSvcInstanceId("svcInstanceId");
+        rh.setSvcAction("svcAction");
+        rh.setSvcOperation("svcOperation");
+        rh.setCallbackUrl("callbackUrl");
+        rh.setMsoAction("msoAction");
+        assertEquals(rh.getRequestId(), "requestId");
+        assertEquals(rh.getSvcInstanceId(), "svcInstanceId");
+        assertEquals(rh.getSvcAction(), "svcAction");
+        assertEquals(rh.getSvcOperation(), "svcOperation");
+        assertEquals(rh.getCallbackUrl(), "callbackUrl");
+        assertEquals(rh.getMsoAction(), "msoAction");
+        assert (rh.toString() != null);
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/SDNCAdapterCallbackRequestTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/SDNCAdapterCallbackRequestTest.java
index 884c2ac..7ce8281 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/SDNCAdapterCallbackRequestTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/SDNCAdapterCallbackRequestTest.java
@@ -1,44 +1,38 @@
 /*
-* ============LICENSE_START=======================================================
- * ONAP : SO
- * ================================================================================
- * Copyright (C) 2018 TechMahindra
- * ================================================================================
- * 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
+ * ============LICENSE_START======================================================= ONAP : SO
+ * ================================================================================ Copyright (C) 2018 TechMahindra
+ * ================================================================================ 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
+ * 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.
+ * 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=========================================================
-*/
+ */
 
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-
 import org.junit.Test;
 import org.onap.so.bpmn.common.adapter.sdnc.CallbackHeader;
 import org.onap.so.bpmn.common.adapter.sdnc.SDNCAdapterCallbackRequest;
 
-public class SDNCAdapterCallbackRequestTest{
-	
-	SDNCAdapterCallbackRequest sdnccall = new SDNCAdapterCallbackRequest();
-	CallbackHeader cbh = new CallbackHeader();
-	String o = "test";
+public class SDNCAdapterCallbackRequestTest {
 
-	@Test
-	public void testSDNCAdapterCallbackRequest() {
-		sdnccall.setCallbackHeader(cbh);
-		sdnccall.setRequestData(o);
-		assertEquals(sdnccall.getCallbackHeader(), cbh);
-		assertEquals(sdnccall.getRequestData(), o);
-		assertNotNull(sdnccall.toString());	
-	}
+    SDNCAdapterCallbackRequest sdnccall = new SDNCAdapterCallbackRequest();
+    CallbackHeader cbh = new CallbackHeader();
+    String o = "test";
+
+    @Test
+    public void testSDNCAdapterCallbackRequest() {
+        sdnccall.setCallbackHeader(cbh);
+        sdnccall.setRequestData(o);
+        assertEquals(sdnccall.getCallbackHeader(), cbh);
+        assertEquals(sdnccall.getRequestData(), o);
+        assertNotNull(sdnccall.toString());
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/SDNCAdapterRequestTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/SDNCAdapterRequestTest.java
index 79bffe4..8a97671 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/SDNCAdapterRequestTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/SDNCAdapterRequestTest.java
@@ -1,41 +1,35 @@
 /*
-* ============LICENSE_START=======================================================
- * ONAP : SO
- * ================================================================================
- * Copyright (C) 2018 TechMahindra
- * ================================================================================
- * 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
+ * ============LICENSE_START======================================================= ONAP : SO
+ * ================================================================================ Copyright (C) 2018 TechMahindra
+ * ================================================================================ 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
+ * 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.
+ * 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=========================================================
-*/
+ */
 
 
 import static org.junit.Assert.assertEquals;
-
 import org.junit.Test;
 import org.onap.so.bpmn.common.adapter.sdnc.RequestHeader;
 import org.onap.so.bpmn.common.adapter.sdnc.SDNCAdapterRequest;
 
 public class SDNCAdapterRequestTest {
-	
-	SDNCAdapterRequest adapter = new SDNCAdapterRequest();
-	RequestHeader rh = new RequestHeader();
-	Object o = new Object();
 
-	@Test
-	public void testSDNCAdapterRequest() {
-		adapter.setRequestHeader(rh);
-		adapter.setRequestData(o);
-		assertEquals(adapter.getRequestHeader(), rh);
-		assertEquals(adapter.getRequestData(), o);
-		}
+    SDNCAdapterRequest adapter = new SDNCAdapterRequest();
+    RequestHeader rh = new RequestHeader();
+    Object o = new Object();
+
+    @Test
+    public void testSDNCAdapterRequest() {
+        adapter.setRequestHeader(rh);
+        adapter.setRequestData(o);
+        assertEquals(adapter.getRequestHeader(), rh);
+        assertEquals(adapter.getRequestData(), o);
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/BaseIntegrationTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/BaseIntegrationTest.java
index fc21ff9..2176dd8 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/BaseIntegrationTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/BaseIntegrationTest.java
@@ -31,7 +31,6 @@
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringRunner;
-
 import com.github.tomakehurst.wiremock.WireMockServer;
 import com.github.tomakehurst.wiremock.client.WireMock;
 
@@ -40,19 +39,19 @@
 @ActiveProfiles("test")
 @ContextConfiguration
 @AutoConfigureWireMock(port = 0)
-public abstract class  BaseIntegrationTest extends WorkflowTest {
-	@Autowired
-	BPMNUtil bpmnUtil;
+public abstract class BaseIntegrationTest extends WorkflowTest {
+    @Autowired
+    BPMNUtil bpmnUtil;
 
-	@Value("${wiremock.server.port}")
-	protected String wiremockPort;
-	
-	@Autowired
-	protected WireMockServer wireMockServer;
-	
-	@After
-	public void baseAfterTest() {
-		wireMockServer.resetAll();
-	}
+    @Value("${wiremock.server.port}")
+    protected String wiremockPort;
+
+    @Autowired
+    protected WireMockServer wireMockServer;
+
+    @After
+    public void baseAfterTest() {
+        wireMockServer.resetAll();
+    }
 }
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/InfraEmbeddedMariaDbConfig.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/InfraEmbeddedMariaDbConfig.java
index c28a86c..0a53266 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/InfraEmbeddedMariaDbConfig.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/InfraEmbeddedMariaDbConfig.java
@@ -19,6 +19,7 @@
  */
 
 package org.onap.so.bpmn;
+
 import ch.vorburger.exec.ManagedProcessException;
 import ch.vorburger.mariadb4j.DBConfigurationBuilder;
 import ch.vorburger.mariadb4j.springframework.MariaDB4jSpringService;
@@ -35,38 +36,27 @@
 import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
 import org.springframework.transaction.PlatformTransactionManager;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
-
 import javax.persistence.EntityManagerFactory;
 import javax.sql.DataSource;
 
 @Configuration
 @EnableTransactionManagement
-@EnableJpaRepositories(
-        entityManagerFactoryRef = "requestEntityManagerFactory",transactionManagerRef = "requestTransactionManager",
-        basePackages = { "org.onap.so.db.request.data.repository"}
-)
+@EnableJpaRepositories(entityManagerFactoryRef = "requestEntityManagerFactory",
+        transactionManagerRef = "requestTransactionManager", basePackages = {"org.onap.so.db.request.data.repository"})
 @Profile({"test"})
 public class InfraEmbeddedMariaDbConfig {
 
     @Primary
     @Bean(name = "requestEntityManagerFactory")
-    public LocalContainerEntityManagerFactoryBean
-    entityManagerFactory(
-            EntityManagerFactoryBuilder builder,
-            DataSource dataSource
-    ) {
-        return builder
-                .dataSource(dataSource)
-                .packages("org.onap.so.db.request.beans")
-                .persistenceUnit("requestDB")
+    public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder,
+            DataSource dataSource) {
+        return builder.dataSource(dataSource).packages("org.onap.so.db.request.beans").persistenceUnit("requestDB")
                 .build();
     }
 
     @Bean(name = "requestTransactionManager")
     public PlatformTransactionManager transactionManager(
-            @Qualifier("requestEntityManagerFactory") EntityManagerFactory
-                    entityManagerFactory
-    ) {
+            @Qualifier("requestEntityManagerFactory") EntityManagerFactory entityManagerFactory) {
         return new JpaTransactionManager(entityManagerFactory);
     }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/IntegrationTestSuite.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/IntegrationTestSuite.java
index f65cada..bc002c7 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/IntegrationTestSuite.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/IntegrationTestSuite.java
@@ -27,6 +27,6 @@
 @RunWith(WildcardPatternSuite.class)
 @SuiteClasses({"**/*IT.class"})
 public class IntegrationTestSuite {
-  // the class remains empty,
-  // used only as a holder for the above annotations
+    // the class remains empty,
+    // used only as a holder for the above annotations
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/BPMNUtil.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/BPMNUtil.java
index 5f0722a..f417a55 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/BPMNUtil.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/BPMNUtil.java
@@ -25,14 +25,11 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
 import javax.ws.rs.core.Response;
-
 import org.camunda.bpm.engine.HistoryService;
 import org.camunda.bpm.engine.ProcessEngineServices;
 import org.camunda.bpm.engine.RuntimeService;
@@ -52,306 +49,303 @@
 @Component
 public class BPMNUtil {
 
-	private static WorkflowAsyncResource workflowResource;
-	
-	@Autowired
-	public void setWorkflowResource(WorkflowAsyncResource workflowResource) {
-		BPMNUtil.workflowResource = workflowResource;
-	}
+    private static WorkflowAsyncResource workflowResource;
 
-	public static String getVariable(ProcessEngineServices processEngineServices, String processDefinitionID, String name) {
-		String pID = getProcessInstanceId(processEngineServices,
-				processDefinitionID);
-		return getVariable( processEngineServices,  processDefinitionID,  name,  pID);
-	}
-	
-	public static String getVariable(ProcessEngineServices processEngineServices, String processDefinitionID, String name, String processInstanceId) {
-		assertProcessInstanceFinished(processEngineServices, processInstanceId);
-		HistoricVariableInstance responseData = processEngineServices.getHistoryService()
-			    .createHistoricVariableInstanceQuery().processInstanceId(processInstanceId)
-			    .variableName(name)
-			    .singleResult();
-		
-		if (responseData != null) {
-			return (responseData.getValue() != null ? responseData.getValue().toString(): null); 
-		}
-		return null;
-	}
+    @Autowired
+    public void setWorkflowResource(WorkflowAsyncResource workflowResource) {
+        BPMNUtil.workflowResource = workflowResource;
+    }
 
-	/*
-	@SuppressWarnings("unchecked")
-	public static <T extends Object> T getRawVariable(HistoryService historyService, String processDefinitionID, String name) {
-		//String pID = getProcessInstanceId(processEngineServices,
-		//		processDefinitionID);
-		assertProcessInstanceFinished(historyService, pID);
-		Object responseData = historyService
-			    .createHistoricVariableInstanceQuery().processInstanceId(pID)
-			    .variableName(name)
-			    .singleResult()
-			    .getValue();
-		return (T) responseData;
-	}
-	*/
-	
-	@SuppressWarnings("unchecked")
-	public static <T> T getRawVariable(ProcessEngineServices processEngineServices, String processDefinitionID, String name) {
-		String pID = getProcessInstanceId(processEngineServices,
-				processDefinitionID);
-		return getRawVariable( processEngineServices,  processDefinitionID,  name,  pID);
-	}
-	
-	@SuppressWarnings("unchecked")
-	public static <T> T getRawVariable(ProcessEngineServices processEngineServices, String processDefinitionID, String name, String processInstanceId) {
-		assertProcessInstanceFinished(processEngineServices, processInstanceId);
-		Object responseData = processEngineServices.getHistoryService()
-			    .createHistoricVariableInstanceQuery().processInstanceId(processInstanceId)
-			    .variableName(name)
-			    .singleResult()
-			    .getValue();
-		return (T) responseData;
-	}
+    public static String getVariable(ProcessEngineServices processEngineServices, String processDefinitionID,
+            String name) {
+        String pID = getProcessInstanceId(processEngineServices, processDefinitionID);
+        return getVariable(processEngineServices, processDefinitionID, name, pID);
+    }
 
-	
-	public static void assertAnyProcessInstanceFinished(ProcessEngineServices processEngineServices, String processDefinitionID) {
-		String pID = getProcessInstanceId(processEngineServices,
-				processDefinitionID);
-		assertNotNull(pID);
-	    assertTrue(processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pID).finished().count() > 0);
-	}
-	
-	public static void assertNoProcessInstance(ProcessEngineServices processEngineServices, String processDefinitionID) {
-		assertNull(getProcessInstanceId(processEngineServices, processDefinitionID));
-	}
-	
-	public static void assertProcessInstanceFinished(HistoryService historyService, String pid) {
-	    assertEquals(1, historyService.createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count());
-	}
-	
-	public static void assertProcessInstanceFinished(ProcessEngineServices processEngineServices, String pid) {
-	    assertEquals(1, processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count());
-	}
-	
-	public static void assertProcessInstanceNotFinished(ProcessEngineServices processEngineServices, String processDefinitionID) {
-		String pID = getProcessInstanceId(processEngineServices,
-				processDefinitionID);		
-	    assertEquals(0, processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pID).finished().count());
-	}
-	
-	private static String getProcessInstanceId(
-			ProcessEngineServices processEngineServices, String processDefinitionID) {
-		List<HistoricProcessInstance> historyList =  processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().list();
-		String pID = null;
-		for (HistoricProcessInstance hInstance: historyList) {
-			if (hInstance.getProcessDefinitionKey().equals(processDefinitionID)) {
-				pID = hInstance.getId();
-				break;
-			}
-		}
-		return pID;
-	}
-	
-	public static void cleanHistory(ProcessEngineServices processEngineServices) {
-		List<HistoricProcessInstance> historyList = processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().list();
-		List<String> pidList = new ArrayList<>();
-		for (HistoricProcessInstance hInstance : historyList) {
-			pidList.add(hInstance.getId());
-		}
-		if (pidList.size() > 0) {
-			processEngineServices.getHistoryService().deleteHistoricProcessInstances(pidList);
-		}
-	}
-	
-	private static String getProcessInstanceId(
-			HistoryService historyService, String processDefinitionID) {
-		List<HistoricProcessInstance> historyList =  historyService.createHistoricProcessInstanceQuery().list();
-		String pID = null;
-		for (HistoricProcessInstance hInstance: historyList) {
-			if (hInstance.getProcessDefinitionKey().equals(processDefinitionID)) {
-				pID = hInstance.getId();
-				break;
-			}
-		}
-		return pID;
-	}
+    public static String getVariable(ProcessEngineServices processEngineServices, String processDefinitionID,
+            String name, String processInstanceId) {
+        assertProcessInstanceFinished(processEngineServices, processInstanceId);
+        HistoricVariableInstance responseData =
+                processEngineServices.getHistoryService().createHistoricVariableInstanceQuery()
+                        .processInstanceId(processInstanceId).variableName(name).singleResult();
 
-	public static boolean isProcessInstanceFinished(ProcessEngineServices processEngineServices, String pid) {
-	    return processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count() == 1 ? true: false;
-	}
+        if (responseData != null) {
+            return (responseData.getValue() != null ? responseData.getValue().toString() : null);
+        }
+        return null;
+    }
 
-	
-	private static void buildVariable(String key, String value, Map<String,Object> variableValueType) {
-		Map<String, Object> host = new HashMap<>();
-		host.put("value", value);
-		host.put("type", "String");
-		variableValueType.put(key, host);
-	}
-	
-	public static WorkflowResponse executeWorkFlow(ProcessEngineServices processEngineServices, String processKey, Map<String,String> variables) {
-		VariableMapImpl variableMap = new VariableMapImpl();
+    /*
+     * @SuppressWarnings("unchecked") public static <T extends Object> T getRawVariable(HistoryService historyService,
+     * String processDefinitionID, String name) { //String pID = getProcessInstanceId(processEngineServices, //
+     * processDefinitionID); assertProcessInstanceFinished(historyService, pID); Object responseData = historyService
+     * .createHistoricVariableInstanceQuery().processInstanceId(pID) .variableName(name) .singleResult() .getValue();
+     * return (T) responseData; }
+     */
 
-		Map<String, Object> variableValueType = new HashMap<>();
-		for (String key : variables.keySet()) {
-			buildVariable(key, variables.get(key), variableValueType);
-		}
-		buildVariable("mso-service-request-timeout","600", variableValueType);
-		variableMap.put("variables", variableValueType);
-		
-		workflowResource.setProcessEngineServices4junit(processEngineServices);
-		Response response = workflowResource.startProcessInstanceByKey(
-					processKey, variableMap);
-		WorkflowResponse workflowResponse = (WorkflowResponse) response.getEntity();
-		return workflowResponse;
-	}
-	
-	public static WorkflowResponse executeWorkFlow(RuntimeService runtimeService, String processKey, Map<String,String> variables, WorkflowResource workflowResource) {
-		
-		VariableMapImpl variableMap = new VariableMapImpl();
+    @SuppressWarnings("unchecked")
+    public static <T> T getRawVariable(ProcessEngineServices processEngineServices, String processDefinitionID,
+            String name) {
+        String pID = getProcessInstanceId(processEngineServices, processDefinitionID);
+        return getRawVariable(processEngineServices, processDefinitionID, name, pID);
+    }
 
-		Map<String, Object> variableValueType = new HashMap<String, Object>();
-		for (String key : variables.keySet()) {
-			buildVariable(key, variables.get(key), variableValueType);
-		}
-		buildVariable("mso-service-request-timeout","600", variableValueType);
-		variableMap.put("variables", variableValueType);
-		
+    @SuppressWarnings("unchecked")
+    public static <T> T getRawVariable(ProcessEngineServices processEngineServices, String processDefinitionID,
+            String name, String processInstanceId) {
+        assertProcessInstanceFinished(processEngineServices, processInstanceId);
+        Object responseData = processEngineServices.getHistoryService().createHistoricVariableInstanceQuery()
+                .processInstanceId(processInstanceId).variableName(name).singleResult().getValue();
+        return (T) responseData;
+    }
 
-		Response response = workflowResource.startProcessInstanceByKey(
-					processKey, variableMap);
-		WorkflowResponse workflowResponse = (WorkflowResponse) response.getEntity();
-		return workflowResponse;
-	}
 
-	//Check the runtime service to see whether the process is completed
-	public static void waitForWorkflowToFinish(ProcessEngineServices processEngineServices, String pid) throws InterruptedException {
-		// Don't wait forever
-		long waitTime = 120000;
-		long endTime = System.currentTimeMillis() + waitTime;
+    public static void assertAnyProcessInstanceFinished(ProcessEngineServices processEngineServices,
+            String processDefinitionID) {
+        String pID = getProcessInstanceId(processEngineServices, processDefinitionID);
+        assertNotNull(pID);
+        assertTrue(processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pID)
+                .finished().count() > 0);
+    }
 
-		while (true) {
-			if (processEngineServices.getRuntimeService().createProcessInstanceQuery().processInstanceId(pid).singleResult() == null) {
-				break;
-			}
+    public static void assertNoProcessInstance(ProcessEngineServices processEngineServices,
+            String processDefinitionID) {
+        assertNull(getProcessInstanceId(processEngineServices, processDefinitionID));
+    }
 
-			if (System.currentTimeMillis() >= endTime) {
-				fail("Process " + pid + " did not finish in " + waitTime + "ms");
-			}
+    public static void assertProcessInstanceFinished(HistoryService historyService, String pid) {
+        assertEquals(1, historyService.createHistoricProcessInstanceQuery().processInstanceId(pid).finished().count());
+    }
 
-			Thread.sleep(200);
-		}
-	}
-	
-	
-	//Check the runtime service to see whether the process is completed
-	public static void waitForWorkflowToFinish(RuntimeService runtimeService, String pid) throws InterruptedException {
-		// Don't wait forever
-		long waitTime = 120000;
-		long endTime = System.currentTimeMillis() + waitTime;
+    public static void assertProcessInstanceFinished(ProcessEngineServices processEngineServices, String pid) {
+        assertEquals(1, processEngineServices.getHistoryService().createHistoricProcessInstanceQuery()
+                .processInstanceId(pid).finished().count());
+    }
 
-		while (true) {
-			if (runtimeService.createProcessInstanceQuery().processInstanceId(pid).singleResult() == null) {
-				break;
-			}
+    public static void assertProcessInstanceNotFinished(ProcessEngineServices processEngineServices,
+            String processDefinitionID) {
+        String pID = getProcessInstanceId(processEngineServices, processDefinitionID);
+        assertEquals(0, processEngineServices.getHistoryService().createHistoricProcessInstanceQuery()
+                .processInstanceId(pID).finished().count());
+    }
 
-			if (System.currentTimeMillis() >= endTime) {
-				fail("Process " + pid + " did not finish in " + waitTime + "ms");
-			}
+    private static String getProcessInstanceId(ProcessEngineServices processEngineServices,
+            String processDefinitionID) {
+        List<HistoricProcessInstance> historyList =
+                processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().list();
+        String pID = null;
+        for (HistoricProcessInstance hInstance : historyList) {
+            if (hInstance.getProcessDefinitionKey().equals(processDefinitionID)) {
+                pID = hInstance.getId();
+                break;
+            }
+        }
+        return pID;
+    }
 
-			Thread.sleep(200);
-		}
-	}
-	
-	
-	/**
-	 * Executes the Asynchronous workflow in synchronous fashion and returns the WorkflowResponse object
-	 * @param processEngineServices
-	 * @param processKey
-	 * @param variables
-	 * @return
-	 * @throws InterruptedException
-	 */
-	public static WorkflowResponse executeAsyncWorkflow(ProcessEngineServices processEngineServices, String processKey, Map<String,String> variables) throws InterruptedException {
-		ProcessThread pthread = new ProcessThread(processKey, processEngineServices, variables);
-		pthread.start();
-		BPMNUtil.assertProcessInstanceNotFinished(processEngineServices, processKey);
-		String pid = getProcessInstanceId(processEngineServices, processKey);
-		//Caution: If there is a problem with workflow, this may wait for ever
-		while (true) {
-			pid = getProcessInstanceId(processEngineServices, processKey);
-			if (!isProcessInstanceFinished(processEngineServices,pid)) {
-				Thread.sleep(200);
-			} else{
-				break;
-			}
-		}
-		//need to retrieve for second time ?
-		pid = getProcessInstanceId(processEngineServices, processKey);
-		waitForWorkflowToFinish(processEngineServices, pid);
-		return pthread.workflowResponse;
-	}
+    public static void cleanHistory(ProcessEngineServices processEngineServices) {
+        List<HistoricProcessInstance> historyList =
+                processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().list();
+        List<String> pidList = new ArrayList<>();
+        for (HistoricProcessInstance hInstance : historyList) {
+            pidList.add(hInstance.getId());
+        }
+        if (pidList.size() > 0) {
+            processEngineServices.getHistoryService().deleteHistoricProcessInstances(pidList);
+        }
+    }
 
-	/**
-	 * Execute workflow using async resource
-	 * @param processEngineServices
-	 * @param processKey
-	 * @param asyncResponse
-	 * @param variables
-	 * @throws InterruptedException 
-	 */
-	private static void executeAsyncFlow(ProcessEngineServices processEngineServices, String processKey, Map<String,String> variables) throws InterruptedException {
-		VariableMapImpl variableMap = new VariableMapImpl();
+    private static String getProcessInstanceId(HistoryService historyService, String processDefinitionID) {
+        List<HistoricProcessInstance> historyList = historyService.createHistoricProcessInstanceQuery().list();
+        String pID = null;
+        for (HistoricProcessInstance hInstance : historyList) {
+            if (hInstance.getProcessDefinitionKey().equals(processDefinitionID)) {
+                pID = hInstance.getId();
+                break;
+            }
+        }
+        return pID;
+    }
 
-		Map<String, Object> variableValueType = new HashMap<>();
-		for (String key : variables.keySet()) {
-			buildVariable(key, variables.get(key), variableValueType);
-		}
-		buildVariable("mso-service-request-timeout","600", variableValueType);
-		variableMap.put("variables", variableValueType);
-		
-		workflowResource.setProcessEngineServices4junit(processEngineServices);
-		workflowResource.startProcessInstanceByKey(processKey, variableMap);
-	}
-	
-	/**
-	 * Helper class which executes workflow in a thread
-	 *
-	 */
-	static class ProcessThread extends Thread {
-		
-		public WorkflowResponse workflowResponse = null;
-		public String processKey;
-		public boolean started;
-		public ProcessEngineServices processEngineServices;
-		public Map<String,String> variables;
-		
-		public ProcessThread(String processKey, ProcessEngineServices processEngineServices, Map<String,String> variables) {
-			this.processKey = processKey;
-			this.processEngineServices = processEngineServices;
-			this.variables = variables;
-		}
-		
-		public void run() {
-			started = true;
-			/*doAnswer(new Answer<Void>() {
-			    public Void answer(InvocationOnMock invocation) {
-			      Response response = (Response) invocation.getArguments()[0];
-			      try {
-			      workflowResponse = (WorkflowResponse) response.getEntity();
-			      } catch (ClassCastException e) {
-			    	  String workflowResponseString = (String)response.getEntity();
-			    	  workflowResponse = new WorkflowResponse();
-			    	  workflowResponse.setResponse(workflowResponseString);
-			    	  workflowResponse.setMessageCode(200);
-			      }
-			      return null;
-			    }
-			}).when(asyncResponse).setResponse(any(Response.class));
-			*/
-			try {
-				executeAsyncFlow(processEngineServices, processKey, variables);
-			} catch (InterruptedException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-	}
+    public static boolean isProcessInstanceFinished(ProcessEngineServices processEngineServices, String pid) {
+        return processEngineServices.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(pid)
+                .finished().count() == 1 ? true : false;
+    }
+
+
+    private static void buildVariable(String key, String value, Map<String, Object> variableValueType) {
+        Map<String, Object> host = new HashMap<>();
+        host.put("value", value);
+        host.put("type", "String");
+        variableValueType.put(key, host);
+    }
+
+    public static WorkflowResponse executeWorkFlow(ProcessEngineServices processEngineServices, String processKey,
+            Map<String, String> variables) {
+        VariableMapImpl variableMap = new VariableMapImpl();
+
+        Map<String, Object> variableValueType = new HashMap<>();
+        for (String key : variables.keySet()) {
+            buildVariable(key, variables.get(key), variableValueType);
+        }
+        buildVariable("mso-service-request-timeout", "600", variableValueType);
+        variableMap.put("variables", variableValueType);
+
+        workflowResource.setProcessEngineServices4junit(processEngineServices);
+        Response response = workflowResource.startProcessInstanceByKey(processKey, variableMap);
+        WorkflowResponse workflowResponse = (WorkflowResponse) response.getEntity();
+        return workflowResponse;
+    }
+
+    public static WorkflowResponse executeWorkFlow(RuntimeService runtimeService, String processKey,
+            Map<String, String> variables, WorkflowResource workflowResource) {
+
+        VariableMapImpl variableMap = new VariableMapImpl();
+
+        Map<String, Object> variableValueType = new HashMap<String, Object>();
+        for (String key : variables.keySet()) {
+            buildVariable(key, variables.get(key), variableValueType);
+        }
+        buildVariable("mso-service-request-timeout", "600", variableValueType);
+        variableMap.put("variables", variableValueType);
+
+
+        Response response = workflowResource.startProcessInstanceByKey(processKey, variableMap);
+        WorkflowResponse workflowResponse = (WorkflowResponse) response.getEntity();
+        return workflowResponse;
+    }
+
+    // Check the runtime service to see whether the process is completed
+    public static void waitForWorkflowToFinish(ProcessEngineServices processEngineServices, String pid)
+            throws InterruptedException {
+        // Don't wait forever
+        long waitTime = 120000;
+        long endTime = System.currentTimeMillis() + waitTime;
+
+        while (true) {
+            if (processEngineServices.getRuntimeService().createProcessInstanceQuery().processInstanceId(pid)
+                    .singleResult() == null) {
+                break;
+            }
+
+            if (System.currentTimeMillis() >= endTime) {
+                fail("Process " + pid + " did not finish in " + waitTime + "ms");
+            }
+
+            Thread.sleep(200);
+        }
+    }
+
+
+    // Check the runtime service to see whether the process is completed
+    public static void waitForWorkflowToFinish(RuntimeService runtimeService, String pid) throws InterruptedException {
+        // Don't wait forever
+        long waitTime = 120000;
+        long endTime = System.currentTimeMillis() + waitTime;
+
+        while (true) {
+            if (runtimeService.createProcessInstanceQuery().processInstanceId(pid).singleResult() == null) {
+                break;
+            }
+
+            if (System.currentTimeMillis() >= endTime) {
+                fail("Process " + pid + " did not finish in " + waitTime + "ms");
+            }
+
+            Thread.sleep(200);
+        }
+    }
+
+
+    /**
+     * Executes the Asynchronous workflow in synchronous fashion and returns the WorkflowResponse object
+     * 
+     * @param processEngineServices
+     * @param processKey
+     * @param variables
+     * @return
+     * @throws InterruptedException
+     */
+    public static WorkflowResponse executeAsyncWorkflow(ProcessEngineServices processEngineServices, String processKey,
+            Map<String, String> variables) throws InterruptedException {
+        ProcessThread pthread = new ProcessThread(processKey, processEngineServices, variables);
+        pthread.start();
+        BPMNUtil.assertProcessInstanceNotFinished(processEngineServices, processKey);
+        String pid = getProcessInstanceId(processEngineServices, processKey);
+        // Caution: If there is a problem with workflow, this may wait for ever
+        while (true) {
+            pid = getProcessInstanceId(processEngineServices, processKey);
+            if (!isProcessInstanceFinished(processEngineServices, pid)) {
+                Thread.sleep(200);
+            } else {
+                break;
+            }
+        }
+        // need to retrieve for second time ?
+        pid = getProcessInstanceId(processEngineServices, processKey);
+        waitForWorkflowToFinish(processEngineServices, pid);
+        return pthread.workflowResponse;
+    }
+
+    /**
+     * Execute workflow using async resource
+     * 
+     * @param processEngineServices
+     * @param processKey
+     * @param asyncResponse
+     * @param variables
+     * @throws InterruptedException
+     */
+    private static void executeAsyncFlow(ProcessEngineServices processEngineServices, String processKey,
+            Map<String, String> variables) throws InterruptedException {
+        VariableMapImpl variableMap = new VariableMapImpl();
+
+        Map<String, Object> variableValueType = new HashMap<>();
+        for (String key : variables.keySet()) {
+            buildVariable(key, variables.get(key), variableValueType);
+        }
+        buildVariable("mso-service-request-timeout", "600", variableValueType);
+        variableMap.put("variables", variableValueType);
+
+        workflowResource.setProcessEngineServices4junit(processEngineServices);
+        workflowResource.startProcessInstanceByKey(processKey, variableMap);
+    }
+
+    /**
+     * Helper class which executes workflow in a thread
+     *
+     */
+    static class ProcessThread extends Thread {
+
+        public WorkflowResponse workflowResponse = null;
+        public String processKey;
+        public boolean started;
+        public ProcessEngineServices processEngineServices;
+        public Map<String, String> variables;
+
+        public ProcessThread(String processKey, ProcessEngineServices processEngineServices,
+                Map<String, String> variables) {
+            this.processKey = processKey;
+            this.processEngineServices = processEngineServices;
+            this.variables = variables;
+        }
+
+        public void run() {
+            started = true;
+            /*
+             * doAnswer(new Answer<Void>() { public Void answer(InvocationOnMock invocation) { Response response =
+             * (Response) invocation.getArguments()[0]; try { workflowResponse = (WorkflowResponse)
+             * response.getEntity(); } catch (ClassCastException e) { String workflowResponseString =
+             * (String)response.getEntity(); workflowResponse = new WorkflowResponse();
+             * workflowResponse.setResponse(workflowResponseString); workflowResponse.setMessageCode(200); } return
+             * null; } }).when(asyncResponse).setResponse(any(Response.class));
+             */
+            try {
+                executeAsyncFlow(processEngineServices, processKey, variables);
+            } catch (InterruptedException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            }
+        }
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CompleteMsoProcessIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CompleteMsoProcessIT.java
index f528205..2be7218 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CompleteMsoProcessIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CompleteMsoProcessIT.java
@@ -16,17 +16,15 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
 import static org.onap.so.bpmn.common.BPMNUtil.waitForWorkflowToFinish;
 import static org.onap.so.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.so.BaseIntegrationTest;
@@ -36,148 +34,140 @@
  */
 
 public class CompleteMsoProcessIT extends BaseIntegrationTest {
-	
-	private void executeFlow(String inputRequestFile) throws InterruptedException {
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("CompleteMsoProcessRequest",inputRequestFile);
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		String processId = invokeSubProcess( "CompleteMsoProcess", variables);
-		waitForWorkflowToFinish(processEngine,processId);
-		logEnd();
-	}	
-	
-	@Test
-	public void msoCompletionRequestWithNotificationUrl_200() throws Exception {
-		logStart();	
-		
-		//Execute Flow
-		executeFlow(gMsoCompletionRequestWithNotificationurl());
-		
-		//Verify Error
-		String CMSO_ResponseCode = BPMNUtil.getVariable(processEngine, "CompleteMsoProcess", "CMSO_ResponseCode");
-		Assert.assertEquals("200", CMSO_ResponseCode);
-		Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "CompleteMsoProcess", "CMSO_SuccessIndicator"));
-		logEnd();
-	}
 
-	@Test
-	public void msoCompletionRequestWithNoNotificationurl() throws Exception {
-		logStart();	
-		
-		//Execute Flow
-		executeFlow(gMsoCompletionRequestWithNoNotificationurl());
-		
-		//Verify Error
-		String CMSO_ResponseCode = BPMNUtil.getVariable(processEngine, "CompleteMsoProcess", "CMSO_ResponseCode");
-		Assert.assertEquals("200", CMSO_ResponseCode);	
-		Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "CompleteMsoProcess", "CMSO_SuccessIndicator"));
-		logEnd();
-	}
+    private void executeFlow(String inputRequestFile) throws InterruptedException {
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("CompleteMsoProcessRequest", inputRequestFile);
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        String processId = invokeSubProcess("CompleteMsoProcess", variables);
+        waitForWorkflowToFinish(processEngine, processId);
+        logEnd();
+    }
 
-	@Test		
-	public void msoCompletionRequestWithNotificationurlNoRequestId() throws Exception {
-		logStart();	
-		
-		//Execute Flow
-		executeFlow(gMsoCompletionRequestWithNotificationurlNoRequestId());
-		
-		//Verify Error
-		String CMSO_ResponseCode = BPMNUtil.getVariable(processEngine, "CompleteMsoProcess", "CMSO_ResponseCode");
-		Assert.assertEquals("200", CMSO_ResponseCode);
-		Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "CompleteMsoProcess", "CMSO_SuccessIndicator"));
-		logEnd();	
-	}
-	
-	@Test		
-	public void msoCompletionRequestWithNoNotificationurlNoRequestId() throws Exception {
-		logStart();
-		
-		//Execute Flow
-		executeFlow(gMsoCompletionRequestWithNoNotificationurlNoRequestId());
-		
-		//Verify Error
-		String CMSO_ResponseCode = BPMNUtil.getVariable(processEngine, "CompleteMsoProcess", "CMSO_ResponseCode");
-		Assert.assertEquals("200", CMSO_ResponseCode);
-		Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "CompleteMsoProcess", "CMSO_SuccessIndicator"));
-		logEnd();
-	}	
+    @Test
+    public void msoCompletionRequestWithNotificationUrl_200() throws Exception {
+        logStart();
 
-	public String gMsoCompletionRequestWithNotificationurl() {		
-		String xml = ""
-				+ "<sdncadapterworkflow:MsoCompletionRequest xmlns:ns=\"http://openecomp.org/mso/request/types/v1\" xmlns:sdncadapterworkflow=\"http://ecomp.openecomp.org.com/mso/workflow/schema/v1\">"
-				+ "		<ns:request-information>"
-				+ "			<ns:request-id>STUW105_5002</ns:request-id>"
-				+ "			<ns:request-action>RequestAction</ns:request-action>"				
-				+ "			<ns:request-sub-action>COMPLETE</ns:request-sub-action>"
-				+ "			<ns:source>SOURCE</ns:source>"
-				+ "			<ns:notification-url>https://t3nap1a1.snt.bst.bls.com:9004/sdncontroller-sdncontroller-inbound-ws-war/sdncontroller-sdncontroller-inbound-ws.wsdl</ns:notification-url>"				
-				+ "			<ns:order-number>10205000</ns:order-number>"				
-				+ "			<ns:order-version>1</ns:order-version>"
-				+ "		</ns:request-information>"				
-				+ "		<sdncadapterworkflow:mso-bpel-name>BPELNAME</sdncadapterworkflow:mso-bpel-name>"
-				+ "</sdncadapterworkflow:MsoCompletionRequest>";
-		
-		return xml;
-	}
-		
+        // Execute Flow
+        executeFlow(gMsoCompletionRequestWithNotificationurl());
+
+        // Verify Error
+        String CMSO_ResponseCode = BPMNUtil.getVariable(processEngine, "CompleteMsoProcess", "CMSO_ResponseCode");
+        Assert.assertEquals("200", CMSO_ResponseCode);
+        Assert.assertTrue(
+                (boolean) BPMNUtil.getRawVariable(processEngine, "CompleteMsoProcess", "CMSO_SuccessIndicator"));
+        logEnd();
+    }
+
+    @Test
+    public void msoCompletionRequestWithNoNotificationurl() throws Exception {
+        logStart();
+
+        // Execute Flow
+        executeFlow(gMsoCompletionRequestWithNoNotificationurl());
+
+        // Verify Error
+        String CMSO_ResponseCode = BPMNUtil.getVariable(processEngine, "CompleteMsoProcess", "CMSO_ResponseCode");
+        Assert.assertEquals("200", CMSO_ResponseCode);
+        Assert.assertTrue(
+                (boolean) BPMNUtil.getRawVariable(processEngine, "CompleteMsoProcess", "CMSO_SuccessIndicator"));
+        logEnd();
+    }
+
+    @Test
+    public void msoCompletionRequestWithNotificationurlNoRequestId() throws Exception {
+        logStart();
+
+        // Execute Flow
+        executeFlow(gMsoCompletionRequestWithNotificationurlNoRequestId());
+
+        // Verify Error
+        String CMSO_ResponseCode = BPMNUtil.getVariable(processEngine, "CompleteMsoProcess", "CMSO_ResponseCode");
+        Assert.assertEquals("200", CMSO_ResponseCode);
+        Assert.assertTrue(
+                (boolean) BPMNUtil.getRawVariable(processEngine, "CompleteMsoProcess", "CMSO_SuccessIndicator"));
+        logEnd();
+    }
+
+    @Test
+    public void msoCompletionRequestWithNoNotificationurlNoRequestId() throws Exception {
+        logStart();
+
+        // Execute Flow
+        executeFlow(gMsoCompletionRequestWithNoNotificationurlNoRequestId());
+
+        // Verify Error
+        String CMSO_ResponseCode = BPMNUtil.getVariable(processEngine, "CompleteMsoProcess", "CMSO_ResponseCode");
+        Assert.assertEquals("200", CMSO_ResponseCode);
+        Assert.assertTrue(
+                (boolean) BPMNUtil.getRawVariable(processEngine, "CompleteMsoProcess", "CMSO_SuccessIndicator"));
+        logEnd();
+    }
+
+    public String gMsoCompletionRequestWithNotificationurl() {
+        String xml = ""
+                + "<sdncadapterworkflow:MsoCompletionRequest xmlns:ns=\"http://openecomp.org/mso/request/types/v1\" xmlns:sdncadapterworkflow=\"http://ecomp.openecomp.org.com/mso/workflow/schema/v1\">"
+                + "		<ns:request-information>" + "			<ns:request-id>STUW105_5002</ns:request-id>"
+                + "			<ns:request-action>RequestAction</ns:request-action>"
+                + "			<ns:request-sub-action>COMPLETE</ns:request-sub-action>" + "			<ns:source>SOURCE</ns:source>"
+                + "			<ns:notification-url>https://t3nap1a1.snt.bst.bls.com:9004/sdncontroller-sdncontroller-inbound-ws-war/sdncontroller-sdncontroller-inbound-ws.wsdl</ns:notification-url>"
+                + "			<ns:order-number>10205000</ns:order-number>" + "			<ns:order-version>1</ns:order-version>"
+                + "		</ns:request-information>"
+                + "		<sdncadapterworkflow:mso-bpel-name>BPELNAME</sdncadapterworkflow:mso-bpel-name>"
+                + "</sdncadapterworkflow:MsoCompletionRequest>";
+
+        return xml;
+    }
 
 
-	public String gMsoCompletionRequestWithNoNotificationurl() {
-		//Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
-		String xml = ""
-				+ "<sdncadapterworkflow:MsoCompletionRequest xmlns:ns=\"http://openecomp.org/mso/request/types/v1\" xmlns:sdncadapterworkflow=\"http://openecomp.org/mso/workflow/schema/v1\">"
-				+ "		<ns:request-information>"
-				+ "			<ns:request-id>STUW105_5002</ns:request-id>"
-				+ "			<ns:request-action>RequestAction</ns:request-action>"				
-				+ "			<ns:request-sub-action>COMPLETE</ns:request-sub-action>"
-				+ "			<ns:source>SOURCE</ns:source>"
-				+ "			<ns:notification-url></ns:notification-url>"				
-				+ "			<ns:order-number>10205000</ns:order-number>"				
-				+ "			<ns:order-version>1</ns:order-version>"
-				+ "		</ns:request-information>"				
-				+ "		<sdncadapterworkflow:mso-bpel-name>BPELNAME</sdncadapterworkflow:mso-bpel-name>"
-				+ "</sdncadapterworkflow:MsoCompletionRequest>";
-		
-		return xml;
-	}
-	
-	public String gMsoCompletionRequestWithNoNotificationurlNoRequestId() {
-		//Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
-		String xml = ""
-				+ "<sdncadapterworkflow:MsoCompletionRequest xmlns:ns=\"http://openecomp.org/mso/request/types/v1\" xmlns:sdncadapterworkflow=\"http://openecomp.org/mso/workflow/schema/v1\">"
-				+ "		<ns:request-information>"
-				+ "			<ns:request-id></ns:request-id>"
-				+ "			<ns:request-action>RequestAction</ns:request-action>"
-				+ "			<ns:request-sub-action>COMPLETE</ns:request-sub-action>"
-				+ "			<ns:source>SOURCE</ns:source>"
-				+ "			<ns:notification-url></ns:notification-url>"				
-				+ "			<ns:order-number>10205000</ns:order-number>"				
-				+ "			<ns:order-version>1</ns:order-version>"
-				+ "		</ns:request-information>"				
-				+ "		<sdncadapterworkflow:mso-bpel-name>BPELNAME</sdncadapterworkflow:mso-bpel-name>"
-				+ "</sdncadapterworkflow:MsoCompletionRequest>";
-		
-		return xml;
-	}	
-	
-	public String gMsoCompletionRequestWithNotificationurlNoRequestId() {
-		//Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
-		String xml = ""
-				+ "<sdncadapterworkflow:MsoCompletionRequest xmlns:ns=\"http://openecomp.org/mso/request/types/v1\" xmlns:sdncadapterworkflow=\"http://openecomp.org/mso/workflow/schema/v1\">"
-				+ "		<ns:request-information>"
-				+ "			<ns:request-id></ns:request-id>"
-				+ "			<ns:request-action>RequestAction</ns:request-action>"				
-				+ "			<ns:request-sub-action>COMPLETE</ns:request-sub-action>"
-				+ "			<ns:source>SOURCE</ns:source>"
-				+ "			<ns:notification-url>https://t3nap1a1.snt.bst.bls.com:9004/sdncontroller-sdncontroller-inbound-ws-war/sdncontroller-sdncontroller-inbound-ws.wsdl</ns:notification-url>"				
-				+ "			<ns:order-number>10205000</ns:order-number>"				
-				+ "			<ns:order-version>1</ns:order-version>"
-				+ "		</ns:request-information>"				
-				+ "		<sdncadapterworkflow:mso-bpel-name>BPELNAME</sdncadapterworkflow:mso-bpel-name>"
-				+ "</sdncadapterworkflow:MsoCompletionRequest>";
-		
-		return xml;
-	}	
+
+    public String gMsoCompletionRequestWithNoNotificationurl() {
+        // Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
+        String xml = ""
+                + "<sdncadapterworkflow:MsoCompletionRequest xmlns:ns=\"http://openecomp.org/mso/request/types/v1\" xmlns:sdncadapterworkflow=\"http://openecomp.org/mso/workflow/schema/v1\">"
+                + "		<ns:request-information>" + "			<ns:request-id>STUW105_5002</ns:request-id>"
+                + "			<ns:request-action>RequestAction</ns:request-action>"
+                + "			<ns:request-sub-action>COMPLETE</ns:request-sub-action>" + "			<ns:source>SOURCE</ns:source>"
+                + "			<ns:notification-url></ns:notification-url>"
+                + "			<ns:order-number>10205000</ns:order-number>" + "			<ns:order-version>1</ns:order-version>"
+                + "		</ns:request-information>"
+                + "		<sdncadapterworkflow:mso-bpel-name>BPELNAME</sdncadapterworkflow:mso-bpel-name>"
+                + "</sdncadapterworkflow:MsoCompletionRequest>";
+
+        return xml;
+    }
+
+    public String gMsoCompletionRequestWithNoNotificationurlNoRequestId() {
+        // Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
+        String xml = ""
+                + "<sdncadapterworkflow:MsoCompletionRequest xmlns:ns=\"http://openecomp.org/mso/request/types/v1\" xmlns:sdncadapterworkflow=\"http://openecomp.org/mso/workflow/schema/v1\">"
+                + "		<ns:request-information>" + "			<ns:request-id></ns:request-id>"
+                + "			<ns:request-action>RequestAction</ns:request-action>"
+                + "			<ns:request-sub-action>COMPLETE</ns:request-sub-action>" + "			<ns:source>SOURCE</ns:source>"
+                + "			<ns:notification-url></ns:notification-url>"
+                + "			<ns:order-number>10205000</ns:order-number>" + "			<ns:order-version>1</ns:order-version>"
+                + "		</ns:request-information>"
+                + "		<sdncadapterworkflow:mso-bpel-name>BPELNAME</sdncadapterworkflow:mso-bpel-name>"
+                + "</sdncadapterworkflow:MsoCompletionRequest>";
+
+        return xml;
+    }
+
+    public String gMsoCompletionRequestWithNotificationurlNoRequestId() {
+        // Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
+        String xml = ""
+                + "<sdncadapterworkflow:MsoCompletionRequest xmlns:ns=\"http://openecomp.org/mso/request/types/v1\" xmlns:sdncadapterworkflow=\"http://openecomp.org/mso/workflow/schema/v1\">"
+                + "		<ns:request-information>" + "			<ns:request-id></ns:request-id>"
+                + "			<ns:request-action>RequestAction</ns:request-action>"
+                + "			<ns:request-sub-action>COMPLETE</ns:request-sub-action>" + "			<ns:source>SOURCE</ns:source>"
+                + "			<ns:notification-url>https://t3nap1a1.snt.bst.bls.com:9004/sdncontroller-sdncontroller-inbound-ws-war/sdncontroller-sdncontroller-inbound-ws.wsdl</ns:notification-url>"
+                + "			<ns:order-number>10205000</ns:order-number>" + "			<ns:order-version>1</ns:order-version>"
+                + "		</ns:request-information>"
+                + "		<sdncadapterworkflow:mso-bpel-name>BPELNAME</sdncadapterworkflow:mso-bpel-name>"
+                + "</sdncadapterworkflow:MsoCompletionRequest>";
+
+        return xml;
+    }
 }
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ConfirmVolumeGroupNameIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ConfirmVolumeGroupNameIT.java
index cc3ca94..ad0428c 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ConfirmVolumeGroupNameIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ConfirmVolumeGroupNameIT.java
@@ -16,17 +16,15 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
 import static org.junit.Assert.assertEquals;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetVolumeGroupById;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.RuntimeService;
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Ignore;
@@ -38,79 +36,83 @@
  */
 
 public class ConfirmVolumeGroupNameIT extends BaseIntegrationTest {
-	/**
-	 * Sunny day scenario.
-	 * 
-	 * @throws Exception
-	 */
-	@Test	
-	public void sunnyDay() throws Exception {
-		logStart();
-		MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml");		
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1");
-		variables.put("ConfirmVolumeGroupName_volumeGroupName", "VOLUME_GROUP_ID_1_NAME");
-		variables.put("ConfirmVolumeGroupName_aicCloudRegion", "MDTWNJ21");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		String processId = invokeSubProcess("ConfirmVolumeGroupName", variables);
-		String responseCode = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponseCode",processId);
-					
-		assertEquals("200", responseCode);
-	
-		logEnd();
-	}
-	
-	/**
-	 * Rainy day scenario - nonexisting volume group id.
-	 * 
-	 * @throws Exception
-	 */
-	@Test
-	public void rainyDayNoVolumeGroupId() throws Exception {
-		logStart();
-		
-		// does not exist would return a 404 from AAI
-		MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "VOLUME_GROUP_ID_THAT_DOES_NOT_EXIST", "aai-volume-group-id-info.xml", 404);
-					
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("ConfirmVolumeGroupName_aicCloudRegion", "MDTWNJ21");
-		variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_THAT_DOES_NOT_EXIST");
-		variables.put("ConfirmVolumeGroupName_volumeGroupName", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		String processId = invokeSubProcess("ConfirmVolumeGroupName", variables);	
-		String responseCode = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupName", "CVGN_queryVolumeGroupResponseCode",processId);
-					
-		assertEquals("404", responseCode);
-		
-		logEnd();
-	}
-	
-	/**
-	 * Rainy day scenario - volume group name does not match the name in AAI
-	 *
-	 * 
-	 * @throws Exception
-	 */
-	@Test
-	public void rainyDayNameDoesNotMatch() throws Exception {
-		logStart();
-		
-		MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml", 200);
-				
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1");
-		variables.put("ConfirmVolumeGroupName_volumeGroupName", "BAD_VOLUME_GROUP_NAME");
-		variables.put("ConfirmVolumeGroupName_aicCloudRegion", "MDTWNJ21");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		String processId = invokeSubProcess("ConfirmVolumeGroupName", variables);		
-		String volumeGroupNameMatches = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupName", "CVGN_volumeGroupNameMatches",processId);
-		
-		assertEquals("false", volumeGroupNameMatches);
-		
-		logEnd();
-	}
+    /**
+     * Sunny day scenario.
+     * 
+     * @throws Exception
+     */
+    @Test
+    public void sunnyDay() throws Exception {
+        logStart();
+        MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml");
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1");
+        variables.put("ConfirmVolumeGroupName_volumeGroupName", "VOLUME_GROUP_ID_1_NAME");
+        variables.put("ConfirmVolumeGroupName_aicCloudRegion", "MDTWNJ21");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        String processId = invokeSubProcess("ConfirmVolumeGroupName", variables);
+        String responseCode = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupName",
+                "CVGN_queryVolumeGroupResponseCode", processId);
+
+        assertEquals("200", responseCode);
+
+        logEnd();
+    }
+
+    /**
+     * Rainy day scenario - nonexisting volume group id.
+     * 
+     * @throws Exception
+     */
+    @Test
+    public void rainyDayNoVolumeGroupId() throws Exception {
+        logStart();
+
+        // does not exist would return a 404 from AAI
+        MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "VOLUME_GROUP_ID_THAT_DOES_NOT_EXIST",
+                "aai-volume-group-id-info.xml", 404);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("ConfirmVolumeGroupName_aicCloudRegion", "MDTWNJ21");
+        variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_THAT_DOES_NOT_EXIST");
+        variables.put("ConfirmVolumeGroupName_volumeGroupName", "cee6d136-e378-4678-a024-2cd15f0ee0cg");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        String processId = invokeSubProcess("ConfirmVolumeGroupName", variables);
+        String responseCode = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupName",
+                "CVGN_queryVolumeGroupResponseCode", processId);
+
+        assertEquals("404", responseCode);
+
+        logEnd();
+    }
+
+    /**
+     * Rainy day scenario - volume group name does not match the name in AAI
+     *
+     * 
+     * @throws Exception
+     */
+    @Test
+    public void rainyDayNameDoesNotMatch() throws Exception {
+        logStart();
+
+        MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "VOLUME_GROUP_ID_1", "aai-volume-group-id-info.xml", 200);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("ConfirmVolumeGroupName_volumeGroupId", "VOLUME_GROUP_ID_1");
+        variables.put("ConfirmVolumeGroupName_volumeGroupName", "BAD_VOLUME_GROUP_NAME");
+        variables.put("ConfirmVolumeGroupName_aicCloudRegion", "MDTWNJ21");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        String processId = invokeSubProcess("ConfirmVolumeGroupName", variables);
+        String volumeGroupNameMatches =
+                BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupName", "CVGN_volumeGroupNameMatches", processId);
+
+        assertEquals("false", volumeGroupNameMatches);
+
+        logEnd();
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ConfirmVolumeGroupTenantIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ConfirmVolumeGroupTenantIT.java
index fd1f7c1..f190b62 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ConfirmVolumeGroupTenantIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ConfirmVolumeGroupTenantIT.java
@@ -19,17 +19,15 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
 import static org.junit.Assert.assertEquals;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetVolumeGroupById;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Test;
 import org.onap.so.BaseIntegrationTest;
 
@@ -40,49 +38,59 @@
 
 public class ConfirmVolumeGroupTenantIT extends BaseIntegrationTest {
 
-	@Test	
-	public void testRemoveLayer3Service_success() throws Exception{
-		MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58", "CRTGVNF_queryAAIResponseVolume.xml");
+    @Test
+    public void testRemoveLayer3Service_success() throws Exception {
+        MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58",
+                "CRTGVNF_queryAAIResponseVolume.xml");
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariables(variables);
+        Map<String, Object> variables = new HashMap<>();
+        setVariables(variables);
 
-		String processId = invokeSubProcess("ConfirmVolumeGroupTenant", variables);	
+        String processId = invokeSubProcess("ConfirmVolumeGroupTenant", variables);
 
-		String actualNameMatch = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "groupNamesMatch",processId);
-		String actualIdMatch = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "tenantIdsMatch",processId);
-		String actualResponse = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "volumeHeatStackId",processId);
+        String actualNameMatch =
+                BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "groupNamesMatch", processId);
+        String actualIdMatch =
+                BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "tenantIdsMatch", processId);
+        String actualResponse =
+                BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "volumeHeatStackId", processId);
 
-		assertEquals("Response", "true", actualNameMatch);
-		assertEquals("Response", "true", actualIdMatch);
-		assertEquals("Response", "MoG_CinderVolumes_2/19387dc6-060f-446e-b41f-dcfd29c73845", actualResponse);
-	}
+        assertEquals("Response", "true", actualNameMatch);
+        assertEquals("Response", "true", actualIdMatch);
+        assertEquals("Response", "MoG_CinderVolumes_2/19387dc6-060f-446e-b41f-dcfd29c73845", actualResponse);
+    }
 
-	@Test	
-	public void testRemoveLayer3Service_idsNotMatch() throws Exception{
-		MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58", "CRTGVNF_queryAAIResponseVolume_idsNotMatch.xml");
+    @Test
+    public void testRemoveLayer3Service_idsNotMatch() throws Exception {
+        MockGetVolumeGroupById(wireMockServer, "MDTWNJ21", "a8399879-31b3-4973-be26-0a0cbe776b58",
+                "CRTGVNF_queryAAIResponseVolume_idsNotMatch.xml");
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariables(variables);
+        Map<String, Object> variables = new HashMap<>();
+        setVariables(variables);
 
-		String processId = invokeSubProcess("ConfirmVolumeGroupTenant", variables);	
-		
+        String processId = invokeSubProcess("ConfirmVolumeGroupTenant", variables);
 
-		String actualNameMatch = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "groupNamesMatch",processId);
-		String actualIdMatch = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "tenantIdsMatch",processId);
-		String actualResponse = BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "WorkflowException",processId);
 
-		assertEquals("Response", "true", actualNameMatch);
-		assertEquals("Response", "false", actualIdMatch);
-		assertEquals("Response", "WorkflowException[processKey=ConfirmVolumeGroupTenant,errorCode=1,errorMessage=Volume Group a8399879-31b3-4973-be26-0a0cbe776b58 does not belong to your tenant,workStep=*]", actualResponse);
+        String actualNameMatch =
+                BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "groupNamesMatch", processId);
+        String actualIdMatch =
+                BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "tenantIdsMatch", processId);
+        String actualResponse =
+                BPMNUtil.getVariable(processEngine, "ConfirmVolumeGroupTenant", "WorkflowException", processId);
 
-	}
+        assertEquals("Response", "true", actualNameMatch);
+        assertEquals("Response", "false", actualIdMatch);
+        assertEquals("Response",
+                "WorkflowException[processKey=ConfirmVolumeGroupTenant,errorCode=1,errorMessage=Volume Group a8399879-31b3-4973-be26-0a0cbe776b58 does not belong to your tenant,workStep=*]",
+                actualResponse);
 
-	private void setVariables(Map<String, Object> variables) {
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("volumeGroupId","a8399879-31b3-4973-be26-0a0cbe776b58");
-		variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
-		variables.put("aicCloudRegion", "MDTWNJ21");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-	}
+    }
+
+    private void setVariables(Map<String, Object> variables) {
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("volumeGroupId", "a8399879-31b3-4973-be26-0a0cbe776b58");
+        variables.put("tenantId", "7dd5365547234ee8937416c65507d266");
+        variables.put("aicCloudRegion", "MDTWNJ21");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CreateAAIVfModuleIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CreateAAIVfModuleIT.java
index f6cd74a..47d3799 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CreateAAIVfModuleIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CreateAAIVfModuleIT.java
@@ -18,7 +18,7 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
@@ -26,18 +26,15 @@
 import static com.github.tomakehurst.wiremock.client.WireMock.containing;
 import static com.github.tomakehurst.wiremock.client.WireMock.put;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.so.BaseIntegrationTest;
 import org.onap.so.bpmn.core.WorkflowException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import com.github.tomakehurst.wiremock.WireMockServer;
 
 /**
@@ -45,223 +42,228 @@
  */
 
 public class CreateAAIVfModuleIT extends BaseIntegrationTest {
-	
-	Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleIT.class);
-	
-	@Test	
-	public void  TestCreateGenericVnfSuccess_200() {
 
-		new MockAAIGenericVnfSearch(wireMockServer);
-		MockAAICreateGenericVnf(wireMockServer);
-		MockAAIVfModulePUT(wireMockServer, true);
-					
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("isVidRequest", "false");
-		variables.put("vnfName", "STMTN5MMSC22");
-		variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
-		variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
-		variables.put("personaModelVersion", "1.0");
-		variables.put("vfModuleName", "STMTN5MMSC22-MMSC::module-0-0");
-		variables.put("vfModuleModelName", "MMSC::module-0");
-		
-		String processId = invokeSubProcess("CreateAAIVfModule", variables);
-		String response = BPMNUtil.getVariable(processEngine, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode",processId);
-		String responseCode = BPMNUtil.getVariable(processEngine, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode",processId);
-		Assert.assertEquals("201", responseCode);
-		logger.debug(response);
-	}
+    Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleIT.class);
 
-	@Test	
-	public void  TestCreateVfModuleSuccess_200() {
-		// create Add-on VF Module for existing Generic VNF
-		new MockAAIGenericVnfSearch(wireMockServer);
-		MockAAICreateGenericVnf(wireMockServer);
-		MockAAIVfModulePUT(wireMockServer, true);					
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("isVidRequest", "false");
-		variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
-		variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
-		variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
-		variables.put("personaModelVersion", "1.0");
-		variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-1-0");
-		variables.put("vfModuleModelName", "STMTN5MMSC21-MMSC::model-1-0");
-		String processId = invokeSubProcess("CreateAAIVfModule", variables);
-		String response = BPMNUtil.getVariable(processEngine, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode",processId);
-		String responseCode = BPMNUtil.getVariable(processEngine, "CreateAAIVfModule", "CAAIVfMod_createVfModuleResponseCode",processId);
-		Assert.assertEquals("201", responseCode);
-		logger.debug(response);
-	}
+    @Test
+    public void TestCreateGenericVnfSuccess_200() {
 
-	@Test		
-	public void  TestQueryGenericVnfFailure_5000() {
-		new MockAAIGenericVnfSearch(wireMockServer);
-		MockAAICreateGenericVnf(wireMockServer);
-		MockAAIVfModulePUT(wireMockServer, true);
-					
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");		
-		variables.put("isVidRequest", "false");
-		variables.put("vnfName", "STMTN5MMSC23");
-		variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
-		variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
-		variables.put("personaModelVersion", "1.0");
-		variables.put("vfModuleName", "STMTN5MMSC23-MMSC::module-0-0");
-		variables.put("vfModuleModelName", "MMSC::module-0");
-		String processId = invokeSubProcess("CreateAAIVfModule", variables);		
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(500, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("Error occurred attempting to query AAI"));
-		logger.debug(exception.getErrorMessage());
-	}
+        new MockAAIGenericVnfSearch(wireMockServer);
+        MockAAICreateGenericVnf(wireMockServer);
+        MockAAIVfModulePUT(wireMockServer, true);
 
-	@Test	
-	public void  TestCreateDupGenericVnfFailure_1002() {
-		new MockAAIGenericVnfSearch(wireMockServer);
-		MockAAICreateGenericVnf(wireMockServer);
-		MockAAIVfModulePUT(wireMockServer, true);
-			
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");		
-		variables.put("isVidRequest", "false");
-		variables.put("vnfName", "STMTN5MMSC21");
-		variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
-		variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
-		variables.put("personaModelVersion", "1.0");
-		variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-0-0");
-		variables.put("vfModuleModelName", "MMSC::module-0");
-		String processId = invokeSubProcess("CreateAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(1002, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("Invalid request for new Generic VNF which already exists"));
-		logger.debug(exception.getErrorMessage());
-	}
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("isVidRequest", "false");
+        variables.put("vnfName", "STMTN5MMSC22");
+        variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
+        variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+        variables.put("personaModelVersion", "1.0");
+        variables.put("vfModuleName", "STMTN5MMSC22-MMSC::module-0-0");
+        variables.put("vfModuleModelName", "MMSC::module-0");
 
-	@Test		
-	public void  TestCreateDupVfModuleFailure_1002() {
-		new MockAAIGenericVnfSearch(wireMockServer);
-		MockAAICreateGenericVnf(wireMockServer);
-		MockAAIVfModulePUT(wireMockServer, true);
-			
-		Map<String, Object> variables = new HashMap<>(); 
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");		
-		variables.put("isVidRequest", "false");
-		variables.put("vnfId", "2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4");
-		variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
-		variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
-		variables.put("personaModelVersion", "1.0");
-		variables.put("vfModuleName", "STMTN5MMSC20-MMSC::module-1-0");
-		variables.put("vfModuleModelName", "STMTN5MMSC20-MMSC::model-1-0");
-		String processId = invokeSubProcess("CreateAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(1002, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("already exists for Generic VNF"));
-		logger.debug(exception.getErrorMessage());
-	}
-	
-	@Test		
-	public void  TestCreateGenericVnfFailure_5000() {
-		new MockAAIGenericVnfSearch(wireMockServer);
-		MockAAICreateGenericVnf(wireMockServer);
-		MockAAIVfModulePUT(wireMockServer, true);
-			
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");		
-		variables.put("isVidRequest", "false");
-		variables.put("vnfName", "STMTN5MMSC22");
-		variables.put("serviceId", "99999999-9999-9999-9999-999999999999");
-		variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
-		variables.put("personaModelVersion", "1.0");
-		variables.put("vfModuleName", "STMTN5MMSC22-PCRF::module-1-0");
-		variables.put("vfModuleModelName", "PCRF::module-0");
-		String processId = invokeSubProcess("CreateAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(5000, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
-		logger.debug(exception.getErrorMessage());
-	}
+        String processId = invokeSubProcess("CreateAAIVfModule", variables);
+        String response = BPMNUtil.getVariable(processEngine, "CreateAAIVfModule",
+                "CAAIVfMod_createVfModuleResponseCode", processId);
+        String responseCode = BPMNUtil.getVariable(processEngine, "CreateAAIVfModule",
+                "CAAIVfMod_createVfModuleResponseCode", processId);
+        Assert.assertEquals("201", responseCode);
+        logger.debug(response);
+    }
 
-	@Test	
-	public void  TestCreateGenericVnfFailure_1002() {
-		new MockAAIGenericVnfSearch(wireMockServer);
-		MockAAICreateGenericVnf(wireMockServer);
-		MockAAIVfModulePUT(wireMockServer, true);
-			
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");		
-		variables.put("isVidRequest", "false");
-		variables.put("vnfId", "768073c7-f41f-4822-9323-b75962763d74");
-		variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
-		variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
-		variables.put("personaModelVersion", "1.0");
-		variables.put("vfModuleName", "STMTN5MMSC22-PCRF::module-1-0");
-		variables.put("vfModuleModelName", "PCRF::module-0");
-		String processId = invokeSubProcess("CreateAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(1002, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("Generic VNF Not Found"));
-		logger.debug(exception.getErrorMessage());
-	}
+    @Test
+    public void TestCreateVfModuleSuccess_200() {
+        // create Add-on VF Module for existing Generic VNF
+        new MockAAIGenericVnfSearch(wireMockServer);
+        MockAAICreateGenericVnf(wireMockServer);
+        MockAAIVfModulePUT(wireMockServer, true);
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("isVidRequest", "false");
+        variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
+        variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
+        variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+        variables.put("personaModelVersion", "1.0");
+        variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-1-0");
+        variables.put("vfModuleModelName", "STMTN5MMSC21-MMSC::model-1-0");
+        String processId = invokeSubProcess("CreateAAIVfModule", variables);
+        String response = BPMNUtil.getVariable(processEngine, "CreateAAIVfModule",
+                "CAAIVfMod_createVfModuleResponseCode", processId);
+        String responseCode = BPMNUtil.getVariable(processEngine, "CreateAAIVfModule",
+                "CAAIVfMod_createVfModuleResponseCode", processId);
+        Assert.assertEquals("201", responseCode);
+        logger.debug(response);
+    }
 
-	@Test	
-	public void  TestCreateVfModuleFailure_5000() {
-		new MockAAIGenericVnfSearch(wireMockServer);
-		MockAAICreateGenericVnf(wireMockServer);
-		MockAAIVfModulePUT(wireMockServer, true);
-			
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");		
-		variables.put("isVidRequest", "false");
-		variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
-		variables.put("serviceId", "99999999-9999-9999-9999-999999999999");
-		variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
-		variables.put("personaModelVersion", "1.0");
-		variables.put("vfModuleName", "STMTN5MMSC21-PCRF::module-1-0");
-		variables.put("vfModuleModelName", "STMTN5MMSC21-PCRF::model-1-0");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		String processId = invokeSubProcess("CreateAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(5000, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
-		logger.debug(exception.getErrorMessage());
-	}
+    @Test
+    public void TestQueryGenericVnfFailure_5000() {
+        new MockAAIGenericVnfSearch(wireMockServer);
+        MockAAICreateGenericVnf(wireMockServer);
+        MockAAIVfModulePUT(wireMockServer, true);
 
-	public static void MockAAICreateGenericVnf(WireMockServer wireMockServer){
-		wireMockServer.stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*"))
-				.withRequestBody(containing("<service-id>00000000-0000-0000-0000-000000000000</service-id>"))
-				.willReturn(aResponse()
-						.withStatus(201)));
-		wireMockServer.stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*"))
-				.withRequestBody(containing("<service-id>99999999-9999-9999-9999-999999999999</service-id>"))
-				.willReturn(aResponse()
-						.withStatus(500)
-						.withHeader("Content-Type", "text/xml")
-						.withBodyFile("aaiFault.xml")));
-	}
-	
-	// start of mocks used locally and by other VF Module unit tests
-	public static void MockAAIVfModulePUT(WireMockServer wireMockServer, boolean isCreate){
-		wireMockServer.stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*"))
-				.withRequestBody(containing("MMSC"))
-				.willReturn(aResponse()
-						.withStatus(isCreate ? 201 : 200)));
-		wireMockServer.stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*"))
-				.withRequestBody(containing("PCRF"))
-				.willReturn(aResponse()
-						.withStatus(500)
-						.withHeader("Content-Type", "text/xml")
-						.withBodyFile("aaiFault.xml")));
-		wireMockServer.stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721"))				
-				.willReturn(aResponse()
-					.withStatus(200)));
-	}
-	
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("isVidRequest", "false");
+        variables.put("vnfName", "STMTN5MMSC23");
+        variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
+        variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+        variables.put("personaModelVersion", "1.0");
+        variables.put("vfModuleName", "STMTN5MMSC23-MMSC::module-0-0");
+        variables.put("vfModuleModelName", "MMSC::module-0");
+        String processId = invokeSubProcess("CreateAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(500, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("Error occurred attempting to query AAI"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestCreateDupGenericVnfFailure_1002() {
+        new MockAAIGenericVnfSearch(wireMockServer);
+        MockAAICreateGenericVnf(wireMockServer);
+        MockAAIVfModulePUT(wireMockServer, true);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("isVidRequest", "false");
+        variables.put("vnfName", "STMTN5MMSC21");
+        variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
+        variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+        variables.put("personaModelVersion", "1.0");
+        variables.put("vfModuleName", "STMTN5MMSC21-MMSC::module-0-0");
+        variables.put("vfModuleModelName", "MMSC::module-0");
+        String processId = invokeSubProcess("CreateAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(1002, exception.getErrorCode());
+        Assert.assertEquals(true,
+                exception.getErrorMessage().contains("Invalid request for new Generic VNF which already exists"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestCreateDupVfModuleFailure_1002() {
+        new MockAAIGenericVnfSearch(wireMockServer);
+        MockAAICreateGenericVnf(wireMockServer);
+        MockAAIVfModulePUT(wireMockServer, true);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("isVidRequest", "false");
+        variables.put("vnfId", "2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4");
+        variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
+        variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+        variables.put("personaModelVersion", "1.0");
+        variables.put("vfModuleName", "STMTN5MMSC20-MMSC::module-1-0");
+        variables.put("vfModuleModelName", "STMTN5MMSC20-MMSC::model-1-0");
+        String processId = invokeSubProcess("CreateAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(1002, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("already exists for Generic VNF"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestCreateGenericVnfFailure_5000() {
+        new MockAAIGenericVnfSearch(wireMockServer);
+        MockAAICreateGenericVnf(wireMockServer);
+        MockAAIVfModulePUT(wireMockServer, true);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("isVidRequest", "false");
+        variables.put("vnfName", "STMTN5MMSC22");
+        variables.put("serviceId", "99999999-9999-9999-9999-999999999999");
+        variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+        variables.put("personaModelVersion", "1.0");
+        variables.put("vfModuleName", "STMTN5MMSC22-PCRF::module-1-0");
+        variables.put("vfModuleModelName", "PCRF::module-0");
+        String processId = invokeSubProcess("CreateAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(5000, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestCreateGenericVnfFailure_1002() {
+        new MockAAIGenericVnfSearch(wireMockServer);
+        MockAAICreateGenericVnf(wireMockServer);
+        MockAAIVfModulePUT(wireMockServer, true);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("isVidRequest", "false");
+        variables.put("vnfId", "768073c7-f41f-4822-9323-b75962763d74");
+        variables.put("serviceId", "00000000-0000-0000-0000-000000000000");
+        variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+        variables.put("personaModelVersion", "1.0");
+        variables.put("vfModuleName", "STMTN5MMSC22-PCRF::module-1-0");
+        variables.put("vfModuleModelName", "PCRF::module-0");
+        String processId = invokeSubProcess("CreateAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(1002, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("Generic VNF Not Found"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestCreateVfModuleFailure_5000() {
+        new MockAAIGenericVnfSearch(wireMockServer);
+        MockAAICreateGenericVnf(wireMockServer);
+        MockAAIVfModulePUT(wireMockServer, true);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("isVidRequest", "false");
+        variables.put("vnfId", "a27ce5a9-29c4-4c22-a017-6615ac73c721");
+        variables.put("serviceId", "99999999-9999-9999-9999-999999999999");
+        variables.put("personaModelId", "973ed047-d251-4fb9-bf1a-65b8949e0a73");
+        variables.put("personaModelVersion", "1.0");
+        variables.put("vfModuleName", "STMTN5MMSC21-PCRF::module-1-0");
+        variables.put("vfModuleModelName", "STMTN5MMSC21-PCRF::model-1-0");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        String processId = invokeSubProcess("CreateAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "CreateAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(5000, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    public static void MockAAICreateGenericVnf(WireMockServer wireMockServer) {
+        wireMockServer.stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*"))
+                .withRequestBody(containing("<service-id>00000000-0000-0000-0000-000000000000</service-id>"))
+                .willReturn(aResponse().withStatus(201)));
+        wireMockServer.stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*"))
+                .withRequestBody(containing("<service-id>99999999-9999-9999-9999-999999999999</service-id>"))
+                .willReturn(aResponse().withStatus(500).withHeader("Content-Type", "text/xml")
+                        .withBodyFile("aaiFault.xml")));
+    }
+
+    // start of mocks used locally and by other VF Module unit tests
+    public static void MockAAIVfModulePUT(WireMockServer wireMockServer, boolean isCreate) {
+        wireMockServer
+                .stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*"))
+                        .withRequestBody(containing("MMSC")).willReturn(aResponse().withStatus(isCreate ? 201 : 200)));
+        wireMockServer
+                .stubFor(put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*/vf-modules/vf-module/.*"))
+                        .withRequestBody(containing("PCRF")).willReturn(aResponse().withStatus(500)
+                                .withHeader("Content-Type", "text/xml").withBodyFile("aaiFault.xml")));
+        wireMockServer.stubFor(
+                put(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721"))
+                        .willReturn(aResponse().withStatus(200)));
+    }
+
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CreateAAIVfModuleVolumeGroupIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CreateAAIVfModuleVolumeGroupIT.java
index 39a7e0c..b78c5b8 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CreateAAIVfModuleVolumeGroupIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/CreateAAIVfModuleVolumeGroupIT.java
@@ -26,12 +26,10 @@
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetVfModuleId;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutVfModuleId;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutVfModuleIdNoResponse;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.so.BaseIntegrationTest;
@@ -45,91 +43,95 @@
 
 public class CreateAAIVfModuleVolumeGroupIT extends BaseIntegrationTest {
 
-	Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleVolumeGroupIT.class);
+    Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleVolumeGroupIT.class);
 
-	/**
-	 * Test the happy path through the flow.
-	 */
-	@Test
-	public void happyPath() throws IOException {
+    /**
+     * Test the happy path through the flow.
+     */
+    @Test
+    public void happyPath() throws IOException {
 
-		logStart();
+        logStart();
 
-		String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml");
-		MockGetGenericVnfByIdWithPriority(wireMockServer, "skask", "lukewarm", 200, "VfModularity/VfModule-lukewarm.xml", 2);
-		MockPutVfModuleIdNoResponse(wireMockServer, "skask", "PCRF", "lukewarm");
+        String updateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml");
+        MockGetGenericVnfByIdWithPriority(wireMockServer, "skask", "lukewarm", 200,
+                "VfModularity/VfModule-lukewarm.xml", 2);
+        MockPutVfModuleIdNoResponse(wireMockServer, "skask", "PCRF", "lukewarm");
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", "999-99-9999");
-		variables.put("isDebugLogEnabled","true");
-		variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest);
-		invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", "999-99-9999");
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest);
+        invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables);
 
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(200, responseCode.intValue());
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(200, responseCode.intValue());
 
-		logEnd();
-	}
+        logEnd();
+    }
 
-	/**
-	 * Test the case where the GET to AAI returns a 404.
-	 */
-	@Test
-	public void badGet() throws IOException {
+    /**
+     * Test the case where the GET to AAI returns a 404.
+     */
+    @Test
+    public void badGet() throws IOException {
 
-		logStart();
+        logStart();
 
-		String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml");
-		MockGetVfModuleId(wireMockServer, "skask", ".*", "VfModularity/VfModule-supercool.xml", 404);
+        String updateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml");
+        MockGetVfModuleId(wireMockServer, "skask", ".*", "VfModularity/VfModule-supercool.xml", 404);
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", "999-99-9999");
-		variables.put("isDebugLogEnabled","true");
-		variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest);
-		invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables);
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_getVfModuleResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_getVfModuleResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(404, responseCode.intValue());
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", "999-99-9999");
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest);
+        invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables);
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_getVfModuleResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_getVfModuleResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(404, responseCode.intValue());
 
-		logEnd();
-	}
+        logEnd();
+    }
 
-	/**
-	 * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404.
-	 */
-	@Test
-	public void badPatch() throws IOException {
+    /**
+     * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404.
+     */
+    @Test
+    public void badPatch() throws IOException {
 
-		logStart();
+        logStart();
 
-		String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml");
-		MockGetVfModuleId(wireMockServer, "skask", "lukewarm", "VfModularity/VfModule-lukewarm.xml", 200);
-		MockPutVfModuleId(wireMockServer, "skask", "lukewarm", 404);
+        String updateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/CreateAAIVfModuleVolumeGroupRequest.xml");
+        MockGetVfModuleId(wireMockServer, "skask", "lukewarm", "VfModularity/VfModule-lukewarm.xml", 200);
+        MockPutVfModuleId(wireMockServer, "skask", "lukewarm", 404);
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", "999-99-9999");
-		variables.put("isDebugLogEnabled","true");
-		variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest);
-		invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", "999-99-9999");
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("CreateAAIVfModuleVolumeGroupRequest", updateAAIVfModuleRequest);
+        invokeSubProcess("CreateAAIVfModuleVolumeGroup", businessKey, variables);
 
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(404, responseCode.intValue());
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "CAAIVfModVG_updateVfModuleResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(404, responseCode.intValue());
 
-		logEnd();
-	}
+        logEnd();
+    }
 }
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/DecomposeServiceIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/DecomposeServiceIT.java
index 3d15a4b..0bfcbd3 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/DecomposeServiceIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/DecomposeServiceIT.java
@@ -16,7 +16,7 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
@@ -25,7 +25,6 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Assert;
 import org.junit.Ignore;
@@ -40,56 +39,55 @@
 public class DecomposeServiceIT extends BaseIntegrationTest {
 
 
-	public DecomposeServiceIT() throws IOException {
+    public DecomposeServiceIT() throws IOException {
 
-	}
+    }
 
-	@Test	
-	public void testDecomposeService_success() throws Exception{
-		MockGetServiceResourcesCatalogData(wireMockServer, "cmw-123-456-789", "1.0", "/getCatalogServiceResourcesDataWithConfig.json");
+    @Test
+    public void testDecomposeService_success() throws Exception {
+        MockGetServiceResourcesCatalogData(wireMockServer, "cmw-123-456-789", "1.0",
+                "/getCatalogServiceResourcesDataWithConfig.json");
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff");
-		invokeSubProcess("DecomposeService", businessKey, variables);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff");
+        invokeSubProcess("DecomposeService", businessKey, variables);
 
-		waitForProcessEnd(businessKey, 10000);
+        waitForProcessEnd(businessKey, 10000);
 
-		Assert.assertTrue(isProcessEnded(businessKey));
+        Assert.assertTrue(isProcessEnded(businessKey));
 
-	}
-	
-	//@Test
-	@Test
-	public void testDecomposeService_success_partial() throws Exception{
-		MockGetServiceResourcesCatalogData(wireMockServer, "cmw-123-456-789", "1.0", "/getCatalogServiceResourcesDataNoNetwork.json");
+    }
+
+    // @Test
+    @Test
+    public void testDecomposeService_success_partial() throws Exception {
+        MockGetServiceResourcesCatalogData(wireMockServer, "cmw-123-456-789", "1.0",
+                "/getCatalogServiceResourcesDataNoNetwork.json");
 
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff");
-		invokeSubProcess("DecomposeService", businessKey, variables);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff");
+        invokeSubProcess("DecomposeService", businessKey, variables);
 
-		waitForProcessEnd(businessKey, 10000);
+        waitForProcessEnd(businessKey, 10000);
 
-		Assert.assertTrue(isProcessEnded(businessKey));
+        Assert.assertTrue(isProcessEnded(businessKey));
 
-	}
+    }
 
-	private void setVariablesSuccess(Map<String, Object> variables, String requestId, String siId) {
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("mso-request-id", requestId);
-		variables.put("msoRequestId", requestId);
-		variables.put("serviceInstanceId",siId);
+    private void setVariablesSuccess(Map<String, Object> variables, String requestId, String siId) {
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", requestId);
+        variables.put("msoRequestId", requestId);
+        variables.put("serviceInstanceId", siId);
 
-		String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," +
-				"\"modelInvariantUuid\": \"cmw-123-456-789\"," +
-				"\"modelVersionId\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," +
-				"\"modelName\": \"ServicevSAMP12\"," +
-				"\"modelVersion\": \"1.0\"," +
-				"}";
-		variables.put("serviceModelInfo", serviceModelInfo);
+        String serviceModelInfo = "{ " + "\"modelType\": \"service\"," + "\"modelInvariantUuid\": \"cmw-123-456-789\","
+                + "\"modelVersionId\": \"ab6478e5-ea33-3346-ac12-ab121484a3fe\"," + "\"modelName\": \"ServicevSAMP12\","
+                + "\"modelVersion\": \"1.0\"," + "}";
+        variables.put("serviceModelInfo", serviceModelInfo);
 
-	}
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/DeleteAAIVfModuleIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/DeleteAAIVfModuleIT.java
index 99e4b8c..cac237a 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/DeleteAAIVfModuleIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/DeleteAAIVfModuleIT.java
@@ -16,14 +16,13 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.so.BaseIntegrationTest;
@@ -36,245 +35,227 @@
  */
 
 public class DeleteAAIVfModuleIT extends BaseIntegrationTest {
-	private static final String EOL = "\n";
-	
-	Logger logger = LoggerFactory.getLogger(DeleteAAIVfModuleIT.class);
-	
-	@Test	
-	public void  TestDeleteGenericVnfSuccess_200() {
-		// delete the Base Module and Generic Vnf
-		// vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73
-		new MockAAIGenericVnfSearch(wireMockServer);
-		new MockAAIDeleteGenericVnf(wireMockServer);
-		new MockAAIDeleteVfModule(wireMockServer);
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("DeleteAAIVfModuleRequest","<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\"> <request-info> <action>DELETE_VF_MODULE</action> <source>PORTAL</source> </request-info> <vnf-inputs> <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id> <vnf-name>STMTN5MMSC21</vnf-name> <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id> <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name> </vnf-inputs> <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/> </vnf-request>");
-		String processId = invokeSubProcess("DeleteAAIVfModule", variables);
-		String response = BPMNUtil.getVariable(processEngine, "DeleteAAIVfModule", "DAAIVfMod_deleteGenericVnfResponseCode",processId);
-		String responseCode = BPMNUtil.getVariable(processEngine, "DeleteAAIVfModule", "DAAIVfMod_deleteGenericVnfResponseCode",processId);
-		Assert.assertEquals("200", responseCode);
-		logger.debug(response);
-	}
+    private static final String EOL = "\n";
 
-	@Test	
-	public void  TestDeleteVfModuleSuccess_200() {
-		// delete Add-on Vf Module for existing Generic Vnf
-		// vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a75
-		String request =
-			"<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL +
-			"  <request-info>" + EOL +
-			"    <action>DELETE_VF_MODULE</action>" + EOL +
-			"    <source>PORTAL</source>" + EOL +
-			"  </request-info>" + EOL +
-			"  <vnf-inputs>" + EOL +
-			"    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c720</vnf-id>" + EOL +
-			"    <vnf-name>STMTN5MMSC20</vnf-name>" + EOL +
-			"    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a75</vf-module-id>" + EOL +
-			"    <vf-module-name>STMTN5MMSC20-MMSC::module-1-0</vf-module-name>" + EOL +
-			"  </vnf-inputs>" + EOL +
-			"  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL +
-			"</vnf-request>" + EOL;
+    Logger logger = LoggerFactory.getLogger(DeleteAAIVfModuleIT.class);
 
-		new MockAAIGenericVnfSearch(wireMockServer);
-		new MockAAIDeleteGenericVnf(wireMockServer);
-		new MockAAIDeleteVfModule(wireMockServer);
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("DeleteAAIVfModuleRequest",request);
-		String processId = invokeSubProcess("DeleteAAIVfModule", variables);
-		String response = BPMNUtil.getVariable(processEngine, "DeleteAAIVfModule", "DAAIVfMod_deleteVfModuleResponseCode",processId);
-		String responseCode = BPMNUtil.getVariable(processEngine, "DeleteAAIVfModule", "DAAIVfMod_deleteVfModuleResponseCode",processId);
-		Assert.assertEquals("200", responseCode);
-		logger.debug(response);
-	}
+    @Test
+    public void TestDeleteGenericVnfSuccess_200() {
+        // delete the Base Module and Generic Vnf
+        // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c721, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a73
+        new MockAAIGenericVnfSearch(wireMockServer);
+        new MockAAIDeleteGenericVnf(wireMockServer);
+        new MockAAIDeleteVfModule(wireMockServer);
 
-	@Test	
-	public void  TestQueryGenericVnfFailure_5000() {
-		// query Generic Vnf failure (non-404) with A&AI
-		// vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c723, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a71
-		String request =
-			"<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL +
-			"  <request-info>" + EOL +
-			"    <action>DELETE_VF_MODULE</action>" + EOL +
-			"    <source>PORTAL</source>" + EOL +
-			"  </request-info>" + EOL +
-			"  <vnf-inputs>" + EOL +
-			"    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c723</vnf-id>" + EOL +
-			"    <vnf-name>STMTN5MMSC23</vnf-name>" + EOL +
-			"    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a71</vf-module-id>" + EOL +
-			"    <vf-module-name>STMTN5MMSC20-MMSC::module-1-0</vf-module-name>" + EOL +
-			"  </vnf-inputs>" + EOL +
-			"  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL +
-			"</vnf-request>" + EOL;
-		new MockAAIGenericVnfSearch(wireMockServer);
-		new MockAAIDeleteGenericVnf(wireMockServer);
-		new MockAAIDeleteVfModule(wireMockServer);
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("DeleteAAIVfModuleRequest",request);
-		String processId = invokeSubProcess("DeleteAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(5000, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
-		logger.debug(exception.getErrorMessage());
-	}
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("DeleteAAIVfModuleRequest",
+                "<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\"> <request-info> <action>DELETE_VF_MODULE</action> <source>PORTAL</source> </request-info> <vnf-inputs> <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id> <vnf-name>STMTN5MMSC21</vnf-name> <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id> <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name> </vnf-inputs> <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/> </vnf-request>");
+        String processId = invokeSubProcess("DeleteAAIVfModule", variables);
+        String response = BPMNUtil.getVariable(processEngine, "DeleteAAIVfModule",
+                "DAAIVfMod_deleteGenericVnfResponseCode", processId);
+        String responseCode = BPMNUtil.getVariable(processEngine, "DeleteAAIVfModule",
+                "DAAIVfMod_deleteGenericVnfResponseCode", processId);
+        Assert.assertEquals("200", responseCode);
+        logger.debug(response);
+    }
 
-	@Test	
-	public void  TestQueryGenericVnfFailure_1002() {
-		// attempt to delete Vf Module for Generic Vnf that does not exist (A&AI returns 404)
-		// vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c722, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a72
-		String request =
-			"<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL +
-			"  <request-info>" + EOL +
-			"    <action>DELETE_VF_MODULE</action>" + EOL +
-			"    <source>PORTAL</source>" + EOL +
-			"  </request-info>" + EOL +
-			"  <vnf-inputs>" + EOL +
-			"    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c722</vnf-id>" + EOL +
-			"    <vnf-name>STMTN5MMSC22</vnf-name>" + EOL +
-			"    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a72</vf-module-id>" + EOL +
-			"    <vf-module-name>STMTN5MMSC22-MMSC::module-1-0</vf-module-name>" + EOL +
-			"  </vnf-inputs>" + EOL +
-			"  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL +
-			"</vnf-request>" + EOL;
-		new MockAAIGenericVnfSearch(wireMockServer);
-		new MockAAIDeleteGenericVnf(wireMockServer);
-		new MockAAIDeleteVfModule(wireMockServer);
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("DeleteAAIVfModuleRequest",request);
-		String processId = invokeSubProcess("DeleteAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(1002, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("Generic VNF Not Found"));
-		logger.debug(exception.getErrorMessage());
-	}
+    @Test
+    public void TestDeleteVfModuleSuccess_200() {
+        // delete Add-on Vf Module for existing Generic Vnf
+        // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a75
+        String request = "<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL
+                + "  <request-info>" + EOL + "    <action>DELETE_VF_MODULE</action>" + EOL
+                + "    <source>PORTAL</source>" + EOL + "  </request-info>" + EOL + "  <vnf-inputs>" + EOL
+                + "    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c720</vnf-id>" + EOL
+                + "    <vnf-name>STMTN5MMSC20</vnf-name>" + EOL
+                + "    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a75</vf-module-id>" + EOL
+                + "    <vf-module-name>STMTN5MMSC20-MMSC::module-1-0</vf-module-name>" + EOL + "  </vnf-inputs>" + EOL
+                + "  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL + "</vnf-request>"
+                + EOL;
 
-	@Test	
-	public void  TestDeleteGenericVnfFailure_5000() {
-		// A&AI failure (non-200) when attempting to delete a Generic Vnf
-		// vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c718, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a78
-		String request =
-			"<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL +
-			"  <request-info>" + EOL +
-			"    <action>DELETE_VF_MODULE</action>" + EOL +
-			"    <source>PORTAL</source>" + EOL +
-			"  </request-info>" + EOL +
-			"  <vnf-inputs>" + EOL +
-			"    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c718</vnf-id>" + EOL +
-			"    <vnf-name>STMTN5MMSC18</vnf-name>" + EOL +
-			"    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a78</vf-module-id>" + EOL +
-			"    <vf-module-name>STMTN5MMSC18-MMSC::module-0-0</vf-module-name>" + EOL +
-			"  </vnf-inputs>" + EOL +
-			"  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL +
-			"</vnf-request>" + EOL;
-		new MockAAIGenericVnfSearch(wireMockServer);
-		new MockAAIDeleteGenericVnf(wireMockServer);
-		new MockAAIDeleteVfModule(wireMockServer);
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("DeleteAAIVfModuleRequest",request);
-		String processId = invokeSubProcess("DeleteAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(5000, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
-		logger.debug(exception.getErrorMessage());
-	}
-	
-	@Test	
-	public void  TestDeleteVfModuleFailure_5000() {
-		// A&AI failure (non-200) when attempting to delete a Vf Module
-		// vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c719, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a77
-		String request =
-			"<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL +
-			"  <request-info>" + EOL +
-			"    <action>DELETE_VF_MODULE</action>" + EOL +
-			"    <source>PORTAL</source>" + EOL +
-			"  </request-info>" + EOL +
-			"  <vnf-inputs>" + EOL +
-			"    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c719</vnf-id>" + EOL +
-			"    <vnf-name>STMTN5MMSC19</vnf-name>" + EOL +
-			"    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a77</vf-module-id>" + EOL +
-			"    <vf-module-name>STMTN5MMSC19-MMSC::module-1-0</vf-module-name>" + EOL +
-			"  </vnf-inputs>" + EOL +
-			"  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL +
-			"</vnf-request>" + EOL;
-		new MockAAIGenericVnfSearch(wireMockServer);
-		new MockAAIDeleteGenericVnf(wireMockServer);
-		new MockAAIDeleteVfModule(wireMockServer);
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("DeleteAAIVfModuleRequest",request);
-		String processId = invokeSubProcess("DeleteAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(5000, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
-		logger.debug(exception.getErrorMessage());
-	}
-	
-	@Test	
-	public void  TestDeleteVfModuleFailure_1002_1() {
-		// failure attempting to delete Base Module when not the last Vf Module
-		// vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a74
-		String request =
-			"<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL +
-			"  <request-info>" + EOL +
-			"    <action>DELETE_VF_MODULE</action>" + EOL +
-			"    <source>PORTAL</source>" + EOL +
-			"  </request-info>" + EOL +
-			"  <vnf-inputs>" + EOL +
-			"    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c720</vnf-id>" + EOL +
-			"    <vnf-name>STMTN5MMSC20</vnf-name>" + EOL +
-			"    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</vf-module-id>" + EOL +
-			"    <vf-module-name>STMTN5MMSC20-MMSC::module-0-0</vf-module-name>" + EOL +
-			"  </vnf-inputs>" + EOL +
-			"  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL +
-			"</vnf-request>" + EOL;
-		new MockAAIGenericVnfSearch(wireMockServer);
-		new MockAAIDeleteGenericVnf(wireMockServer);
-		new MockAAIDeleteVfModule(wireMockServer);
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("DeleteAAIVfModuleRequest",request);
-		String processId = invokeSubProcess("DeleteAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(1002, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("is Base Module, not Last Module"));
-		logger.debug(exception.getErrorMessage());
-	}
+        new MockAAIGenericVnfSearch(wireMockServer);
+        new MockAAIDeleteGenericVnf(wireMockServer);
+        new MockAAIDeleteVfModule(wireMockServer);
 
-	@Test	
-	public void  TestDeleteVfModuleFailure_1002_2() {
-		// failure attempting to delete a Vf Module that does not exist (A&AI returns 404)
-		// vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a76
-		new MockAAIGenericVnfSearch(wireMockServer);
-		new MockAAIDeleteGenericVnf(wireMockServer);
-		new MockAAIDeleteVfModule(wireMockServer);
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("DeleteAAIVfModuleRequest","<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\"> <request-info> <action>DELETE_VF_MODULE</action> <source>PORTAL</source> </request-info> <vnf-inputs> <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c720</vnf-id> <vnf-name>STMTN5MMSC20</vnf-name> <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a76</vf-module-id> <vf-module-name>STMTN5MMSC20-MMSC::module-2-0</vf-module-name> </vnf-inputs> <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/> </vnf-request>");
-		String processId = invokeSubProcess("DeleteAAIVfModule", variables);
-		WorkflowException exception = BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException",processId);
-		Assert.assertEquals(1002, exception.getErrorCode());
-		Assert.assertEquals(true, exception.getErrorMessage().contains("does not exist for Generic Vnf Id"));
-		logger.debug(exception.getErrorMessage());
-	}
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("DeleteAAIVfModuleRequest", request);
+        String processId = invokeSubProcess("DeleteAAIVfModule", variables);
+        String response = BPMNUtil.getVariable(processEngine, "DeleteAAIVfModule",
+                "DAAIVfMod_deleteVfModuleResponseCode", processId);
+        String responseCode = BPMNUtil.getVariable(processEngine, "DeleteAAIVfModule",
+                "DAAIVfMod_deleteVfModuleResponseCode", processId);
+        Assert.assertEquals("200", responseCode);
+        logger.debug(response);
+    }
+
+    @Test
+    public void TestQueryGenericVnfFailure_5000() {
+        // query Generic Vnf failure (non-404) with A&AI
+        // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c723, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a71
+        String request = "<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL
+                + "  <request-info>" + EOL + "    <action>DELETE_VF_MODULE</action>" + EOL
+                + "    <source>PORTAL</source>" + EOL + "  </request-info>" + EOL + "  <vnf-inputs>" + EOL
+                + "    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c723</vnf-id>" + EOL
+                + "    <vnf-name>STMTN5MMSC23</vnf-name>" + EOL
+                + "    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a71</vf-module-id>" + EOL
+                + "    <vf-module-name>STMTN5MMSC20-MMSC::module-1-0</vf-module-name>" + EOL + "  </vnf-inputs>" + EOL
+                + "  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL + "</vnf-request>"
+                + EOL;
+        new MockAAIGenericVnfSearch(wireMockServer);
+        new MockAAIDeleteGenericVnf(wireMockServer);
+        new MockAAIDeleteVfModule(wireMockServer);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("DeleteAAIVfModuleRequest", request);
+        String processId = invokeSubProcess("DeleteAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(5000, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestQueryGenericVnfFailure_1002() {
+        // attempt to delete Vf Module for Generic Vnf that does not exist (A&AI returns 404)
+        // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c722, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a72
+        String request = "<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL
+                + "  <request-info>" + EOL + "    <action>DELETE_VF_MODULE</action>" + EOL
+                + "    <source>PORTAL</source>" + EOL + "  </request-info>" + EOL + "  <vnf-inputs>" + EOL
+                + "    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c722</vnf-id>" + EOL
+                + "    <vnf-name>STMTN5MMSC22</vnf-name>" + EOL
+                + "    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a72</vf-module-id>" + EOL
+                + "    <vf-module-name>STMTN5MMSC22-MMSC::module-1-0</vf-module-name>" + EOL + "  </vnf-inputs>" + EOL
+                + "  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL + "</vnf-request>"
+                + EOL;
+        new MockAAIGenericVnfSearch(wireMockServer);
+        new MockAAIDeleteGenericVnf(wireMockServer);
+        new MockAAIDeleteVfModule(wireMockServer);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("DeleteAAIVfModuleRequest", request);
+        String processId = invokeSubProcess("DeleteAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(1002, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("Generic VNF Not Found"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestDeleteGenericVnfFailure_5000() {
+        // A&AI failure (non-200) when attempting to delete a Generic Vnf
+        // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c718, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a78
+        String request = "<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL
+                + "  <request-info>" + EOL + "    <action>DELETE_VF_MODULE</action>" + EOL
+                + "    <source>PORTAL</source>" + EOL + "  </request-info>" + EOL + "  <vnf-inputs>" + EOL
+                + "    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c718</vnf-id>" + EOL
+                + "    <vnf-name>STMTN5MMSC18</vnf-name>" + EOL
+                + "    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a78</vf-module-id>" + EOL
+                + "    <vf-module-name>STMTN5MMSC18-MMSC::module-0-0</vf-module-name>" + EOL + "  </vnf-inputs>" + EOL
+                + "  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL + "</vnf-request>"
+                + EOL;
+        new MockAAIGenericVnfSearch(wireMockServer);
+        new MockAAIDeleteGenericVnf(wireMockServer);
+        new MockAAIDeleteVfModule(wireMockServer);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("DeleteAAIVfModuleRequest", request);
+        String processId = invokeSubProcess("DeleteAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(5000, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestDeleteVfModuleFailure_5000() {
+        // A&AI failure (non-200) when attempting to delete a Vf Module
+        // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c719, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a77
+        String request = "<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL
+                + "  <request-info>" + EOL + "    <action>DELETE_VF_MODULE</action>" + EOL
+                + "    <source>PORTAL</source>" + EOL + "  </request-info>" + EOL + "  <vnf-inputs>" + EOL
+                + "    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c719</vnf-id>" + EOL
+                + "    <vnf-name>STMTN5MMSC19</vnf-name>" + EOL
+                + "    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a77</vf-module-id>" + EOL
+                + "    <vf-module-name>STMTN5MMSC19-MMSC::module-1-0</vf-module-name>" + EOL + "  </vnf-inputs>" + EOL
+                + "  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL + "</vnf-request>"
+                + EOL;
+        new MockAAIGenericVnfSearch(wireMockServer);
+        new MockAAIDeleteGenericVnf(wireMockServer);
+        new MockAAIDeleteVfModule(wireMockServer);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("DeleteAAIVfModuleRequest", request);
+        String processId = invokeSubProcess("DeleteAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(5000, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("<messageId>SVC3002</messageId>"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestDeleteVfModuleFailure_1002_1() {
+        // failure attempting to delete Base Module when not the last Vf Module
+        // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a74
+        String request = "<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\">" + EOL
+                + "  <request-info>" + EOL + "    <action>DELETE_VF_MODULE</action>" + EOL
+                + "    <source>PORTAL</source>" + EOL + "  </request-info>" + EOL + "  <vnf-inputs>" + EOL
+                + "    <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c720</vnf-id>" + EOL
+                + "    <vnf-name>STMTN5MMSC20</vnf-name>" + EOL
+                + "    <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</vf-module-id>" + EOL
+                + "    <vf-module-name>STMTN5MMSC20-MMSC::module-0-0</vf-module-name>" + EOL + "  </vnf-inputs>" + EOL
+                + "  <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/>" + EOL + "</vnf-request>"
+                + EOL;
+        new MockAAIGenericVnfSearch(wireMockServer);
+        new MockAAIDeleteGenericVnf(wireMockServer);
+        new MockAAIDeleteVfModule(wireMockServer);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("DeleteAAIVfModuleRequest", request);
+        String processId = invokeSubProcess("DeleteAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(1002, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("is Base Module, not Last Module"));
+        logger.debug(exception.getErrorMessage());
+    }
+
+    @Test
+    public void TestDeleteVfModuleFailure_1002_2() {
+        // failure attempting to delete a Vf Module that does not exist (A&AI returns 404)
+        // vnf-id=a27ce5a9-29c4-4c22-a017-6615ac73c720, vf-module-id=973ed047-d251-4fb9-bf1a-65b8949e0a76
+        new MockAAIGenericVnfSearch(wireMockServer);
+        new MockAAIDeleteGenericVnf(wireMockServer);
+        new MockAAIDeleteVfModule(wireMockServer);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("DeleteAAIVfModuleRequest",
+                "<vnf-request xmlns=\"http://openecomp.org/mso/infra/vnf-request/v1\"> <request-info> <action>DELETE_VF_MODULE</action> <source>PORTAL</source> </request-info> <vnf-inputs> <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c720</vnf-id> <vnf-name>STMTN5MMSC20</vnf-name> <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a76</vf-module-id> <vf-module-name>STMTN5MMSC20-MMSC::module-2-0</vf-module-name> </vnf-inputs> <vnf-params xmlns:tns=\"http://openecomp.org/mso/infra/vnf-request/v1\"/> </vnf-request>");
+        String processId = invokeSubProcess("DeleteAAIVfModule", variables);
+        WorkflowException exception =
+                BPMNUtil.getRawVariable(processEngine, "DeleteAAIVfModule", "WorkflowException", processId);
+        Assert.assertEquals(1002, exception.getErrorCode());
+        Assert.assertEquals(true, exception.getErrorMessage().contains("does not exist for Generic Vnf Id"));
+        logger.debug(exception.getErrorMessage());
+    }
 }
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/FalloutHandlerIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/FalloutHandlerIT.java
index 88f8e5d..59f46b2 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/FalloutHandlerIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/FalloutHandlerIT.java
@@ -18,7 +18,7 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
@@ -26,11 +26,9 @@
 import static com.github.tomakehurst.wiremock.client.WireMock.post;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
 import static org.onap.so.bpmn.common.BPMNUtil.waitForWorkflowToFinish;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.so.BaseIntegrationTest;
@@ -42,185 +40,164 @@
  */
 
 public class FalloutHandlerIT extends BaseIntegrationTest {
-	
-	Logger logger = LoggerFactory.getLogger(FalloutHandlerIT.class);
-	
-	
-	private void setupMocks() {
-		wireMockServer.stubFor(post(urlEqualTo("/dbadapters/AttRequestsDbAdapter"))
-				.willReturn(aResponse()
-				.withStatus(200)
-				.withHeader("Content-Type", "text/xml")
-				.withBody("<DbTag>Notified</DbTag>")));
-		wireMockServer.stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter"))
-				.willReturn(aResponse()
-				.withStatus(200)
-				.withHeader("Content-Type", "text/xml")
-				.withBody("<DbTag>Notified</DbTag>")));
-	}	
-	
-	private String executeFlow(String inputRequestFile) throws InterruptedException {	
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("FalloutHandlerRequest",inputRequestFile);		variables.put("mso-request-id", UUID.randomUUID().toString());
-		String processId = invokeSubProcess( "FalloutHandler", variables);
-		waitForWorkflowToFinish(processEngine,processId);
-		logEnd();
-		return processId;
-	}	
-	
-	@Test		
-	public void msoFalloutHandlerWithNotificationurl_200() throws Exception{		
-		//Setup Mocks
-		setupMocks();
-		//Execute Flow
-		String processId = executeFlow(gMsoFalloutHandlerWithNotificationurl());
-		//Verify Error
-		String FH_ResponseCode = BPMNUtil.getVariable(processEngine, "FalloutHandler", "FH_ResponseCode",processId);
-		Assert.assertEquals("200", FH_ResponseCode);
-		Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "FalloutHandler", "FH_SuccessIndicator",processId)); 
-	}
-	
-	public String gMsoFalloutHandlerWithNotificationurl() {
-		//Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
-		String xml = ""
-				+ "<sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns7=\"http://org.onap/so/request/types/v1\">"
-				+ "		<ns7:request-information>"
-				+ "			<ns7:request-id>1020_STUW105_5002</ns7:request-id>"
-				+ "			<ns7:request-action>requestAction</ns7:request-action>"
-				+ "			<ns7:request-sub-action>CANCEL</ns7:request-sub-action>"
-				+ "			<ns7:source>source</ns7:source>"
-				+ "			<ns7:notification-url>http://localhost:28090/CCD/StatusNotification</ns7:notification-url>"
-				+ "			<ns7:order-number>10205000</ns7:order-number>"
-				+ "			<ns7:order-version>1</ns7:order-version>"
-				+ "		</ns7:request-information>"
-				+ "		<sdncadapterworkflow:WorkflowException>"
-				+ "			<sdncadapterworkflow:ErrorMessage>Some Error Message - Fallout Handler</sdncadapterworkflow:ErrorMessage>"
-				+ "			<sdncadapterworkflow:ErrorCode>Some Error Code - Fallout Handler</sdncadapterworkflow:ErrorCode>"
-				+ "			<sdncadapterworkflow:SourceSystemErrorCode>Some Source System Error Code- Fallout Handler</sdncadapterworkflow:SourceSystemErrorCode>"
-				+ "		</sdncadapterworkflow:WorkflowException>"
-				+ "</sdncadapterworkflow:FalloutHandlerRequest>";
-		
-		return xml;
 
-	}	
-	
+    Logger logger = LoggerFactory.getLogger(FalloutHandlerIT.class);
+
+
+    private void setupMocks() {
+        wireMockServer.stubFor(post(urlEqualTo("/dbadapters/AttRequestsDbAdapter")).willReturn(aResponse()
+                .withStatus(200).withHeader("Content-Type", "text/xml").withBody("<DbTag>Notified</DbTag>")));
+        wireMockServer.stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")).willReturn(aResponse().withStatus(200)
+                .withHeader("Content-Type", "text/xml").withBody("<DbTag>Notified</DbTag>")));
+    }
+
+    private String executeFlow(String inputRequestFile) throws InterruptedException {
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("FalloutHandlerRequest", inputRequestFile);
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        String processId = invokeSubProcess("FalloutHandler", variables);
+        waitForWorkflowToFinish(processEngine, processId);
+        logEnd();
+        return processId;
+    }
+
+    @Test
+    public void msoFalloutHandlerWithNotificationurl_200() throws Exception {
+        // Setup Mocks
+        setupMocks();
+        // Execute Flow
+        String processId = executeFlow(gMsoFalloutHandlerWithNotificationurl());
+        // Verify Error
+        String FH_ResponseCode = BPMNUtil.getVariable(processEngine, "FalloutHandler", "FH_ResponseCode", processId);
+        Assert.assertEquals("200", FH_ResponseCode);
+        Assert.assertTrue(
+                (boolean) BPMNUtil.getRawVariable(processEngine, "FalloutHandler", "FH_SuccessIndicator", processId));
+    }
+
+    public String gMsoFalloutHandlerWithNotificationurl() {
+        // Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
+        String xml = ""
+                + "<sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns7=\"http://org.onap/so/request/types/v1\">"
+                + "		<ns7:request-information>" + "			<ns7:request-id>1020_STUW105_5002</ns7:request-id>"
+                + "			<ns7:request-action>requestAction</ns7:request-action>"
+                + "			<ns7:request-sub-action>CANCEL</ns7:request-sub-action>"
+                + "			<ns7:source>source</ns7:source>"
+                + "			<ns7:notification-url>http://localhost:28090/CCD/StatusNotification</ns7:notification-url>"
+                + "			<ns7:order-number>10205000</ns7:order-number>"
+                + "			<ns7:order-version>1</ns7:order-version>" + "		</ns7:request-information>"
+                + "		<sdncadapterworkflow:WorkflowException>"
+                + "			<sdncadapterworkflow:ErrorMessage>Some Error Message - Fallout Handler</sdncadapterworkflow:ErrorMessage>"
+                + "			<sdncadapterworkflow:ErrorCode>Some Error Code - Fallout Handler</sdncadapterworkflow:ErrorCode>"
+                + "			<sdncadapterworkflow:SourceSystemErrorCode>Some Source System Error Code- Fallout Handler</sdncadapterworkflow:SourceSystemErrorCode>"
+                + "		</sdncadapterworkflow:WorkflowException>" + "</sdncadapterworkflow:FalloutHandlerRequest>";
+
+        return xml;
+
+    }
 
 
 
-	@Test		
-	public void msoFalloutHandlerWithNoNotificationurl() throws Exception{
-	
-		//Setup Mocks
-		setupMocks();
-		//Execute Flow
-		executeFlow(gMsoFalloutHandlerWithNoNotificationurl());
-		//Verify Error
-		String FH_ResponseCode = BPMNUtil.getVariable(processEngine, "FalloutHandler", "FH_ResponseCode");
-		Assert.assertEquals("200", FH_ResponseCode);
-		Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "FalloutHandler", "FH_SuccessIndicator")); 
-	}
-	
-	public String gMsoFalloutHandlerWithNoNotificationurl() {
-		//Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
-		String xml = ""
-				+ "<sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns7=\"http://org.onap/so/request/types/v1\">"
-				+ "		<ns7:request-information>"
-				+ "			<ns7:request-id>1020_STUW105_5002</ns7:request-id>"
-				+ "			<ns7:request-action>requestAction</ns7:request-action>"
-				+ "			<ns7:request-sub-action>CANCEL</ns7:request-sub-action>"
-				+ "			<ns7:source>source</ns7:source>"
-				+ "			<ns7:notification-url></ns7:notification-url>"
-				+ "			<ns7:order-number>10205000</ns7:order-number>"
-				+ "			<ns7:order-version>1</ns7:order-version>"
-				+ "		</ns7:request-information>"
-				+ "		<sdncadapterworkflow:WorkflowException>"
-				+ "			<sdncadapterworkflow:ErrorMessage>Some Error Message - Fallout Handler</sdncadapterworkflow:ErrorMessage>"
-				+ "			<sdncadapterworkflow:ErrorCode>Some Error Code - Fallout Handler</sdncadapterworkflow:ErrorCode>"
-				+ "			<sdncadapterworkflow:SourceSystemErrorCode>Some Source System Error Code- Fallout Handler</sdncadapterworkflow:SourceSystemErrorCode>"
-				+ "		</sdncadapterworkflow:WorkflowException>"
-				+ "</sdncadapterworkflow:FalloutHandlerRequest>";
-		
-		return xml;
-	}	
-	
-	@Test		
-	
-	public void msoFalloutHandlerWithNotificationurlNoRequestId() throws Exception{
-		String method = getClass().getSimpleName() + "." + new Object() {
-		}.getClass().getEnclosingMethod().getName();
-		logger.debug("STARTED TEST: {}", method);
-		//Setup Mocks
-		setupMocks();
-		//Execute Flow
-		executeFlow(gMsoFalloutHandlerWithNotificationurlNoRequestId());
-		//Verify Error		
-		String FH_ResponseCode = BPMNUtil.getVariable(processEngine, "FalloutHandler", "FH_ResponseCode");
-		Assert.assertEquals("200", FH_ResponseCode);
-		Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "FalloutHandler", "FH_SuccessIndicator")); 
-	}
+    @Test
+    public void msoFalloutHandlerWithNoNotificationurl() throws Exception {
 
-	public String gMsoFalloutHandlerWithNotificationurlNoRequestId() {
-		//Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
-		String xml = ""
-				+ "<sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns7=\"http://org.onap/so/request/types/v1\">"
-				+ "		<ns7:request-information>"
-				+ "			<ns7:request-id></ns7:request-id>"
-				+ "			<ns7:request-action>requestAction</ns7:request-action>"
-				+ "			<ns7:request-sub-action>CANCEL</ns7:request-sub-action>"
-				+ "			<ns7:source>source</ns7:source>"
-				+ "			<ns7:notification-url>www.test.com</ns7:notification-url>"
-				+ "			<ns7:order-number>10205000</ns7:order-number>"
-				+ "			<ns7:order-version>1</ns7:order-version>"
-				+ "		</ns7:request-information>"
-				+ "		<sdncadapterworkflow:WorkflowException>"
-				+ "			<sdncadapterworkflow:ErrorMessage>Some Error Message - Fallout Handler</sdncadapterworkflow:ErrorMessage>"
-				+ "			<sdncadapterworkflow:ErrorCode>Some Error Code - Fallout Handler</sdncadapterworkflow:ErrorCode>"
-				+ "			<sdncadapterworkflow:SourceSystemErrorCode>Some Source System Error Code- Fallout Handler</sdncadapterworkflow:SourceSystemErrorCode>"
-				+ "		</sdncadapterworkflow:WorkflowException>"
-				+ "</sdncadapterworkflow:FalloutHandlerRequest>";
-		
-		return xml;
-	}		
-	
-	@Test		
-	
-	public void msoFalloutHandlerWithNoNotificationurlNoRequestId() throws Exception{
-		String method = getClass().getSimpleName() + "." + new Object() {
-		}.getClass().getEnclosingMethod().getName();
-		logger.debug("STARTED TEST: {}", method);
-		//Setup Mocks
-		setupMocks();
-		//Execute Flow
-		executeFlow(gMsoFalloutHandlerWithNoNotificationurlNoRequestId());
-		//Verify Error
-		String FH_ResponseCode = BPMNUtil.getVariable(processEngine, "FalloutHandler", "FH_ResponseCode");
-		Assert.assertEquals("200", FH_ResponseCode);
-		Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "FalloutHandler", "FH_SuccessIndicator")); 
-	}	
-	
-	public String gMsoFalloutHandlerWithNoNotificationurlNoRequestId() {
-		//Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
-		String xml = ""
-				+ "<sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns7=\"http://org.onap/so/request/types/v1\">"
-				+ "		<ns7:request-information>"
-				+ "			<ns7:request-id></ns7:request-id>"
-				+ "			<ns7:request-action>requestAction</ns7:request-action>"
-				+ "			<ns7:request-sub-action>CANCEL</ns7:request-sub-action>"
-				+ "			<ns7:source>source</ns7:source>"
-				+ "			<ns7:notification-url></ns7:notification-url>"
-				+ "			<ns7:order-number>10205000</ns7:order-number>"
-				+ "			<ns7:order-version>1</ns7:order-version>"
-				+ "		</ns7:request-information>"
-				+ "		<sdncadapterworkflow:WorkflowException>"
-				+ "			<sdncadapterworkflow:ErrorMessage>Some Error Message - Fallout Handler</sdncadapterworkflow:ErrorMessage>"
-				+ "			<sdncadapterworkflow:ErrorCode>Some Error Code - Fallout Handler</sdncadapterworkflow:ErrorCode>"
-				+ "			<sdncadapterworkflow:SourceSystemErrorCode>Some Source System Error Code- Fallout Handler</sdncadapterworkflow:SourceSystemErrorCode>"
-				+ "		</sdncadapterworkflow:WorkflowException>"
-				+ "</sdncadapterworkflow:FalloutHandlerRequest>";
-		
-		return xml;
-	}	
-	
+        // Setup Mocks
+        setupMocks();
+        // Execute Flow
+        executeFlow(gMsoFalloutHandlerWithNoNotificationurl());
+        // Verify Error
+        String FH_ResponseCode = BPMNUtil.getVariable(processEngine, "FalloutHandler", "FH_ResponseCode");
+        Assert.assertEquals("200", FH_ResponseCode);
+        Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "FalloutHandler", "FH_SuccessIndicator"));
+    }
+
+    public String gMsoFalloutHandlerWithNoNotificationurl() {
+        // Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
+        String xml = ""
+                + "<sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns7=\"http://org.onap/so/request/types/v1\">"
+                + "		<ns7:request-information>" + "			<ns7:request-id>1020_STUW105_5002</ns7:request-id>"
+                + "			<ns7:request-action>requestAction</ns7:request-action>"
+                + "			<ns7:request-sub-action>CANCEL</ns7:request-sub-action>"
+                + "			<ns7:source>source</ns7:source>" + "			<ns7:notification-url></ns7:notification-url>"
+                + "			<ns7:order-number>10205000</ns7:order-number>"
+                + "			<ns7:order-version>1</ns7:order-version>" + "		</ns7:request-information>"
+                + "		<sdncadapterworkflow:WorkflowException>"
+                + "			<sdncadapterworkflow:ErrorMessage>Some Error Message - Fallout Handler</sdncadapterworkflow:ErrorMessage>"
+                + "			<sdncadapterworkflow:ErrorCode>Some Error Code - Fallout Handler</sdncadapterworkflow:ErrorCode>"
+                + "			<sdncadapterworkflow:SourceSystemErrorCode>Some Source System Error Code- Fallout Handler</sdncadapterworkflow:SourceSystemErrorCode>"
+                + "		</sdncadapterworkflow:WorkflowException>" + "</sdncadapterworkflow:FalloutHandlerRequest>";
+
+        return xml;
+    }
+
+    @Test
+
+    public void msoFalloutHandlerWithNotificationurlNoRequestId() throws Exception {
+        String method = getClass().getSimpleName() + "." + new Object() {}.getClass().getEnclosingMethod().getName();
+        logger.debug("STARTED TEST: {}", method);
+        // Setup Mocks
+        setupMocks();
+        // Execute Flow
+        executeFlow(gMsoFalloutHandlerWithNotificationurlNoRequestId());
+        // Verify Error
+        String FH_ResponseCode = BPMNUtil.getVariable(processEngine, "FalloutHandler", "FH_ResponseCode");
+        Assert.assertEquals("200", FH_ResponseCode);
+        Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "FalloutHandler", "FH_SuccessIndicator"));
+    }
+
+    public String gMsoFalloutHandlerWithNotificationurlNoRequestId() {
+        // Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
+        String xml = ""
+                + "<sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns7=\"http://org.onap/so/request/types/v1\">"
+                + "		<ns7:request-information>" + "			<ns7:request-id></ns7:request-id>"
+                + "			<ns7:request-action>requestAction</ns7:request-action>"
+                + "			<ns7:request-sub-action>CANCEL</ns7:request-sub-action>"
+                + "			<ns7:source>source</ns7:source>"
+                + "			<ns7:notification-url>www.test.com</ns7:notification-url>"
+                + "			<ns7:order-number>10205000</ns7:order-number>"
+                + "			<ns7:order-version>1</ns7:order-version>" + "		</ns7:request-information>"
+                + "		<sdncadapterworkflow:WorkflowException>"
+                + "			<sdncadapterworkflow:ErrorMessage>Some Error Message - Fallout Handler</sdncadapterworkflow:ErrorMessage>"
+                + "			<sdncadapterworkflow:ErrorCode>Some Error Code - Fallout Handler</sdncadapterworkflow:ErrorCode>"
+                + "			<sdncadapterworkflow:SourceSystemErrorCode>Some Source System Error Code- Fallout Handler</sdncadapterworkflow:SourceSystemErrorCode>"
+                + "		</sdncadapterworkflow:WorkflowException>" + "</sdncadapterworkflow:FalloutHandlerRequest>";
+
+        return xml;
+    }
+
+    @Test
+
+    public void msoFalloutHandlerWithNoNotificationurlNoRequestId() throws Exception {
+        String method = getClass().getSimpleName() + "." + new Object() {}.getClass().getEnclosingMethod().getName();
+        logger.debug("STARTED TEST: {}", method);
+        // Setup Mocks
+        setupMocks();
+        // Execute Flow
+        executeFlow(gMsoFalloutHandlerWithNoNotificationurlNoRequestId());
+        // Verify Error
+        String FH_ResponseCode = BPMNUtil.getVariable(processEngine, "FalloutHandler", "FH_ResponseCode");
+        Assert.assertEquals("200", FH_ResponseCode);
+        Assert.assertTrue((boolean) BPMNUtil.getRawVariable(processEngine, "FalloutHandler", "FH_SuccessIndicator"));
+    }
+
+    public String gMsoFalloutHandlerWithNoNotificationurlNoRequestId() {
+        // Generated the below XML from ActiveVOS moduler ... Using the generate sample XML feature in ActiveVOS
+        String xml = ""
+                + "<sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns7=\"http://org.onap/so/request/types/v1\">"
+                + "		<ns7:request-information>" + "			<ns7:request-id></ns7:request-id>"
+                + "			<ns7:request-action>requestAction</ns7:request-action>"
+                + "			<ns7:request-sub-action>CANCEL</ns7:request-sub-action>"
+                + "			<ns7:source>source</ns7:source>" + "			<ns7:notification-url></ns7:notification-url>"
+                + "			<ns7:order-number>10205000</ns7:order-number>"
+                + "			<ns7:order-version>1</ns7:order-version>" + "		</ns7:request-information>"
+                + "		<sdncadapterworkflow:WorkflowException>"
+                + "			<sdncadapterworkflow:ErrorMessage>Some Error Message - Fallout Handler</sdncadapterworkflow:ErrorMessage>"
+                + "			<sdncadapterworkflow:ErrorCode>Some Error Code - Fallout Handler</sdncadapterworkflow:ErrorCode>"
+                + "			<sdncadapterworkflow:SourceSystemErrorCode>Some Source System Error Code- Fallout Handler</sdncadapterworkflow:SourceSystemErrorCode>"
+                + "		</sdncadapterworkflow:WorkflowException>" + "</sdncadapterworkflow:FalloutHandlerRequest>";
+
+        return xml;
+    }
+
 }
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/GenerateVfModuleNameIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/GenerateVfModuleNameIT.java
index 7299e06..ff0b318 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/GenerateVfModuleNameIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/GenerateVfModuleNameIT.java
@@ -22,10 +22,8 @@
 
 import static org.junit.Assert.assertNotNull;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetGenericVnfById;
-
 import java.util.HashMap;
 import java.util.Map;
-
 import org.camunda.bpm.engine.RuntimeService;
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Ignore;
@@ -37,42 +35,37 @@
  */
 
 public class GenerateVfModuleNameIT extends BaseIntegrationTest {
-	private static final String EOL = "\n";
-	
-	@Test	
-	public void  TestGenerateVfModuleNameSuvvess() {
-		// 
-		String request =
-			"<vnf-request xmlns=\"http://ecomp.att.com/mso/infra/vnf-request/v1\">" + EOL +
-			"  <request-info>" + EOL +
-			"    <action>CREATE_VF_MODULE</action>" + EOL +
-			"    <source>PORTAL</source>" + EOL +
-			"  </request-info>" + EOL +
-			"  <vnf-inputs>" + EOL +
-			"    <vnf-name>STMTN5MMSC22</vnf-name>" + EOL +
-			"    <vf-module-name>STMTN5MMSC22-MMSC::module-0-0</vf-module-name>" + EOL +
-			"    <vf-module-model-name>MMSC::module-0</vf-module-model-name>" + EOL +
-			"    <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL +
-			"    <persona-model-version>1.0</persona-model-version>" + EOL +
-			"    <service-id>00000000-0000-0000-0000-000000000000</service-id>" + EOL +
-			"    <aic-node-clli>MDTWNJ21</aic-node-clli>" + EOL +
-			"    <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>" + EOL +
-			"  </vnf-inputs>" + EOL +
-			"  <vnf-params xmlns:tns=\"http://ecomp.att.com/mso/infra/vnf-request/v1\"/>" + EOL +
-			"</vnf-request>" + EOL;
+    private static final String EOL = "\n";
 
-		MockGetGenericVnfById(wireMockServer, ".*", "GenericFlows/getGenericVnfByNameResponse.xml");
-		RuntimeService runtimeService = processEngine.getRuntimeService();				
-		Map<String, Object> variables = new HashMap<String, Object>();		
-		variables.put("isDebugLogEnabled","true");		
-		variables.put("vnfName", "STMTN5MMSC20");
-		variables.put("vfModuleLabel", "ModuleLabel1");
-		variables.put("personaModelId", "extrovert");
-		variables.put("vnfId", "12345678-f41f-4822-9323-b75962763d74");
-		
-		runtimeService.startProcessInstanceByKey("GenerateVfModuleName", variables);
-		String response = BPMNUtil.getVariable(processEngine, "GenerateVfModuleName", "vfModuleName");
-		
-		assertNotNull(response);
-	}
+    @Test
+    public void TestGenerateVfModuleNameSuvvess() {
+        //
+        String request =
+                "<vnf-request xmlns=\"http://ecomp.att.com/mso/infra/vnf-request/v1\">" + EOL + "  <request-info>" + EOL
+                        + "    <action>CREATE_VF_MODULE</action>" + EOL + "    <source>PORTAL</source>" + EOL
+                        + "  </request-info>" + EOL + "  <vnf-inputs>" + EOL + "    <vnf-name>STMTN5MMSC22</vnf-name>"
+                        + EOL + "    <vf-module-name>STMTN5MMSC22-MMSC::module-0-0</vf-module-name>" + EOL
+                        + "    <vf-module-model-name>MMSC::module-0</vf-module-model-name>" + EOL
+                        + "    <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL
+                        + "    <persona-model-version>1.0</persona-model-version>" + EOL
+                        + "    <service-id>00000000-0000-0000-0000-000000000000</service-id>" + EOL
+                        + "    <aic-node-clli>MDTWNJ21</aic-node-clli>" + EOL
+                        + "    <tenant-id>fba1bd1e195a404cacb9ce17a9b2b421</tenant-id>" + EOL + "  </vnf-inputs>" + EOL
+                        + "  <vnf-params xmlns:tns=\"http://ecomp.att.com/mso/infra/vnf-request/v1\"/>" + EOL
+                        + "</vnf-request>" + EOL;
+
+        MockGetGenericVnfById(wireMockServer, ".*", "GenericFlows/getGenericVnfByNameResponse.xml");
+        RuntimeService runtimeService = processEngine.getRuntimeService();
+        Map<String, Object> variables = new HashMap<String, Object>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("vnfName", "STMTN5MMSC20");
+        variables.put("vfModuleLabel", "ModuleLabel1");
+        variables.put("personaModelId", "extrovert");
+        variables.put("vnfId", "12345678-f41f-4822-9323-b75962763d74");
+
+        runtimeService.startProcessInstanceByKey("GenerateVfModuleName", variables);
+        String response = BPMNUtil.getVariable(processEngine, "GenerateVfModuleName", "vfModuleName");
+
+        assertNotNull(response);
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ManualHandlingIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ManualHandlingIT.java
index 53d29c5..97a09d8 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ManualHandlingIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ManualHandlingIT.java
@@ -23,12 +23,10 @@
 package org.onap.so.bpmn.common;
 
 import static org.onap.so.bpmn.mock.StubResponseDatabase.MockPostRequestDB;
-
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.TaskService;
 import org.camunda.bpm.engine.task.Task;
 import org.camunda.bpm.engine.task.TaskQuery;
@@ -42,58 +40,58 @@
  * Unit test for RainyDayHandler.bpmn.
  */
 public class ManualHandlingIT extends BaseIntegrationTest {
-	Logger logger = LoggerFactory.getLogger(ManualHandlingIT.class);
-	
-	@Test
-	public void  TestManualHandlingSuccess() {
-		MockPostRequestDB(wireMockServer);
-		
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("msoRequestId", "testRequestId");
-		variables.put("serviceType", "X");
-		variables.put("vnfType", "Y");
-		variables.put("currentActivity", "BB1");
-		variables.put("workStep", "1");
-		variables.put("failedActivity", "AAI");
-		variables.put("vnfName", "vSAMP12");
-		variables.put("errorCode", "123");
-		variables.put("errorText", "update failed");
-		variables.put("validResponses", "Rollback");
-		variables.put("vnfName", "vSAMP1");
+    Logger logger = LoggerFactory.getLogger(ManualHandlingIT.class);
+
+    @Test
+    public void TestManualHandlingSuccess() {
+        MockPostRequestDB(wireMockServer);
+
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("msoRequestId", "testRequestId");
+        variables.put("serviceType", "X");
+        variables.put("vnfType", "Y");
+        variables.put("currentActivity", "BB1");
+        variables.put("workStep", "1");
+        variables.put("failedActivity", "AAI");
+        variables.put("vnfName", "vSAMP12");
+        variables.put("errorCode", "123");
+        variables.put("errorText", "update failed");
+        variables.put("validResponses", "Rollback");
+        variables.put("vnfName", "vSAMP1");
 
 
-		String businessKey = UUID.randomUUID().toString();
-		invokeSubProcess("ManualHandling", businessKey, variables);
-		
-		try {
-			Thread.sleep(5);
-		} catch (Exception e) {
+        String businessKey = UUID.randomUUID().toString();
+        invokeSubProcess("ManualHandling", businessKey, variables);
 
-		}
+        try {
+            Thread.sleep(5);
+        } catch (Exception e) {
 
-		TaskService taskService = processEngine.getTaskService();
+        }
 
-		TaskQuery q = taskService.createTaskQuery();
+        TaskService taskService = processEngine.getTaskService();
 
-		List<Task> tasks = q.orderByTaskCreateTime().asc().list();
-		
-		for (Task task : tasks) {
-			logger.debug("TASK ID: {}", task.getId());
-			logger.debug("TASK NAME: {}", task.getName());
-			
-			try {
-				logger.debug("Completing the task");
-				Map<String,Object> completeVariables = new HashMap<>();
-				completeVariables.put("responseValue", "skip");
-				taskService.complete(task.getId(), completeVariables);
-			} catch(Exception e) {
-				logger.debug("GOT EXCEPTION: {}", e.getMessage());
-			}
-		}
-		
-		waitForProcessEnd(businessKey, 100000);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-	}
+        TaskQuery q = taskService.createTaskQuery();
+
+        List<Task> tasks = q.orderByTaskCreateTime().asc().list();
+
+        for (Task task : tasks) {
+            logger.debug("TASK ID: {}", task.getId());
+            logger.debug("TASK NAME: {}", task.getName());
+
+            try {
+                logger.debug("Completing the task");
+                Map<String, Object> completeVariables = new HashMap<>();
+                completeVariables.put("responseValue", "skip");
+                taskService.complete(task.getId(), completeVariables);
+            } catch (Exception e) {
+                logger.debug("GOT EXCEPTION: {}", e.getMessage());
+            }
+        }
+
+        waitForProcessEnd(businessKey, 100000);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIDeleteGenericVnf.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIDeleteGenericVnf.java
index 052fd5d..45ef0ad 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIDeleteGenericVnf.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIDeleteGenericVnf.java
@@ -23,18 +23,16 @@
 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
 import static com.github.tomakehurst.wiremock.client.WireMock.delete;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
-
 import com.github.tomakehurst.wiremock.WireMockServer;
 
 public class MockAAIDeleteGenericVnf {
-	public MockAAIDeleteGenericVnf(WireMockServer wireMockServer){
-		wireMockServer.stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/[?]resource-version=0000021"))
-				.willReturn(aResponse()
-						.withStatus(200)));
-		wireMockServer.stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/[?]resource-version=0000018"))
-				.willReturn(aResponse()
-						.withStatus(500)
-						.withHeader("Content-Type", "text/xml")
-						.withBodyFile("aaiFault.xml")));
-	}
+    public MockAAIDeleteGenericVnf(WireMockServer wireMockServer) {
+        wireMockServer.stubFor(delete(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/[?]resource-version=0000021"))
+                        .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(delete(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/[?]resource-version=0000018"))
+                        .willReturn(aResponse().withStatus(500).withHeader("Content-Type", "text/xml")
+                                .withBodyFile("aaiFault.xml")));
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIDeleteVfModule.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIDeleteVfModule.java
index 1cbe0b9..f405fc9 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIDeleteVfModule.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIDeleteVfModule.java
@@ -24,31 +24,30 @@
 import static com.github.tomakehurst.wiremock.client.WireMock.delete;
 import static com.github.tomakehurst.wiremock.client.WireMock.get;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
-
 import com.github.tomakehurst.wiremock.WireMockServer;
 
 public class MockAAIDeleteVfModule {
-	
-	public MockAAIDeleteVfModule(WireMockServer wireMockServer)
-	{
-		wireMockServer.stubFor(delete(urlMatching(
-				"/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73/[?]resource-version=0000073"))
-						.willReturn(aResponse().withStatus(200)));
-		wireMockServer.stubFor(delete(urlMatching(
-				"/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a75/[?]resource-version=0000075"))
-						.willReturn(aResponse().withStatus(200)));
-		wireMockServer.stubFor(delete(urlMatching(
-				"/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a78/[?]resource-version=0000078"))
-						.willReturn(aResponse().withStatus(200)));
-		wireMockServer.stubFor(delete(urlMatching(
-				"/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a77/[?]resource-version=0000077"))
-						.willReturn(aResponse().withStatus(500).withHeader("Content-Type", "text/xml")
-								.withBodyFile("aaiFault.xml")));
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy\\?network-policy-fqdn=.*"))
-				.willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml")
-						.withBodyFile("VfModularity/QueryNetworkPolicy_AAIResponse_Success.xml")));
 
-		wireMockServer.stubFor(delete(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/.*"))
-				.willReturn(aResponse().withStatus(200)));
-	}
+    public MockAAIDeleteVfModule(WireMockServer wireMockServer) {
+        wireMockServer.stubFor(delete(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73/[?]resource-version=0000073"))
+                        .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(delete(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a75/[?]resource-version=0000075"))
+                        .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(delete(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a78/[?]resource-version=0000078"))
+                        .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(delete(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a77/[?]resource-version=0000077"))
+                        .willReturn(aResponse().withStatus(500).withHeader("Content-Type", "text/xml")
+                                .withBodyFile("aaiFault.xml")));
+        wireMockServer.stubFor(
+                get(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy\\?network-policy-fqdn=.*"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml")
+                                .withBodyFile("VfModularity/QueryNetworkPolicy_AAIResponse_Success.xml")));
+
+        wireMockServer.stubFor(delete(urlMatching("/aai/v[0-9]+/network/network-policies/network-policy/.*"))
+                .willReturn(aResponse().withStatus(200)));
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIGenericVnfSearch.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIGenericVnfSearch.java
index 1d6337f..a33268e 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIGenericVnfSearch.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockAAIGenericVnfSearch.java
@@ -23,319 +23,219 @@
 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
 import static com.github.tomakehurst.wiremock.client.WireMock.get;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
-
 import com.github.tomakehurst.wiremock.WireMockServer;
 
 public class MockAAIGenericVnfSearch {
-	
-	private static final String EOL = "\n";
 
-	public MockAAIGenericVnfSearch(WireMockServer wireMockServer){
-		String body;
-		
-		// The following stubs are for CreateAAIVfModule and UpdateAAIVfModule
-	
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC23&depth=1"))
-				.willReturn(aResponse()
-						.withStatus(500)
-						.withHeader("Content-Type", "text/xml")
-						.withBodyFile("aaiFault.xml")));
-	
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC22&depth=1"))
-				.willReturn(aResponse()
-						.withStatus(404)
-						.withHeader("Content-Type", "text/xml")
-						.withBody("Generic VNF Not Found")));
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/768073c7-f41f-4822-9323-b75962763d74[?]depth=1"))
-				.willReturn(aResponse()
-						.withStatus(404)
-						.withHeader("Content-Type", "text/xml")
-						.withBody("Generic VNF Not Found")));
-	
-		body =
-			"<generic-vnf xmlns=\"http://com.aai.inventory/v7\">" + EOL +
-			"  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL +
-			"  <vnf-name>STMTN5MMSC21</vnf-name>" + EOL +
-			"  <vnf-type>mmsc-capacity</vnf-type>" + EOL +
-			"  <service-id>SDN-MOBILITY</service-id>" + EOL +
-			"  <equipment-role>vMMSC</equipment-role>" + EOL +
-			"  <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"  <in-maint>false</in-maint>" + EOL +
-			"  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL +
-			"  <resource-version>1508691</resource-version>" + EOL +
-			"  <vf-modules>" + EOL +
-			"    <vf-module>" + EOL +
-			"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +
-			"      <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL +
-			"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL +
-			"      <persona-model-version>1.0</persona-model-version>" + EOL +
-			"      <is-base-vf-module>true</is-base-vf-module>" + EOL +
-			"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-			"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"      <resource-version>1508692</resource-version>" + EOL +
-			"    </vf-module>" + EOL +
-			"  </vf-modules>" + EOL +
-			"  <relationship-list/>" + EOL +
-			"  <l-interfaces/>" + EOL +
-			"  <lag-interfaces/>" + EOL +
-			"</generic-vnf>" + EOL;
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC21&depth=1"))
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBody(body)));
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1"))
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBody(body)));
-	
-		body =
-			"<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL +
-			"  <vnf-id>2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4</vnf-id>" + EOL +
-			"  <vnf-name>STMTN5MMSC20</vnf-name>" + EOL +
-			"  <vnf-type>mmsc-capacity</vnf-type>" + EOL +
-			"  <service-id>SDN-MOBILITY</service-id>" + EOL +
-			"  <equipment-role>vMMSC</equipment-role>" + EOL +
-			"  <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"  <in-maint>false</in-maint>" + EOL +
-			"  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL +
-			"  <resource-version>1508691</resource-version>" + EOL +
-			"  <vf-modules>" + EOL +
-			"    <vf-module>" + EOL +
-			"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +
-			"      <vf-module-name>STMTN5MMSC20-MMSC::module-0-0</vf-module-name>" + EOL +
-			"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL +
-			"      <persona-model-version>1.0</persona-model-version>" + EOL +
-			"      <is-base-vf-module>true</is-base-vf-module>" + EOL +
-			"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-			"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"      <resource-version>1508692</resource-version>" + EOL +
-			"    </vf-module>" + EOL +
-			"    <vf-module>" + EOL +
-			"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</vf-module-id>" + EOL +
-			"      <vf-module-name>STMTN5MMSC20-MMSC::module-1-0</vf-module-name>" + EOL +
-			"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</persona-model-id>" + EOL +
-			"      <persona-model-version>1.0</persona-model-version>" + EOL +
-			"      <is-base-vf-module>false</is-base-vf-module>" + EOL +
-			"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-			"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"      <resource-version>1508692</resource-version>" + EOL +
-			"    </vf-module>" + EOL +
-			"  </vf-modules>" + EOL +
-			"  <relationship-list/>" + EOL +
-			"  <l-interfaces/>" + EOL +
-			"  <lag-interfaces/>" + EOL +
-			"</generic-vnf>" + EOL;
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC20&depth=1"))
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBody(body)));
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4[?]depth=1"))
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBody(body)));
-	
-		// The following stubs are for DeleteAAIVfModule
-	
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c723[?]depth=1"))
-				.willReturn(aResponse()
-						.withStatus(500)
-						.withHeader("Content-Type", "text/xml")
-						.withBodyFile("aaiFault.xml")));
-	
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c722[?]depth=1"))
-				.willReturn(aResponse()
-						.withStatus(404)
-						.withHeader("Content-Type", "text/xml")
-						.withBody("Generic VNF Not Found")));
-	
-		body =
-				"<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL +
-				"  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL +
-				"  <vnf-name>STMTN5MMSC21</vnf-name>" + EOL +
-				"  <vnf-type>mmsc-capacity</vnf-type>" + EOL +
-				"  <service-id>SDN-MOBILITY</service-id>" + EOL +
-				"  <equipment-role>vMMSC</equipment-role>" + EOL +
-				"  <orchestration-status>pending-create</orchestration-status>" + EOL +
-				"  <in-maint>false</in-maint>" + EOL +
-				"  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL +
-				"  <resource-version>0000021</resource-version>" + EOL +
-				"  <vf-modules>" + EOL +
-				"    <vf-module>" + EOL +
-				"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +
-				"      <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL +
-				"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL +
-				"      <persona-model-version>1.0</persona-model-version>" + EOL +
-				"      <is-base-vf-module>true</is-base-vf-module>" + EOL +
-				"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-				"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-				"      <resource-version>0000073</resource-version>" + EOL +
-				"    </vf-module>" + EOL +
-				"  </vf-modules>" + EOL +
-				"  <relationship-list/>" + EOL +
-				"  <l-interfaces/>" + EOL +
-				"  <lag-interfaces/>" + EOL +
-				"</generic-vnf>" + EOL;
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1"))
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBody(body)));
-	
-		body =
-			"<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL +
-			"  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c720</vnf-id>" + EOL +
-			"  <vnf-name>STMTN5MMSC20</vnf-name>" + EOL +
-			"  <vnf-type>mmsc-capacity</vnf-type>" + EOL +
-			"  <service-id>SDN-MOBILITY</service-id>" + EOL +
-			"  <equipment-role>vMMSC</equipment-role>" + EOL +
-			"  <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"  <in-maint>false</in-maint>" + EOL +
-			"  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL +
-			"  <resource-version>0000020</resource-version>" + EOL +
-			"  <vf-modules>" + EOL +
-			"    <vf-module>" + EOL +
-			"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</vf-module-id>" + EOL +
-			"      <vf-module-name>STMTN5MMSC20-MMSC::module-0-0</vf-module-name>" + EOL +
-			"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</persona-model-id>" + EOL +
-			"      <persona-model-version>1.0</persona-model-version>" + EOL +
-			"      <is-base-vf-module>true</is-base-vf-module>" + EOL +
-			"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-			"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"      <resource-version>0000074</resource-version>" + EOL +
-			"    </vf-module>" + EOL +
-			"    <vf-module>" + EOL +
-			"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a75</vf-module-id>" + EOL +
-			"      <vf-module-name>STMTN5MMSC20-MMSC::module-1-0</vf-module-name>" + EOL +
-			"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a75</persona-model-id>" + EOL +
-			"      <persona-model-version>1.0</persona-model-version>" + EOL +
-			"      <is-base-vf-module>false</is-base-vf-module>" + EOL +
-			"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-			"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"      <resource-version>0000075</resource-version>" + EOL +
-			"    </vf-module>" + EOL +
-			"  </vf-modules>" + EOL +
-			"  <relationship-list/>" + EOL +
-			"  <l-interfaces/>" + EOL +
-			"  <lag-interfaces/>" + EOL +
-			"</generic-vnf>" + EOL;
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720[?]depth=1"))
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBody(body)));
-	
-		body =
-			"<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL +
-			"  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c719</vnf-id>" + EOL +
-			"  <vnf-name>STMTN5MMSC19</vnf-name>" + EOL +
-			"  <vnf-type>mmsc-capacity</vnf-type>" + EOL +
-			"  <service-id>SDN-MOBILITY</service-id>" + EOL +
-			"  <equipment-role>vMMSC</equipment-role>" + EOL +
-			"  <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"  <in-maint>false</in-maint>" + EOL +
-			"  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL +
-			"  <resource-version>0000019</resource-version>" + EOL +
-			"  <vf-modules>" + EOL +
-			"    <vf-module>" + EOL +
-			"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a76</vf-module-id>" + EOL +
-			"      <vf-module-name>STMTN5MMSC19-MMSC::module-0-0</vf-module-name>" + EOL +
-			"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a76</persona-model-id>" + EOL +
-			"      <persona-model-version>1.0</persona-model-version>" + EOL +
-			"      <is-base-vf-module>true</is-base-vf-module>" + EOL +
-			"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-			"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"      <resource-version>0000076</resource-version>" + EOL +
-			"    </vf-module>" + EOL +
-			"    <vf-module>" + EOL +
-			"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a77</vf-module-id>" + EOL +
-			"      <vf-module-name>STMTN5MMSC19-MMSC::module-1-0</vf-module-name>" + EOL +
-			"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a77</persona-model-id>" + EOL +
-			"      <persona-model-version>1.0</persona-model-version>" + EOL +
-			"      <is-base-vf-module>false</is-base-vf-module>" + EOL +
-			"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-			"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"      <resource-version>0000077</resource-version>" + EOL +
-			"    </vf-module>" + EOL +
-			"  </vf-modules>" + EOL +
-			"  <relationship-list/>" + EOL +
-			"  <l-interfaces/>" + EOL +
-			"  <lag-interfaces/>" + EOL +
-			"</generic-vnf>" + EOL;
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719[?]depth=1"))
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBody(body)));
-	
-		body =
-			"<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL +
-			"  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c718</vnf-id>" + EOL +
-			"  <vnf-name>STMTN5MMSC18</vnf-name>" + EOL +
-			"  <vnf-type>mmsc-capacity</vnf-type>" + EOL +
-			"  <service-id>SDN-MOBILITY</service-id>" + EOL +
-			"  <equipment-role>vMMSC</equipment-role>" + EOL +
-			"  <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"  <in-maint>false</in-maint>" + EOL +
-			"  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL +
-			"  <resource-version>0000018</resource-version>" + EOL +
-			"  <vf-modules>" + EOL +
-			"    <vf-module>" + EOL +
-			"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a78</vf-module-id>" + EOL +
-			"      <vf-module-name>STMTN5MMSC18-MMSC::module-0-0</vf-module-name>" + EOL +
-			"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a78</persona-model-id>" + EOL +
-			"      <persona-model-version>1.0</persona-model-version>" + EOL +
-			"      <is-base-vf-module>true</is-base-vf-module>" + EOL +
-			"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-			"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"      <resource-version>0000078</resource-version>" + EOL +
-			"    </vf-module>" + EOL +
-			"  </vf-modules>" + EOL +
-			"  <relationship-list/>" + EOL +
-			"  <l-interfaces/>" + EOL +
-			"  <lag-interfaces/>" + EOL +
-			"</generic-vnf>" + EOL;
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718[?]depth=1"))
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBody(body)));
-	
-		body =
-			"<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL +
-			"  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL +
-			"  <vnf-name>STMTN5MMSC21</vnf-name>" + EOL +
-			"  <vnf-type>mmsc-capacity</vnf-type>" + EOL +
-			"  <service-id>SDN-MOBILITY</service-id>" + EOL +
-			"  <equipment-role>vMMSC</equipment-role>" + EOL +
-			"  <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"  <in-maint>false</in-maint>" + EOL +
-			"  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL +
-			"  <resource-version>0000021</resource-version>" + EOL +
-			"  <vf-modules>" + EOL +
-			"    <vf-module>" + EOL +
-			"      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL +
-			"      <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL +
-			"      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL +
-			"      <persona-model-version>1.0</persona-model-version>" + EOL +
-			"      <is-base-vf-module>true</is-base-vf-module>" + EOL +
-			"      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL +
-			"      <orchestration-status>pending-create</orchestration-status>" + EOL +
-			"      <resource-version>0000073</resource-version>" + EOL +
-			"    </vf-module>" + EOL +
-			"  </vf-modules>" + EOL +
-			"  <relationship-list/>" + EOL +
-			"  <l-interfaces/>" + EOL +
-			"  <lag-interfaces/>" + EOL +
-			"</generic-vnf>" + EOL;
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73"))
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBody(body)));
-	
-	}
+    private static final String EOL = "\n";
+
+    public MockAAIGenericVnfSearch(WireMockServer wireMockServer) {
+        String body;
+
+        // The following stubs are for CreateAAIVfModule and UpdateAAIVfModule
+
+        wireMockServer.stubFor(
+                get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC23&depth=1"))
+                        .willReturn(aResponse().withStatus(500).withHeader("Content-Type", "text/xml")
+                                .withBodyFile("aaiFault.xml")));
+
+        wireMockServer.stubFor(
+                get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC22&depth=1"))
+                        .willReturn(aResponse().withStatus(404).withHeader("Content-Type", "text/xml")
+                                .withBody("Generic VNF Not Found")));
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/768073c7-f41f-4822-9323-b75962763d74[?]depth=1"))
+                        .willReturn(aResponse().withStatus(404).withHeader("Content-Type", "text/xml")
+                                .withBody("Generic VNF Not Found")));
+
+        body = "<generic-vnf xmlns=\"http://com.aai.inventory/v7\">" + EOL
+                + "  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL
+                + "  <vnf-name>STMTN5MMSC21</vnf-name>" + EOL + "  <vnf-type>mmsc-capacity</vnf-type>" + EOL
+                + "  <service-id>SDN-MOBILITY</service-id>" + EOL + "  <equipment-role>vMMSC</equipment-role>" + EOL
+                + "  <orchestration-status>pending-create</orchestration-status>" + EOL + "  <in-maint>false</in-maint>"
+                + EOL + "  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL
+                + "  <resource-version>1508691</resource-version>" + EOL + "  <vf-modules>" + EOL + "    <vf-module>"
+                + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL
+                + "      <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>true</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>1508692</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "  </vf-modules>" + EOL + "  <relationship-list/>" + EOL + "  <l-interfaces/>" + EOL
+                + "  <lag-interfaces/>" + EOL + "</generic-vnf>" + EOL;
+        wireMockServer.stubFor(
+                get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC21&depth=1"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml").withBody(body)));
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml").withBody(body)));
+
+        body = "<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL
+                + "  <vnf-id>2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4</vnf-id>" + EOL
+                + "  <vnf-name>STMTN5MMSC20</vnf-name>" + EOL + "  <vnf-type>mmsc-capacity</vnf-type>" + EOL
+                + "  <service-id>SDN-MOBILITY</service-id>" + EOL + "  <equipment-role>vMMSC</equipment-role>" + EOL
+                + "  <orchestration-status>pending-create</orchestration-status>" + EOL + "  <in-maint>false</in-maint>"
+                + EOL + "  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL
+                + "  <resource-version>1508691</resource-version>" + EOL + "  <vf-modules>" + EOL + "    <vf-module>"
+                + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL
+                + "      <vf-module-name>STMTN5MMSC20-MMSC::module-0-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>true</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>1508692</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "    <vf-module>" + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</vf-module-id>"
+                + EOL + "      <vf-module-name>STMTN5MMSC20-MMSC::module-1-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>false</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>1508692</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "  </vf-modules>" + EOL + "  <relationship-list/>" + EOL + "  <l-interfaces/>" + EOL
+                + "  <lag-interfaces/>" + EOL + "</generic-vnf>" + EOL;
+        wireMockServer.stubFor(
+                get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/[?]vnf-name=STMTN5MMSC20&depth=1"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml").withBody(body)));
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/2f6aee38-1e2a-11e6-82d1-ffc7d9ee8aa4[?]depth=1"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml").withBody(body)));
+
+        // The following stubs are for DeleteAAIVfModule
+
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c723[?]depth=1"))
+                        .willReturn(aResponse().withStatus(500).withHeader("Content-Type", "text/xml")
+                                .withBodyFile("aaiFault.xml")));
+
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c722[?]depth=1"))
+                        .willReturn(aResponse().withStatus(404).withHeader("Content-Type", "text/xml")
+                                .withBody("Generic VNF Not Found")));
+
+        body = "<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL
+                + "  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL
+                + "  <vnf-name>STMTN5MMSC21</vnf-name>" + EOL + "  <vnf-type>mmsc-capacity</vnf-type>" + EOL
+                + "  <service-id>SDN-MOBILITY</service-id>" + EOL + "  <equipment-role>vMMSC</equipment-role>" + EOL
+                + "  <orchestration-status>pending-create</orchestration-status>" + EOL + "  <in-maint>false</in-maint>"
+                + EOL + "  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL
+                + "  <resource-version>0000021</resource-version>" + EOL + "  <vf-modules>" + EOL + "    <vf-module>"
+                + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL
+                + "      <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>true</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>0000073</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "  </vf-modules>" + EOL + "  <relationship-list/>" + EOL + "  <l-interfaces/>" + EOL
+                + "  <lag-interfaces/>" + EOL + "</generic-vnf>" + EOL;
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721[?]depth=1"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml").withBody(body)));
+
+        body = "<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL
+                + "  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c720</vnf-id>" + EOL
+                + "  <vnf-name>STMTN5MMSC20</vnf-name>" + EOL + "  <vnf-type>mmsc-capacity</vnf-type>" + EOL
+                + "  <service-id>SDN-MOBILITY</service-id>" + EOL + "  <equipment-role>vMMSC</equipment-role>" + EOL
+                + "  <orchestration-status>pending-create</orchestration-status>" + EOL + "  <in-maint>false</in-maint>"
+                + EOL + "  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL
+                + "  <resource-version>0000020</resource-version>" + EOL + "  <vf-modules>" + EOL + "    <vf-module>"
+                + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</vf-module-id>" + EOL
+                + "      <vf-module-name>STMTN5MMSC20-MMSC::module-0-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a74</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>true</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>0000074</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "    <vf-module>" + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a75</vf-module-id>"
+                + EOL + "      <vf-module-name>STMTN5MMSC20-MMSC::module-1-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a75</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>false</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>0000075</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "  </vf-modules>" + EOL + "  <relationship-list/>" + EOL + "  <l-interfaces/>" + EOL
+                + "  <lag-interfaces/>" + EOL + "</generic-vnf>" + EOL;
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c720[?]depth=1"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml").withBody(body)));
+
+        body = "<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL
+                + "  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c719</vnf-id>" + EOL
+                + "  <vnf-name>STMTN5MMSC19</vnf-name>" + EOL + "  <vnf-type>mmsc-capacity</vnf-type>" + EOL
+                + "  <service-id>SDN-MOBILITY</service-id>" + EOL + "  <equipment-role>vMMSC</equipment-role>" + EOL
+                + "  <orchestration-status>pending-create</orchestration-status>" + EOL + "  <in-maint>false</in-maint>"
+                + EOL + "  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL
+                + "  <resource-version>0000019</resource-version>" + EOL + "  <vf-modules>" + EOL + "    <vf-module>"
+                + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a76</vf-module-id>" + EOL
+                + "      <vf-module-name>STMTN5MMSC19-MMSC::module-0-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a76</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>true</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>0000076</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "    <vf-module>" + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a77</vf-module-id>"
+                + EOL + "      <vf-module-name>STMTN5MMSC19-MMSC::module-1-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a77</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>false</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>0000077</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "  </vf-modules>" + EOL + "  <relationship-list/>" + EOL + "  <l-interfaces/>" + EOL
+                + "  <lag-interfaces/>" + EOL + "</generic-vnf>" + EOL;
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c719[?]depth=1"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml").withBody(body)));
+
+        body = "<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL
+                + "  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c718</vnf-id>" + EOL
+                + "  <vnf-name>STMTN5MMSC18</vnf-name>" + EOL + "  <vnf-type>mmsc-capacity</vnf-type>" + EOL
+                + "  <service-id>SDN-MOBILITY</service-id>" + EOL + "  <equipment-role>vMMSC</equipment-role>" + EOL
+                + "  <orchestration-status>pending-create</orchestration-status>" + EOL + "  <in-maint>false</in-maint>"
+                + EOL + "  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL
+                + "  <resource-version>0000018</resource-version>" + EOL + "  <vf-modules>" + EOL + "    <vf-module>"
+                + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a78</vf-module-id>" + EOL
+                + "      <vf-module-name>STMTN5MMSC18-MMSC::module-0-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a78</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>true</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>0000078</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "  </vf-modules>" + EOL + "  <relationship-list/>" + EOL + "  <l-interfaces/>" + EOL
+                + "  <lag-interfaces/>" + EOL + "</generic-vnf>" + EOL;
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c718[?]depth=1"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml").withBody(body)));
+
+        body = "<generic-vnf xmlns=\"http://org.openecomp.aai.inventory/v7\">" + EOL
+                + "  <vnf-id>a27ce5a9-29c4-4c22-a017-6615ac73c721</vnf-id>" + EOL
+                + "  <vnf-name>STMTN5MMSC21</vnf-name>" + EOL + "  <vnf-type>mmsc-capacity</vnf-type>" + EOL
+                + "  <service-id>SDN-MOBILITY</service-id>" + EOL + "  <equipment-role>vMMSC</equipment-role>" + EOL
+                + "  <orchestration-status>pending-create</orchestration-status>" + EOL + "  <in-maint>false</in-maint>"
+                + EOL + "  <is-closed-loop-disabled>false</is-closed-loop-disabled>" + EOL
+                + "  <resource-version>0000021</resource-version>" + EOL + "  <vf-modules>" + EOL + "    <vf-module>"
+                + EOL + "      <vf-module-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</vf-module-id>" + EOL
+                + "      <vf-module-name>STMTN5MMSC21-MMSC::module-0-0</vf-module-name>" + EOL
+                + "      <persona-model-id>973ed047-d251-4fb9-bf1a-65b8949e0a73</persona-model-id>" + EOL
+                + "      <persona-model-version>1.0</persona-model-version>" + EOL
+                + "      <is-base-vf-module>true</is-base-vf-module>" + EOL
+                + "      <heat-stack-id>FILLED-IN-BY-MSO</heat-stack-id>" + EOL
+                + "      <orchestration-status>pending-create</orchestration-status>" + EOL
+                + "      <resource-version>0000073</resource-version>" + EOL + "    </vf-module>" + EOL
+                + "  </vf-modules>" + EOL + "  <relationship-list/>" + EOL + "  <l-interfaces/>" + EOL
+                + "  <lag-interfaces/>" + EOL + "</generic-vnf>" + EOL;
+        wireMockServer.stubFor(get(urlMatching(
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/a27ce5a9-29c4-4c22-a017-6615ac73c721/vf-modules/vf-module/973ed047-d251-4fb9-bf1a-65b8949e0a73"))
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml").withBody(body)));
+
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockLoggerDelegate.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockLoggerDelegate.java
index 6a9ff2a..0154f2e 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockLoggerDelegate.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/MockLoggerDelegate.java
@@ -24,12 +24,12 @@
 import org.camunda.bpm.engine.delegate.JavaDelegate;
 
 public class MockLoggerDelegate implements JavaDelegate {
-	@Override
-	public void execute(DelegateExecution execution) throws Exception {
-		System.out.println("\n\n ..." + MockLoggerDelegate.class.getName() + " invoked by " + "processDefinitionId="
-				+ execution.getProcessDefinitionId() + ", activtyId=" + execution.getCurrentActivityId()
-				+ ", activtyName='" + execution.getCurrentActivityName() + "'" + ", processInstanceId="
-				+ execution.getProcessInstanceId() + ", businessKey=" + execution.getProcessBusinessKey()
-				+ ", executionId=" + execution.getId() + " \n\n");
-	}
+    @Override
+    public void execute(DelegateExecution execution) throws Exception {
+        System.out.println("\n\n ..." + MockLoggerDelegate.class.getName() + " invoked by " + "processDefinitionId="
+                + execution.getProcessDefinitionId() + ", activtyId=" + execution.getCurrentActivityId()
+                + ", activtyName='" + execution.getCurrentActivityName() + "'" + ", processInstanceId="
+                + execution.getProcessInstanceId() + ", businessKey=" + execution.getProcessBusinessKey()
+                + ", executionId=" + execution.getId() + " \n\n");
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingIT.java
index 4d7a127..c128f58 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingIT.java
@@ -25,14 +25,12 @@
 import static org.onap.so.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogDataByModelUuid;
 import static org.onap.so.bpmn.mock.StubResponseOof.mockOof;
 import static org.onap.so.bpmn.mock.StubResponseOof.mockOof_500;
-
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Ignore;
 import org.junit.Test;
 import org.onap.so.BaseIntegrationTest;
@@ -65,12 +63,12 @@
         String oofCallback2 = FileUtil.readResourceFile("__files/BuildingBlocks/oofCallback2AR1Vnf.json");
         String oofCallback3 = FileUtil.readResourceFile("__files/BuildingBlocks/oofCallback2AR1Vnf2Net.json");
 
-        String oofCallbackNoSolution = FileUtil.
-                readResourceFile("__files/BuildingBlocks/oofCallbackNoSolutionFound.json");
-        String oofCallbackPolicyException = FileUtil.
-                readResourceFile("__files/BuildingBlocks/oofCallbackPolicyException.json");
-        String oofCallbackServiceException = FileUtil.
-                readResourceFile("__files/BuildingBlocks/oofCallbackServiceException.json");
+        String oofCallbackNoSolution =
+                FileUtil.readResourceFile("__files/BuildingBlocks/oofCallbackNoSolutionFound.json");
+        String oofCallbackPolicyException =
+                FileUtil.readResourceFile("__files/BuildingBlocks/oofCallbackPolicyException.json");
+        String oofCallbackServiceException =
+                FileUtil.readResourceFile("__files/BuildingBlocks/oofCallbackServiceException.json");
 
         callbacks.put("oof", JSON, "oofResponse", oofCallback);
         callbacks.put("oof2", JSON, "oofResponse", oofCallback2);
@@ -121,133 +119,73 @@
         VnfResource vnf = new VnfResource();
         vnf.setResourceId("testResourceIdVNF");
         vnf.setNfFunction("testVnfFunctionName");
-        vnf.getHomingSolution().setOofDirectives(
-                "{ \n" +
-                        "      \"directives\":[ \n" +
-                        "         { \n" +
-                        "            \"vnfc_directives\":[ \n" +
-                        "               { \n" +
-                        "                  \"vnfc_id\":\"<ID of VNFC>\",\n" +
-                        "                  \"directives\":[ \n" +
-                        "                     { \n" +
-                        "                        \"directive_name\":\"<Name of directive,example flavor_directive>\",\n" +
-                        "                        \"attributes\":[ \n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as flavor label>\",\n" +
-                        "                              \"attribute_value\":\"<value such as cloud specific flavor>\"\n" +
-                        "                           }\n" +
-                        "                        ]\n" +
-                        "                     },\n" +
-                        "                     { \n" +
-                        "                        \"directive_name\":\"<Name of directive,example vnic-info>\",\n" +
-                        "                        \"attributes\":[ \n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as vnic-type>\",\n" +
-                        "                              \"attribute_value\":\"<value such as direct/normal>\"\n" +
-                        "                           },\n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as provider netweork>\",\n" +
-                        "                              \"attribute_value\":\"<value such as physnet>\"\n" +
-                        "                           }\n" +
-                        "                        ]\n" +
-                        "                     }\n" +
-                        "                  ]\n" +
-                        "               }\n" +
-                        "            ]\n" +
-                        "         },\n" +
-                        "         { \n" +
-                        "            \"vnf_directives\":{ \n" +
-                        "               \"directives\":[ \n" +
-                        "                  { \n" +
-                        "                     \"directive_name\":\"<Name of directive>\",\n" +
-                        "                     \"attributes\":[ \n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value>\"\n" +
-                        "                        }\n" +
-                        "                     ]\n" +
-                        "                  },\n" +
-                        "                  { \n" +
-                        "                     \"directive_name\":\"<Name of directive>\",\n" +
-                        "                     \"attributes\":[ \n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value >\"\n" +
-                        "                        },\n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value >\"\n" +
-                        "                        }\n" +
-                        "                     ]\n" +
-                        "                  }\n" +
-                        "               ]\n" +
-                        "            }\n" +
-                        "         }\n" +
-                        "      ]\n" +
-                        "   },\n" +
-                        "   \"sdnc_directives\":{ \n" +
-                        "      \"directives\":[ \n" +
-                        "         { \n" +
-                        "            \"vnfc_directives\":[ \n" +
-                        "               { \n" +
-                        "                  \"vnfc_id\":\"<ID of VNFC>\",\n" +
-                        "                  \"directives\":[ \n" +
-                        "                     { \n" +
-                        "                        \"directive_name\":\"<Name of directive,example flavor_directive>\",\n" +
-                        "                        \"attributes\":[ \n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as flavor label>\",\n" +
-                        "                              \"attribute_value\":\"<value such as cloud specific flavor>\"\n" +
-                        "                           }\n" +
-                        "                        ]\n" +
-                        "                     },\n" +
-                        "                     { \n" +
-                        "                        \"directive_name\":\"<Name of directive,example vnic-info>\",\n" +
-                        "                        \"attributes\":[ \n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as vnic-type>\",\n" +
-                        "                              \"attribute_value\":\"<value such as direct/normal>\"\n" +
-                        "                           },\n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as provider netweork>\",\n" +
-                        "                              \"attribute_value\":\"<value such as physnet>\"\n" +
-                        "                           }\n" +
-                        "                        ]\n" +
-                        "                     }\n" +
-                        "                  ]\n" +
-                        "               }\n" +
-                        "            ]\n" +
-                        "         },\n" +
-                        "         { \n" +
-                        "            \"vnf_directives\":{ \n" +
-                        "               \"directives\":[ \n" +
-                        "                  { \n" +
-                        "                     \"directive_name\":\"<Name of directive>\",\n" +
-                        "                     \"attributes\":[ \n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value>\"\n" +
-                        "                        }\n" +
-                        "                     ]\n" +
-                        "                  },\n" +
-                        "                  { \n" +
-                        "                     \"directive_name\":\"<Name of directive>\",\n" +
-                        "                     \"attributes\":[ \n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value >\"\n" +
-                        "                        },\n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value >\"\n" +
-                        "                        }\n" +
-                        "                     ]\n" +
-                        "                  }\n" +
-                        "               ]\n" +
-                        "            }\n" +
-                        "         }\n" +
-                        "      ]\n" +
-                        "   }");
+        vnf.getHomingSolution().setOofDirectives("{ \n" + "      \"directives\":[ \n" + "         { \n"
+                + "            \"vnfc_directives\":[ \n" + "               { \n"
+                + "                  \"vnfc_id\":\"<ID of VNFC>\",\n" + "                  \"directives\":[ \n"
+                + "                     { \n"
+                + "                        \"directive_name\":\"<Name of directive,example flavor_directive>\",\n"
+                + "                        \"attributes\":[ \n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as flavor label>\",\n"
+                + "                              \"attribute_value\":\"<value such as cloud specific flavor>\"\n"
+                + "                           }\n" + "                        ]\n" + "                     },\n"
+                + "                     { \n"
+                + "                        \"directive_name\":\"<Name of directive,example vnic-info>\",\n"
+                + "                        \"attributes\":[ \n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as vnic-type>\",\n"
+                + "                              \"attribute_value\":\"<value such as direct/normal>\"\n"
+                + "                           },\n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as provider netweork>\",\n"
+                + "                              \"attribute_value\":\"<value such as physnet>\"\n"
+                + "                           }\n" + "                        ]\n" + "                     }\n"
+                + "                  ]\n" + "               }\n" + "            ]\n" + "         },\n" + "         { \n"
+                + "            \"vnf_directives\":{ \n" + "               \"directives\":[ \n"
+                + "                  { \n" + "                     \"directive_name\":\"<Name of directive>\",\n"
+                + "                     \"attributes\":[ \n" + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value>\"\n" + "                        }\n"
+                + "                     ]\n" + "                  },\n" + "                  { \n"
+                + "                     \"directive_name\":\"<Name of directive>\",\n"
+                + "                     \"attributes\":[ \n" + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value >\"\n" + "                        },\n"
+                + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value >\"\n" + "                        }\n"
+                + "                     ]\n" + "                  }\n" + "               ]\n" + "            }\n"
+                + "         }\n" + "      ]\n" + "   },\n" + "   \"sdnc_directives\":{ \n" + "      \"directives\":[ \n"
+                + "         { \n" + "            \"vnfc_directives\":[ \n" + "               { \n"
+                + "                  \"vnfc_id\":\"<ID of VNFC>\",\n" + "                  \"directives\":[ \n"
+                + "                     { \n"
+                + "                        \"directive_name\":\"<Name of directive,example flavor_directive>\",\n"
+                + "                        \"attributes\":[ \n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as flavor label>\",\n"
+                + "                              \"attribute_value\":\"<value such as cloud specific flavor>\"\n"
+                + "                           }\n" + "                        ]\n" + "                     },\n"
+                + "                     { \n"
+                + "                        \"directive_name\":\"<Name of directive,example vnic-info>\",\n"
+                + "                        \"attributes\":[ \n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as vnic-type>\",\n"
+                + "                              \"attribute_value\":\"<value such as direct/normal>\"\n"
+                + "                           },\n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as provider netweork>\",\n"
+                + "                              \"attribute_value\":\"<value such as physnet>\"\n"
+                + "                           }\n" + "                        ]\n" + "                     }\n"
+                + "                  ]\n" + "               }\n" + "            ]\n" + "         },\n" + "         { \n"
+                + "            \"vnf_directives\":{ \n" + "               \"directives\":[ \n"
+                + "                  { \n" + "                     \"directive_name\":\"<Name of directive>\",\n"
+                + "                     \"attributes\":[ \n" + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value>\"\n" + "                        }\n"
+                + "                     ]\n" + "                  },\n" + "                  { \n"
+                + "                     \"directive_name\":\"<Name of directive>\",\n"
+                + "                     \"attributes\":[ \n" + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value >\"\n" + "                        },\n"
+                + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value >\"\n" + "                        }\n"
+                + "                     ]\n" + "                  }\n" + "               ]\n" + "            }\n"
+                + "         }\n" + "      ]\n" + "   }");
         ModelInfo vnfModel = new ModelInfo();
         vnfModel.setModelCustomizationUuid("testModelCustomizationUuidVNF");
         vnfModel.setModelInvariantUuid("testModelInvariantIdVNF");
@@ -264,11 +202,12 @@
         serviceDecomposition.setServiceInstance(si);
 
         // Subscriber
-        subscriber = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberCommonSiteId\": \"DALTX0101\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
+        subscriber =
+                "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberCommonSiteId\": \"DALTX0101\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
         subscriber2 = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
     }
 
-    @Test    
+    @Test
     public void testHoming_success_2AR1Vnf() throws Exception {
 
         mockOof(wireMockServer);
@@ -283,11 +222,11 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
-        ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey,
-                "serviceDecomposition");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
         String expectedOofRequest = (String) getVariableFromHistory(businessKey, "oofRequest");
 
         Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
@@ -305,22 +244,23 @@
         expectedOofRequest = expectedOofRequest.replaceAll("\\s+", "");
 
         assertNull(workflowException);
-        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01",
-                resourceARHoming.getVnf().getResourceId(),"aic", "dfwtx",
-                "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", resourceARHoming.getVnf().getResourceId(),
+                "aic", "dfwtx", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
                 "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceARHomingString);
-        assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2",
-                resourceARHoming2.getVnf().getResourceId(),"aic", "testCloudRegionId2",
-                null, null), resourceARHoming2String);
-        assertEquals(homingSolutionCloud("cloud","aic", "testCloudRegionId3",
-                true, "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
+        assertEquals(
+                homingSolutionService("service", "testSIID2", "testVnfHostname2",
+                        resourceARHoming2.getVnf().getResourceId(), "aic", "testCloudRegionId2", null, null),
+                resourceARHoming2String);
+        assertEquals(
+                homingSolutionCloud("cloud", "aic", "testCloudRegionId3", true,
+                        "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceVNFHomingString);
         assertEquals(verifyOofRequest(), expectedOofRequest);
     }
 
-    @Test  
+    @Test
     public void testHoming_success_2AR1Vnf2Net() throws Exception {
 
         mockOof(wireMockServer);
@@ -335,11 +275,11 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
-        ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey,
-                "serviceDecomposition");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
         String expectedOofRequest = (String) getVariableFromHistory(businessKey, "oofRequest");
 
         Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
@@ -367,28 +307,27 @@
 
 
         assertNull(workflowException);
-        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01",
-                resourceARHoming.getVnf().getResourceId(),"aic", "dfwtx",
-                "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", resourceARHoming.getVnf().getResourceId(),
+                "aic", "dfwtx", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
                 "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceARHomingString);
-        assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2",
-                resourceARHoming2.getVnf().getResourceId(),
-                "aic", "testCloudRegionId2",
-                null, null), resourceARHoming2String);
-        assertEquals(homingSolutionCloud("cloud","aic",
-                "testCloudRegionId3",
-                true, "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
+        assertEquals(
+                homingSolutionService("service", "testSIID2", "testVnfHostname2",
+                        resourceARHoming2.getVnf().getResourceId(), "aic", "testCloudRegionId2", null, null),
+                resourceARHoming2String);
+        assertEquals(
+                homingSolutionCloud("cloud", "aic", "testCloudRegionId3", true,
+                        "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceVNFHomingString);
-        assertEquals(homingSolutionService("service", "testServiceInstanceIdNet",
-                "testVnfHostNameNet", resourceNetHoming.getVnf().getResourceId(),"aic",
-                "testCloudRegionIdNet",
-                null, null), resourceNetHomingString);
-        assertEquals(homingSolutionCloud("cloud", "aic",
-                "testCloudRegionIdNet2",
-                false, "\"f1d563e8-e714-4393-8f99-cc480144a05n\", \"j1d563e8-e714-4393-8f99-cc480144a05n\"",
-                "\"s1d563e8-e714-4393-8f99-cc480144a05n\", \"b1d563e8-e714-4393-8f99-cc480144a05n\""),
+        assertEquals(
+                homingSolutionService("service", "testServiceInstanceIdNet", "testVnfHostNameNet",
+                        resourceNetHoming.getVnf().getResourceId(), "aic", "testCloudRegionIdNet", null, null),
+                resourceNetHomingString);
+        assertEquals(
+                homingSolutionCloud("cloud", "aic", "testCloudRegionIdNet2", false,
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05n\", \"j1d563e8-e714-4393-8f99-cc480144a05n\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05n\", \"b1d563e8-e714-4393-8f99-cc480144a05n\""),
                 resourceNetHoming2String);
         assertEquals(verifyOofRequest(), expectedOofRequest);
 
@@ -402,8 +341,7 @@
                 "/BuildingBlocks/oofCatalogResp.json");
         String busKey = UUID.randomUUID().toString();
         Map<String, Object> vars = new HashMap<>();
-        setVariablesForServiceDecomposition(vars, "testRequestId123",
-                "ff5256d2-5a33-55df-13ab-12abad84e7ff");
+        setVariablesForServiceDecomposition(vars, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff");
         invokeSubProcess("DecomposeService", busKey, vars);
 
         ServiceDecomposition sd = (ServiceDecomposition) getVariableFromHistory(busKey, "serviceDecomposition");
@@ -438,12 +376,12 @@
         injectWorkflowMessages(callbacks, "oof3");
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
+        // Get Variables
 
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
-        ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey,
-                "serviceDecomposition");
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
         System.out.println("serviceDecompositionExp is: " + serviceDecompositionExp);
 
         Resource resourceVnf = serviceDecompositionExp.getServiceResource("test-resource-id-000");
@@ -457,26 +395,26 @@
 
         assertNull(workflowException);
 
-        //Verify request
+        // Verify request
         String oofRequest = (String) getVariableFromHistory(businessKey, "oofRequest");
         System.out.println("oofRequest is: " + oofRequest);
-        assertEquals(FileUtil.readResourceFile("__files/BuildingBlocks/oofRequest_infravnf").
-                replaceAll("\n", "").replaceAll("\r", "").
-                replaceAll("\t", ""), oofRequest.replaceAll("\n", "").
-                replaceAll("\r", "").replaceAll("\t", ""));
+        assertEquals(
+                FileUtil.readResourceFile("__files/BuildingBlocks/oofRequest_infravnf").replaceAll("\n", "")
+                        .replaceAll("\r", "").replaceAll("\t", ""),
+                oofRequest.replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""));
 
-        //System.out.println("resourceVnfHoming.getVnf().getResourceId() is: " + resourceVnfHoming.getVnf().getResourceId());
+        // System.out.println("resourceVnfHoming.getVnf().getResourceId() is: " +
+        // resourceVnfHoming.getVnf().getResourceId());
 
-        assertEquals(homingSolutionService("service", "service-instance-01234",
-                "MDTNJ01", "test-resource-id-000","CloudOwner",
-                "mtmnj1a",
-                "\"f1d563e8-e714-4393-8f99-cc480144a05e\"," +
-                        " \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"s1d563e8-e714-4393-8f99-cc480144a05e\"," +
-                        " \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceVnfHomingString);
+        assertEquals(
+                homingSolutionService("service", "service-instance-01234", "MDTNJ01", "test-resource-id-000",
+                        "CloudOwner", "mtmnj1a",
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05e\"," + " \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05e\"," + " \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
+                resourceVnfHomingString);
     }
 
-    @Test   
+    @Test
     public void testHoming_success_existingLicense() throws Exception {
 
         mockOof(wireMockServer);
@@ -491,9 +429,11 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-        ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
         String oofRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
 
         Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
@@ -511,24 +451,25 @@
         oofRequest = oofRequest.replaceAll("\\s+", "");
 
         assertNull(workflowException);
-        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01",
-                "aic", "dfwtx", "KDTNJ01",
-                "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
+        assertEquals(
+                homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01",
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceARHomingString);
-        assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2",
-                resourceARHoming2.getVnf().getResourceId(),"aic", "testCloudRegionId2",
-                null, null), resourceARHoming2String);
-        assertEquals(homingSolutionCloud("cloud", "aic",
-                "testCloudRegionId3",
-                false, "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
+        assertEquals(
+                homingSolutionService("service", "testSIID2", "testVnfHostname2",
+                        resourceARHoming2.getVnf().getResourceId(), "aic", "testCloudRegionId2", null, null),
+                resourceARHoming2String);
+        assertEquals(
+                homingSolutionCloud("cloud", "aic", "testCloudRegionId3", false,
+                        "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceVNFHomingString);
         assertEquals(verifyOofRequestExistingLicense(), oofRequest);
 
     }
 
-    @Test  
+    @Test
     public void testHoming_error_inputVariable() throws Exception {
 
         String businessKey = UUID.randomUUID().toString();
@@ -539,15 +480,15 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-        assertEquals("WorkflowException[processKey=Homing,errorCode=4000,errorMessage=A required " +
-                "input variable is missing or null,workStep=*]", workflowException.toString());
+        assertEquals("WorkflowException[processKey=Homing,errorCode=4000,errorMessage=A required "
+                + "input variable is missing or null,workStep=*]", workflowException.toString());
     }
 
-    @Test  
+    @Test
     public void testHoming_error_badResponse() throws Exception {
         mockOof_500(wireMockServer);
 
@@ -559,14 +500,16 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-        assertEquals("WorkflowException[processKey=Homing,errorCode=401,errorMessage=Internal Error - BasicAuth value null,workStep=*]", workflowException.toString());
+        assertEquals(
+                "WorkflowException[processKey=Homing,errorCode=401,errorMessage=Internal Error - BasicAuth value null,workStep=*]",
+                workflowException.toString());
     }
 
-    @Test   
+    @Test
     public void testHoming_error_oofNoSolution() throws Exception {
         mockOof(wireMockServer);
 
@@ -580,15 +523,16 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
-        Boolean errorMatch = workflowException.toString().contains("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback " +
-                        "Response contains error: Unable to find any candidate for demand *** Response:");
-        assert(errorMatch);
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        Boolean errorMatch = workflowException.toString()
+                .contains("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback "
+                        + "Response contains error: Unable to find any candidate for demand *** Response:");
+        assert (errorMatch);
     }
 
-    @Test  
+    @Test
     public void testHoming_error_oofPolicyException() throws Exception {
         mockOof(wireMockServer);
 
@@ -602,16 +546,16 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-        assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback " +
-                "Response contains a Request Error Policy Exception: Message content size exceeds the allowable " +
-                "limit]", workflowException.toString());
+        assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback "
+                + "Response contains a Request Error Policy Exception: Message content size exceeds the allowable "
+                + "limit]", workflowException.toString());
     }
 
-    @Test   
+    @Test
     public void testHoming_error_oofServiceException() throws Exception {
         mockOof(wireMockServer);
 
@@ -623,14 +567,15 @@
         injectWorkflowMessages(callbacks, "oofServiceEx");
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-        assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback " +
-                        "Response contains a Request Error Service Exception: OOF PlacementError: " +
-                        "requests.exceptions.HTTPError: 404 Client Error: Not Found for " +
-                        "url: http://192.168.171.200:8091/v1/plans/97b4e303-5f75-492c-8fb2-21098281c8b8]",
+        assertEquals(
+                "WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback "
+                        + "Response contains a Request Error Service Exception: OOF PlacementError: "
+                        + "requests.exceptions.HTTPError: 404 Client Error: Not Found for "
+                        + "url: http://192.168.171.200:8091/v1/plans/97b4e303-5f75-492c-8fb2-21098281c8b8]",
                 workflowException.toString());
     }
 
@@ -649,7 +594,7 @@
         variables.put("cloudRegionId", "TNZED");
         variables.put("vgMuxInfraModelInvariantId", "testModelInvariantIdAR");
         variables.put("vgMuxInfraModelId", "testArModelUuid");
-        //	variables.put("mso-request-id", "testRequestId");
+        // variables.put("mso-request-id", "testRequestId");
         variables.put("msoRequestId", "testRequestId");
         variables.put("serviceInstanceId", "testServiceInstanceId123");
         variables.put("serviceInstanceName", "testServiceName");
@@ -716,7 +661,7 @@
         variables.put("vgMuxInfraModelInvariantId", "testModelInvariantIdAR");
         variables.put("vgMuxInfraModelId", "testArModelUuid");
         variables.put("isDebugLogEnabled", "true");
-        //	variables.put("mso-request-id", "testRequestId");
+        // variables.put("mso-request-id", "testRequestId");
         variables.put("msoRequestId", "testRequestId");
         variables.put("serviceInstanceId", "testServiceInstanceId123");
         variables.put("serviceInstanceName", "testServiceName");
@@ -727,11 +672,15 @@
     private void setVariablesExistingLicense(Map<String, Object> variables) {
         HomingSolution currentHomingSolution = new HomingSolution();
         serviceDecomposition.getVnfResources().get(0).setCurrentHomingSolution(currentHomingSolution);
-        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addEntitlementPool("testEntitlementPoolId1");
-        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addEntitlementPool("testEntitlementPoolId2");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addEntitlementPool("testEntitlementPoolId1");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addEntitlementPool("testEntitlementPoolId2");
 
-        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addLicenseKeyGroup("testLicenseKeyGroupId1");
-        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addLicenseKeyGroup("testLicenseKeyGroupId2");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addLicenseKeyGroup("testLicenseKeyGroupId1");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addLicenseKeyGroup("testLicenseKeyGroupId2");
 
         variables.put("isDebugLogEnabled", "true");
         variables.put("msoRequestId", "testRequestId");
@@ -742,56 +691,52 @@
     }
 
     private String homingSolutionService(String type, String serviceInstanceId, String vnfHostname,
-                                         String vnfResourceId, String cloudOwner,
-                                         String cloudRegionId, String enList,
-                                         String licenseList){
+            String vnfResourceId, String cloudOwner, String cloudRegionId, String enList, String licenseList) {
 
         String solution = "";
-        if(enList == null){
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" +
-                    serviceInstanceId + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" +
-                    cloudRegionId + "\", " + "\"vnf\" : { \"resourceId\" : \"" + vnfResourceId +
-                    "\", \"resourceType\" : \"VNF\", \"resourceInstance\" : { }, \"homingSolution\" : { \"license\" :" +
-                    " { }, \"rehome\" : false }, \"vnfHostname\" : \"" + vnfHostname + "\" }, \"license\" : { }," +
-                    " \"rehome\" : false } }";
-        }else{
-            //language=JSON
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" +
-                    serviceInstanceId + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" +
-                    cloudRegionId + "\", \"vnf\" : { \"resourceId\" : \"" + vnfResourceId + "\", \"resourceType\" :" +
-                    " \"VNF\", \"resourceInstance\" : { }, \"homingSolution\" : { \"license\" : { }, \"rehome\" :" +
-                    " false }, \"vnfHostname\" : \"" + vnfHostname + "\" }, \"license\" : { \"entitlementPoolList\" :" +
-                    " [ " + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] }, \"rehome\" : false } }";
+        if (enList == null) {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \""
+                    + serviceInstanceId + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \""
+                    + cloudRegionId + "\", " + "\"vnf\" : { \"resourceId\" : \"" + vnfResourceId
+                    + "\", \"resourceType\" : \"VNF\", \"resourceInstance\" : { }, \"homingSolution\" : { \"license\" :"
+                    + " { }, \"rehome\" : false }, \"vnfHostname\" : \"" + vnfHostname + "\" }, \"license\" : { },"
+                    + " \"rehome\" : false } }";
+        } else {
+            // language=JSON
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \""
+                    + serviceInstanceId + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \""
+                    + cloudRegionId + "\", \"vnf\" : { \"resourceId\" : \"" + vnfResourceId + "\", \"resourceType\" :"
+                    + " \"VNF\", \"resourceInstance\" : { }, \"homingSolution\" : { \"license\" : { }, \"rehome\" :"
+                    + " false }, \"vnfHostname\" : \"" + vnfHostname + "\" }, \"license\" : { \"entitlementPoolList\" :"
+                    + " [ " + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList
+                    + " ] }, \"rehome\" : false } }";
         }
         return solution;
     }
 
-    private String homingSolutionCloud(String type, String cloudOwner,
-                                       String cloudRegionId, Boolean flavors, String enList,
-                                       String licenseList){
+    private String homingSolutionCloud(String type, String cloudOwner, String cloudRegionId, Boolean flavors,
+            String enList, String licenseList) {
         String solution = "";
-        if(enList == null){
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" +
-                    cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId +
-                    "\", \"license\" : { }, \"rehome\" : false } }";
-        } else if (flavors && enList == null){
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" +
-                    cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId +
-                    "\", \"flavors\" :  [ { \"flavorLabel\" : \"flavorLabel2xxx\", \"flavor\" : \"vimFlavorxxx\" }, " +
-                    "{ \"flavorLabel\" : \"flavorLabel1xxx\", \"flavor\" : \"vimFlavorxxx\" } ], " +
-                    "\"license\" : { }, \"rehome\" : false } }";
+        if (enList == null) {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"license\" : { }, \"rehome\" : false } }";
+        } else if (flavors && enList == null) {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId
+                    + "\", \"flavors\" :  [ { \"flavorLabel\" : \"flavorLabel2xxx\", \"flavor\" : \"vimFlavorxxx\" }, "
+                    + "{ \"flavorLabel\" : \"flavorLabel1xxx\", \"flavor\" : \"vimFlavorxxx\" } ], "
+                    + "\"license\" : { }, \"rehome\" : false } }";
         } else if (flavors) {
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" +
-                    cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId +
-                    "\", \"flavors\" : [ { \"flavorLabel\" : \"flavorLabel2xxx\", \"flavor\" : \"vimFlavorxxx\" }, " +
-                    "{ \"flavorLabel\" : \"flavorLabel1xxx\", \"flavor\" : \"vimFlavorxxx\" } ], " +
-                    "\"license\" : { \"entitlementPoolList\" : [ " + enList +  " ], \"licenseKeyGroupList\" : [ " +
-                    licenseList +  " ] }, \"rehome\" : false } }";
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId
+                    + "\", \"flavors\" : [ { \"flavorLabel\" : \"flavorLabel2xxx\", \"flavor\" : \"vimFlavorxxx\" }, "
+                    + "{ \"flavorLabel\" : \"flavorLabel1xxx\", \"flavor\" : \"vimFlavorxxx\" } ], "
+                    + "\"license\" : { \"entitlementPoolList\" : [ " + enList + " ], \"licenseKeyGroupList\" : [ "
+                    + licenseList + " ] }, \"rehome\" : false } }";
         } else {
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" +
-                    cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId +
-                    "\", \"license\" : { \"entitlementPoolList\" : [ " + enList +  " ], \"licenseKeyGroupList\" : [ " +
-                    licenseList +  " ] }, \"rehome\" : false } }";
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"license\" : { \"entitlementPoolList\" : [ "
+                    + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] }, \"rehome\" : false } }";
         }
         return solution;
     }
@@ -814,68 +759,67 @@
         variables.put("cloudRegionId", "TNZED");
 
 
-        String serviceModelInfo = "{\"modelInvariantId\":\"1cc4e2e4-eb6e-404d-a66f-c8733cedcce8\",\"modelUuid\":" +
-                "\"2f7f309d-c842-4644-a2e4-34167be5eeb4\",\"modelName\":\"vCPE Service\",\"modelVersion\":\"2.0\",}";
+        String serviceModelInfo = "{\"modelInvariantId\":\"1cc4e2e4-eb6e-404d-a66f-c8733cedcce8\",\"modelUuid\":"
+                + "\"2f7f309d-c842-4644-a2e4-34167be5eeb4\",\"modelName\":\"vCPE Service\",\"modelVersion\":\"2.0\",}";
         variables.put("serviceModelInfo", serviceModelInfo);
     }
 
     private String verifyOofRequest() {
-        String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\"," +
-                "\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/oofResponse/testRequestId\"," +
-                "\"sourceId\":\"so\",\"requestType\":\"create\",\"numSolutions\":1,\"optimizers\":[\"placement\"]," +
-                "\"timeout\":600},\"placementInfo\":{\"requestParameters\":{\"customerLatitude\":" +
-                "\"32.89748\",\"customerLongitude\":\"-97.040443\",\"customerName\":\"xyz\"},\"subscriberInfo\":" +
-                "{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\"," +
-                "\"subscriberCommonSiteId\":\"\"},\"placementDemands\":[{\"resourceModuleName\":\"testARFunctionName\"" +
-                ",\"serviceResourceId\":\"testResourceIdAR\",\"tenantId\":" +
-                "\"\",\"resourceModelInfo\":{\"modelInvariantId\":\"no-resourceModelInvariantId\"," +
-                "\"modelVersionId\":\"no-resourceModelVersionId\",\"modelName\":\"\",\"modelType\":" +
-                "\"\",\"modelVersion\":\"\",\"modelCustomizationName\":\"\"}}," +
-                "{\"resourceModuleName\":\"testAR2FunctionName\",\"serviceResourceId\":\"testResourceIdAR2\"," +
-                "\"tenantId\":\"\",\"resourceModelInfo\":{\"modelInvariantId\":\"no-resourceModelInvariantId\"," +
-                "\"modelVersionId\":\"no-resourceModelVersionId\",\"modelName\":\"\"," +
-                "\"modelType\":\"\",\"modelVersion\":\"\"," +
-                "\"modelCustomizationName\":\"\"}},{\"resourceModuleName\":\"testVnfFunctionName\",\"serviceResourceId\":\"" +
-                "testResourceIdVNF\",\"tenantId\":\"\",\"resourceModelInfo\":{\"modelInvariantId\"" +
-                ":\"testModelInvariantIdVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelName\":\"" +
-                "testModelNameVNF\",\"modelType\":\"testModelTypeVNF\",\"modelVersion\":\"testModelVersionVNF\"" +
-                ",\"modelCustomizationName\":\"\"}}]},\"serviceInfo\":" +
-                "{\"serviceInstanceId\":\"testServiceInstanceId123\"," +
-                "\"serviceName\":\"testServiceName\",\"modelInfo\":{\"modelType\":\"\",\"modelInvariantId\":" +
-                "\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\"," +
-                "\"modelVersion\":\"testModelVersion\",\"modelCustomizationName\":\"" +
-                "\"}}}";
+        String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\","
+                + "\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/oofResponse/testRequestId\","
+                + "\"sourceId\":\"so\",\"requestType\":\"create\",\"numSolutions\":1,\"optimizers\":[\"placement\"],"
+                + "\"timeout\":600},\"placementInfo\":{\"requestParameters\":{\"customerLatitude\":"
+                + "\"32.89748\",\"customerLongitude\":\"-97.040443\",\"customerName\":\"xyz\"},\"subscriberInfo\":"
+                + "{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\","
+                + "\"subscriberCommonSiteId\":\"\"},\"placementDemands\":[{\"resourceModuleName\":\"testARFunctionName\""
+                + ",\"serviceResourceId\":\"testResourceIdAR\",\"tenantId\":"
+                + "\"\",\"resourceModelInfo\":{\"modelInvariantId\":\"no-resourceModelInvariantId\","
+                + "\"modelVersionId\":\"no-resourceModelVersionId\",\"modelName\":\"\",\"modelType\":"
+                + "\"\",\"modelVersion\":\"\",\"modelCustomizationName\":\"\"}},"
+                + "{\"resourceModuleName\":\"testAR2FunctionName\",\"serviceResourceId\":\"testResourceIdAR2\","
+                + "\"tenantId\":\"\",\"resourceModelInfo\":{\"modelInvariantId\":\"no-resourceModelInvariantId\","
+                + "\"modelVersionId\":\"no-resourceModelVersionId\",\"modelName\":\"\","
+                + "\"modelType\":\"\",\"modelVersion\":\"\","
+                + "\"modelCustomizationName\":\"\"}},{\"resourceModuleName\":\"testVnfFunctionName\",\"serviceResourceId\":\""
+                + "testResourceIdVNF\",\"tenantId\":\"\",\"resourceModelInfo\":{\"modelInvariantId\""
+                + ":\"testModelInvariantIdVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelName\":\""
+                + "testModelNameVNF\",\"modelType\":\"testModelTypeVNF\",\"modelVersion\":\"testModelVersionVNF\""
+                + ",\"modelCustomizationName\":\"\"}}]},\"serviceInfo\":"
+                + "{\"serviceInstanceId\":\"testServiceInstanceId123\","
+                + "\"serviceName\":\"testServiceName\",\"modelInfo\":{\"modelType\":\"\",\"modelInvariantId\":"
+                + "\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\","
+                + "\"modelVersion\":\"testModelVersion\",\"modelCustomizationName\":\"" + "\"}}}";
         return request;
     }
 
-    private String verifyOofRequestExistingLicense(){
-        String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\"," +
-                "\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\"," +
-                "\"sourceId\":\"mso\",\"requestType\":\"speedchanged\",\"optimizer\":[\"placement\",\"license\"]," +
-                "\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\"," +
-                "\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":" +
-                "\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":" +
-                "{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\"," +
-                "\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":" +
-                "\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\"," +
-                "\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\"," +
-                "\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\"," +
-                "\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":" +
-                "\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":" +
-                "\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":" +
-                "\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\"," +
-                "\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\"," +
-                "\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\"," +
-                "\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":" +
-                "[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\"," +
-                "\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":" +
-                "\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\"," +
-                "\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\"," +
-                "\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"}," +
-                "\"existingLicense\":[{\"entitlementPoolUUID\":[\"testEntitlementPoolId1\"," +
-                "\"testEntitlementPoolId2\"],\"licenseKeyGroupUUID\":[\"testLicenseKeyGroupId1\"," +
-                "\"testLicenseKeyGroupId2\"]}]}]},\"policyId\":[],\"serviceInstanceId\":" +
-                "\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
+    private String verifyOofRequestExistingLicense() {
+        String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\","
+                + "\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\","
+                + "\"sourceId\":\"mso\",\"requestType\":\"speedchanged\",\"optimizer\":[\"placement\",\"license\"],"
+                + "\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\","
+                + "\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":"
+                + "\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":"
+                + "{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\","
+                + "\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":"
+                + "\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\","
+                + "\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\","
+                + "\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\","
+                + "\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":"
+                + "\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":"
+                + "\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":"
+                + "\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\","
+                + "\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\","
+                + "\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\","
+                + "\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":"
+                + "[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\","
+                + "\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":"
+                + "\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\","
+                + "\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\","
+                + "\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"},"
+                + "\"existingLicense\":[{\"entitlementPoolUUID\":[\"testEntitlementPoolId1\","
+                + "\"testEntitlementPoolId2\"],\"licenseKeyGroupUUID\":[\"testLicenseKeyGroupId1\","
+                + "\"testLicenseKeyGroupId2\"]}]}]},\"policyId\":[],\"serviceInstanceId\":"
+                + "\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
         return request;
     }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingTestIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingTestIT.java
index 390f529..39a8995 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingTestIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/OofHomingTestIT.java
@@ -38,14 +38,12 @@
 import org.onap.so.bpmn.mock.FileUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.onap.so.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogDataByModelUuid;
@@ -59,7 +57,7 @@
 @Ignore
 public class OofHomingTestIT extends BaseIntegrationTest {
 
-	Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleIT.class);
+    Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleIT.class);
 
     ServiceDecomposition serviceDecomposition = new ServiceDecomposition();
     String subscriber = "";
@@ -72,12 +70,11 @@
         String oofCallback2 = FileUtil.readResourceFile("__files/BuildingBlocks/oofCallback2AR1Vnf");
         String oofCallback3 = FileUtil.readResourceFile("__files/BuildingBlocks/oofCallback2AR1Vnf2Net");
 
-        String oofCallbackNoSolution = FileUtil.
-                readResourceFile("__files/BuildingBlocks/oofCallbackNoSolutionFound");
-        String oofCallbackPolicyException = FileUtil.
-                readResourceFile("__files/BuildingBlocks/oofCallbackPolicyException");
-        String oofCallbackServiceException = FileUtil.
-                readResourceFile("__files/BuildingBlocks/oofCallbackServiceException");
+        String oofCallbackNoSolution = FileUtil.readResourceFile("__files/BuildingBlocks/oofCallbackNoSolutionFound");
+        String oofCallbackPolicyException =
+                FileUtil.readResourceFile("__files/BuildingBlocks/oofCallbackPolicyException");
+        String oofCallbackServiceException =
+                FileUtil.readResourceFile("__files/BuildingBlocks/oofCallbackServiceException");
 
         callbacks.put("oof", JSON, "oofResponse", oofCallback);
         callbacks.put("oof2", JSON, "oofResponse", oofCallback2);
@@ -128,133 +125,73 @@
         VnfResource vnf = new VnfResource();
         vnf.setResourceId("testResourceIdVNF");
         vnf.setResourceInstanceName("testVnfInstanceName");
-        vnf.getHomingSolution().setOofDirectives(
-                "{ \n" +
-                        "      \"directives\":[ \n" +
-                        "         { \n" +
-                        "            \"vnfc_directives\":[ \n" +
-                        "               { \n" +
-                        "                  \"vnfc_id\":\"<ID of VNFC>\",\n" +
-                        "                  \"directives\":[ \n" +
-                        "                     { \n" +
-                        "                        \"directive_name\":\"<Name of directive,example flavor_directive>\",\n" +
-                        "                        \"attributes\":[ \n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as flavor label>\",\n" +
-                        "                              \"attribute_value\":\"<value such as cloud specific flavor>\"\n" +
-                        "                           }\n" +
-                        "                        ]\n" +
-                        "                     },\n" +
-                        "                     { \n" +
-                        "                        \"directive_name\":\"<Name of directive,example vnic-info>\",\n" +
-                        "                        \"attributes\":[ \n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as vnic-type>\",\n" +
-                        "                              \"attribute_value\":\"<value such as direct/normal>\"\n" +
-                        "                           },\n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as provider netweork>\",\n" +
-                        "                              \"attribute_value\":\"<value such as physnet>\"\n" +
-                        "                           }\n" +
-                        "                        ]\n" +
-                        "                     }\n" +
-                        "                  ]\n" +
-                        "               }\n" +
-                        "            ]\n" +
-                        "         },\n" +
-                        "         { \n" +
-                        "            \"vnf_directives\":{ \n" +
-                        "               \"directives\":[ \n" +
-                        "                  { \n" +
-                        "                     \"directive_name\":\"<Name of directive>\",\n" +
-                        "                     \"attributes\":[ \n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value>\"\n" +
-                        "                        }\n" +
-                        "                     ]\n" +
-                        "                  },\n" +
-                        "                  { \n" +
-                        "                     \"directive_name\":\"<Name of directive>\",\n" +
-                        "                     \"attributes\":[ \n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value >\"\n" +
-                        "                        },\n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value >\"\n" +
-                        "                        }\n" +
-                        "                     ]\n" +
-                        "                  }\n" +
-                        "               ]\n" +
-                        "            }\n" +
-                        "         }\n" +
-                        "      ]\n" +
-                        "   },\n" +
-                        "   \"sdnc_directives\":{ \n" +
-                        "      \"directives\":[ \n" +
-                        "         { \n" +
-                        "            \"vnfc_directives\":[ \n" +
-                        "               { \n" +
-                        "                  \"vnfc_id\":\"<ID of VNFC>\",\n" +
-                        "                  \"directives\":[ \n" +
-                        "                     { \n" +
-                        "                        \"directive_name\":\"<Name of directive,example flavor_directive>\",\n" +
-                        "                        \"attributes\":[ \n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as flavor label>\",\n" +
-                        "                              \"attribute_value\":\"<value such as cloud specific flavor>\"\n" +
-                        "                           }\n" +
-                        "                        ]\n" +
-                        "                     },\n" +
-                        "                     { \n" +
-                        "                        \"directive_name\":\"<Name of directive,example vnic-info>\",\n" +
-                        "                        \"attributes\":[ \n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as vnic-type>\",\n" +
-                        "                              \"attribute_value\":\"<value such as direct/normal>\"\n" +
-                        "                           },\n" +
-                        "                           { \n" +
-                        "                              \"attribute_name\":\"<name of attribute, such as provider netweork>\",\n" +
-                        "                              \"attribute_value\":\"<value such as physnet>\"\n" +
-                        "                           }\n" +
-                        "                        ]\n" +
-                        "                     }\n" +
-                        "                  ]\n" +
-                        "               }\n" +
-                        "            ]\n" +
-                        "         },\n" +
-                        "         { \n" +
-                        "            \"vnf_directives\":{ \n" +
-                        "               \"directives\":[ \n" +
-                        "                  { \n" +
-                        "                     \"directive_name\":\"<Name of directive>\",\n" +
-                        "                     \"attributes\":[ \n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value>\"\n" +
-                        "                        }\n" +
-                        "                     ]\n" +
-                        "                  },\n" +
-                        "                  { \n" +
-                        "                     \"directive_name\":\"<Name of directive>\",\n" +
-                        "                     \"attributes\":[ \n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value >\"\n" +
-                        "                        },\n" +
-                        "                        { \n" +
-                        "                           \"attribute_name\":\"<name of attribute>\",\n" +
-                        "                           \"attribute_value\":\"<value >\"\n" +
-                        "                        }\n" +
-                        "                     ]\n" +
-                        "                  }\n" +
-                        "               ]\n" +
-                        "            }\n" +
-                        "         }\n" +
-                        "      ]\n" +
-                        "   }");
+        vnf.getHomingSolution().setOofDirectives("{ \n" + "      \"directives\":[ \n" + "         { \n"
+                + "            \"vnfc_directives\":[ \n" + "               { \n"
+                + "                  \"vnfc_id\":\"<ID of VNFC>\",\n" + "                  \"directives\":[ \n"
+                + "                     { \n"
+                + "                        \"directive_name\":\"<Name of directive,example flavor_directive>\",\n"
+                + "                        \"attributes\":[ \n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as flavor label>\",\n"
+                + "                              \"attribute_value\":\"<value such as cloud specific flavor>\"\n"
+                + "                           }\n" + "                        ]\n" + "                     },\n"
+                + "                     { \n"
+                + "                        \"directive_name\":\"<Name of directive,example vnic-info>\",\n"
+                + "                        \"attributes\":[ \n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as vnic-type>\",\n"
+                + "                              \"attribute_value\":\"<value such as direct/normal>\"\n"
+                + "                           },\n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as provider netweork>\",\n"
+                + "                              \"attribute_value\":\"<value such as physnet>\"\n"
+                + "                           }\n" + "                        ]\n" + "                     }\n"
+                + "                  ]\n" + "               }\n" + "            ]\n" + "         },\n" + "         { \n"
+                + "            \"vnf_directives\":{ \n" + "               \"directives\":[ \n"
+                + "                  { \n" + "                     \"directive_name\":\"<Name of directive>\",\n"
+                + "                     \"attributes\":[ \n" + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value>\"\n" + "                        }\n"
+                + "                     ]\n" + "                  },\n" + "                  { \n"
+                + "                     \"directive_name\":\"<Name of directive>\",\n"
+                + "                     \"attributes\":[ \n" + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value >\"\n" + "                        },\n"
+                + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value >\"\n" + "                        }\n"
+                + "                     ]\n" + "                  }\n" + "               ]\n" + "            }\n"
+                + "         }\n" + "      ]\n" + "   },\n" + "   \"sdnc_directives\":{ \n" + "      \"directives\":[ \n"
+                + "         { \n" + "            \"vnfc_directives\":[ \n" + "               { \n"
+                + "                  \"vnfc_id\":\"<ID of VNFC>\",\n" + "                  \"directives\":[ \n"
+                + "                     { \n"
+                + "                        \"directive_name\":\"<Name of directive,example flavor_directive>\",\n"
+                + "                        \"attributes\":[ \n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as flavor label>\",\n"
+                + "                              \"attribute_value\":\"<value such as cloud specific flavor>\"\n"
+                + "                           }\n" + "                        ]\n" + "                     },\n"
+                + "                     { \n"
+                + "                        \"directive_name\":\"<Name of directive,example vnic-info>\",\n"
+                + "                        \"attributes\":[ \n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as vnic-type>\",\n"
+                + "                              \"attribute_value\":\"<value such as direct/normal>\"\n"
+                + "                           },\n" + "                           { \n"
+                + "                              \"attribute_name\":\"<name of attribute, such as provider netweork>\",\n"
+                + "                              \"attribute_value\":\"<value such as physnet>\"\n"
+                + "                           }\n" + "                        ]\n" + "                     }\n"
+                + "                  ]\n" + "               }\n" + "            ]\n" + "         },\n" + "         { \n"
+                + "            \"vnf_directives\":{ \n" + "               \"directives\":[ \n"
+                + "                  { \n" + "                     \"directive_name\":\"<Name of directive>\",\n"
+                + "                     \"attributes\":[ \n" + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value>\"\n" + "                        }\n"
+                + "                     ]\n" + "                  },\n" + "                  { \n"
+                + "                     \"directive_name\":\"<Name of directive>\",\n"
+                + "                     \"attributes\":[ \n" + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value >\"\n" + "                        },\n"
+                + "                        { \n"
+                + "                           \"attribute_name\":\"<name of attribute>\",\n"
+                + "                           \"attribute_value\":\"<value >\"\n" + "                        }\n"
+                + "                     ]\n" + "                  }\n" + "               ]\n" + "            }\n"
+                + "         }\n" + "      ]\n" + "   }");
         ModelInfo vnfModel = new ModelInfo();
         vnfModel.setModelCustomizationUuid("testModelCustomizationUuidVNF");
         vnfModel.setModelInvariantUuid("testModelInvariantIdVNF");
@@ -271,7 +208,8 @@
         serviceDecomposition.setServiceInstance(si);
 
         // Subscriber
-        subscriber = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberCommonSiteId\": \"DALTX0101\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
+        subscriber =
+                "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberCommonSiteId\": \"DALTX0101\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
         subscriber2 = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
     }
 
@@ -285,17 +223,17 @@
         Map<String, Object> variables = new HashMap<>();
         setVariables(variables);
 
-       invokeSubProcess("Homing", businessKey, variables);
+        invokeSubProcess("Homing", businessKey, variables);
 
         injectWorkflowMessages(callbacks, "oof2");
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
-        ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey,
-                "serviceDecomposition");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
         String expectedOofRequest = (String) getVariableFromHistory(businessKey, "oofRequest");
 
         Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
@@ -313,17 +251,18 @@
         expectedOofRequest = expectedOofRequest.replaceAll("\\s+", "");
 
         assertNull(workflowException);
-        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01",
-                resourceARHoming.getVnf().getResourceId(),"aic", "dfwtx",
-                "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", resourceARHoming.getVnf().getResourceId(),
+                "aic", "dfwtx", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
                 "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceARHomingString);
-        assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2",
-                resourceARHoming2.getVnf().getResourceId(),"aic", "testCloudRegionId2",
-                null, null), resourceARHoming2String);
-        assertEquals(homingSolutionCloud("cloud","aic", "testCloudRegionId3",
-                true, "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
+        assertEquals(
+                homingSolutionService("service", "testSIID2", "testVnfHostname2",
+                        resourceARHoming2.getVnf().getResourceId(), "aic", "testCloudRegionId2", null, null),
+                resourceARHoming2String);
+        assertEquals(
+                homingSolutionCloud("cloud", "aic", "testCloudRegionId3", true,
+                        "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceVNFHomingString);
         assertEquals(verifyOofRequest(), expectedOofRequest);
     }
@@ -338,17 +277,17 @@
         Map<String, Object> variables = new HashMap<>();
         setVariables2(variables);
 
-       invokeSubProcess("Homing", businessKey, variables);
+        invokeSubProcess("Homing", businessKey, variables);
 
         injectWorkflowMessages(callbacks, "oof3");
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
-        ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey,
-                "serviceDecomposition");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
         String expectedOofRequest = (String) getVariableFromHistory(businessKey, "oofRequest");
 
         Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
@@ -376,28 +315,27 @@
 
 
         assertNull(workflowException);
-        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01",
-                resourceARHoming.getVnf().getResourceId(),"aic", "dfwtx",
-                "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", resourceARHoming.getVnf().getResourceId(),
+                "aic", "dfwtx", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
                 "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceARHomingString);
-        assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2",
-                resourceARHoming2.getVnf().getResourceId(),
-                "aic", "testCloudRegionId2",
-                null, null), resourceARHoming2String);
-        assertEquals(homingSolutionCloud("cloud","aic",
-                "testCloudRegionId3",
-                true, "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
+        assertEquals(
+                homingSolutionService("service", "testSIID2", "testVnfHostname2",
+                        resourceARHoming2.getVnf().getResourceId(), "aic", "testCloudRegionId2", null, null),
+                resourceARHoming2String);
+        assertEquals(
+                homingSolutionCloud("cloud", "aic", "testCloudRegionId3", true,
+                        "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceVNFHomingString);
-        assertEquals(homingSolutionService("service", "testServiceInstanceIdNet",
-                "testVnfHostNameNet", resourceNetHoming.getVnf().getResourceId(),"aic",
-                "testCloudRegionIdNet",
-                null, null), resourceNetHomingString);
-        assertEquals(homingSolutionCloud("cloud", "aic",
-                "testCloudRegionIdNet2",
-                false, "\"f1d563e8-e714-4393-8f99-cc480144a05n\", \"j1d563e8-e714-4393-8f99-cc480144a05n\"",
-                "\"s1d563e8-e714-4393-8f99-cc480144a05n\", \"b1d563e8-e714-4393-8f99-cc480144a05n\""),
+        assertEquals(
+                homingSolutionService("service", "testServiceInstanceIdNet", "testVnfHostNameNet",
+                        resourceNetHoming.getVnf().getResourceId(), "aic", "testCloudRegionIdNet", null, null),
+                resourceNetHomingString);
+        assertEquals(
+                homingSolutionCloud("cloud", "aic", "testCloudRegionIdNet2", false,
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05n\", \"j1d563e8-e714-4393-8f99-cc480144a05n\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05n\", \"b1d563e8-e714-4393-8f99-cc480144a05n\""),
                 resourceNetHoming2String);
         assertEquals(verifyOofRequest(), expectedOofRequest);
 
@@ -413,12 +351,10 @@
                 "/BuildingBlocks/oofCatalogResp.json");
         String busKey = UUID.randomUUID().toString();
         Map<String, Object> vars = new HashMap<>();
-        setVariablesForServiceDecomposition(vars, "testRequestId123",
-                "ff5256d2-5a33-55df-13ab-12abad84e7ff");
+        setVariablesForServiceDecomposition(vars, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff");
         invokeSubProcess("DecomposeService", busKey, vars);
 
-        ServiceDecomposition sd = (ServiceDecomposition) getVariableFromHistory(busKey,
-                "serviceDecomposition");
+        ServiceDecomposition sd = (ServiceDecomposition) getVariableFromHistory(busKey, "serviceDecomposition");
         logger.debug("In testHoming_success_vnfResourceList, ServiceDecomposition = {}", sd);
         List<VnfResource> vnfResourceList = sd.getVnfResources();
         vnfResourceList.get(0).setResourceId("test-resource-id-000");
@@ -450,12 +386,12 @@
         injectWorkflowMessages(callbacks, "oof3");
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
+        // Get Variables
 
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
-        ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey,
-                "serviceDecomposition");
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
         logger.debug("serviceDecompositionExp is: {}", serviceDecompositionExp);
 
         Resource resourceVnf = serviceDecompositionExp.getServiceResource("test-resource-id-000");
@@ -469,21 +405,20 @@
 
         assertNull(workflowException);
 
-        //Verify request
+        // Verify request
         String oofRequest = (String) getVariableFromHistory(businessKey, "oofRequest");
         logger.debug("oofRequest is: {}", oofRequest);
-        assertEquals(FileUtil.readResourceFile("__files/BuildingBlocks/oofRequest_infravnf").
-                replaceAll("\n", "").replaceAll("\r", "").
-                replaceAll("\t", ""), oofRequest.replaceAll("\n", "").
-                replaceAll("\r", "").replaceAll("\t", ""));
+        assertEquals(
+                FileUtil.readResourceFile("__files/BuildingBlocks/oofRequest_infravnf").replaceAll("\n", "")
+                        .replaceAll("\r", "").replaceAll("\t", ""),
+                oofRequest.replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""));
 
-        assertEquals(homingSolutionService("service", "service-instance-01234",
-                "MDTNJ01", "test-resource-id-000","CloudOwner",
-                "mtmnj1a",
-                "\"f1d563e8-e714-4393-8f99-cc480144a05e\"," +
-                        " \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"s1d563e8-e714-4393-8f99-cc480144a05e\"," +
-                        " \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceVnfHomingString);
+        assertEquals(
+                homingSolutionService("service", "service-instance-01234", "MDTNJ01", "test-resource-id-000",
+                        "CloudOwner", "mtmnj1a",
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05e\"," + " \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05e\"," + " \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
+                resourceVnfHomingString);
     }
 
     @Test
@@ -501,9 +436,11 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-        ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
         String oofRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
 
         Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
@@ -521,18 +458,19 @@
         oofRequest = oofRequest.replaceAll("\\s+", "");
 
         assertNull(workflowException);
-        assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01",
-                "aic", "dfwtx", "KDTNJ01",
-                "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
+        assertEquals(
+                homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01",
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceARHomingString);
-        assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2",
-                resourceARHoming2.getVnf().getResourceId(),"aic", "testCloudRegionId2",
-                null, null), resourceARHoming2String);
-        assertEquals(homingSolutionCloud("cloud", "aic",
-                "testCloudRegionId3",
-                false, "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
-                "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
+        assertEquals(
+                homingSolutionService("service", "testSIID2", "testVnfHostname2",
+                        resourceARHoming2.getVnf().getResourceId(), "aic", "testCloudRegionId2", null, null),
+                resourceARHoming2String);
+        assertEquals(
+                homingSolutionCloud("cloud", "aic", "testCloudRegionId3", false,
+                        "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
                 resourceVNFHomingString);
         assertEquals(verifyOofRequestExistingLicense(), oofRequest);
 
@@ -549,12 +487,12 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-        assertEquals("WorkflowException[processKey=Homing,errorCode=4000,errorMessage=A required " +
-                "input variable is missing or null]", workflowException.toString());
+        assertEquals("WorkflowException[processKey=Homing,errorCode=4000,errorMessage=A required "
+                + "input variable is missing or null]", workflowException.toString());
     }
 
     @Test
@@ -570,12 +508,12 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-        assertEquals("WorkflowException[processKey=Homing,errorCode=500,errorMessage=Received a " +
-                "Bad Sync Response from Sniro/OOF.]", workflowException.toString());
+        assertEquals("WorkflowException[processKey=Homing,errorCode=500,errorMessage=Received a "
+                + "Bad Sync Response from Sniro/OOF.]", workflowException.toString());
     }
 
     @Test
@@ -593,12 +531,12 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-        assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=No solution found " +
-                "for plan 08e1b8cf-144a-4bac-b293-d5e2eedc97e8]", workflowException.toString());
+        assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=No solution found "
+                + "for plan 08e1b8cf-144a-4bac-b293-d5e2eedc97e8]", workflowException.toString());
     }
 
     @Test
@@ -616,13 +554,13 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-        assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback " +
-                "Response contains a Request Error Policy Exception: Message content size exceeds the allowable " +
-                "limit]", workflowException.toString());
+        assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback "
+                + "Response contains a Request Error Policy Exception: Message content size exceeds the allowable "
+                + "limit]", workflowException.toString());
     }
 
     @Test
@@ -640,14 +578,15 @@
 
         waitForProcessEnd(businessKey, 10000);
 
-        //Get Variables
-        WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey,
-                "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-        assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback " +
-                        "Response contains a Request Error Service Exception: OOF PlacementError: " +
-                        "requests.exceptions.HTTPError: 404 Client Error: Not Found for " +
-                        "url: http://192.168.171.200:8091/v1/plans/97b4e303-5f75-492c-8fb2-21098281c8b8]",
+        assertEquals(
+                "WorkflowException[processKey=Homing,errorCode=400,errorMessage=OOF Async Callback "
+                        + "Response contains a Request Error Service Exception: OOF PlacementError: "
+                        + "requests.exceptions.HTTPError: 404 Client Error: Not Found for "
+                        + "url: http://192.168.171.200:8091/v1/plans/97b4e303-5f75-492c-8fb2-21098281c8b8]",
                 workflowException.toString());
     }
 
@@ -665,7 +604,7 @@
         variables.put("cloudOwner", "amazon");
         variables.put("cloudRegionId", "TNZED");
         variables.put("isDebugLogEnabled", "true");
-        //	variables.put("mso-request-id", "testRequestId");
+        // variables.put("mso-request-id", "testRequestId");
         variables.put("msoRequestId", "testRequestId");
         variables.put("serviceInstanceId", "testServiceInstanceId");
         variables.put("serviceDecomposition", serviceDecomposition);
@@ -726,7 +665,7 @@
         variables.put("cloudOwner", "amazon");
         variables.put("cloudRegionId", "TNZED");
         variables.put("isDebugLogEnabled", "true");
-        //	variables.put("mso-request-id", "testRequestId");
+        // variables.put("mso-request-id", "testRequestId");
         variables.put("msoRequestId", "testRequestId");
         variables.put("serviceInstanceId", "testServiceInstanceId");
         variables.put("serviceDecomposition", null);
@@ -736,11 +675,15 @@
     private void setVariablesExistingLicense(Map<String, Object> variables) {
         HomingSolution currentHomingSolution = new HomingSolution();
         serviceDecomposition.getVnfResources().get(0).setCurrentHomingSolution(currentHomingSolution);
-        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addEntitlementPool("testEntitlementPoolId1");
-        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addEntitlementPool("testEntitlementPoolId2");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addEntitlementPool("testEntitlementPoolId1");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addEntitlementPool("testEntitlementPoolId2");
 
-        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addLicenseKeyGroup("testLicenseKeyGroupId1");
-        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addLicenseKeyGroup("testLicenseKeyGroupId2");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addLicenseKeyGroup("testLicenseKeyGroupId1");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addLicenseKeyGroup("testLicenseKeyGroupId2");
 
         variables.put("isDebugLogEnabled", "true");
         variables.put("msoRequestId", "testRequestId");
@@ -751,56 +694,52 @@
     }
 
     private String homingSolutionService(String type, String serviceInstanceId, String vnfHostname,
-                                         String vnfResourceId, String cloudOwner,
-                                         String cloudRegionId, String enList,
-                                         String licenseList){
+            String vnfResourceId, String cloudOwner, String cloudRegionId, String enList, String licenseList) {
 
         String solution = "";
-        if(enList == null){
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" +
-                    serviceInstanceId + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" +
-                    cloudRegionId + "\", " + "\"vnf\" : { \"resourceId\" : \"" + vnfResourceId +
-                    "\", \"resourceType\" : \"VNF\", \"resourceInstance\" : { }, \"homingSolution\" : { \"license\" :" +
-                    " { }, \"rehome\" : false }, \"vnfHostname\" : \"" + vnfHostname + "\" }, \"license\" : { }," +
-                    " \"rehome\" : false } }";
-        }else{
-            //language=JSON
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" +
-                    serviceInstanceId + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" +
-                    cloudRegionId + "\", \"vnf\" : { \"resourceId\" : \"" + vnfResourceId + "\", \"resourceType\" :" +
-                    " \"VNF\", \"resourceInstance\" : { }, \"homingSolution\" : { \"license\" : { }, \"rehome\" :" +
-                    " false }, \"vnfHostname\" : \"" + vnfHostname + "\" }, \"license\" : { \"entitlementPoolList\" :" +
-                    " [ " + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] }, \"rehome\" : false } }";
+        if (enList == null) {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \""
+                    + serviceInstanceId + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \""
+                    + cloudRegionId + "\", " + "\"vnf\" : { \"resourceId\" : \"" + vnfResourceId
+                    + "\", \"resourceType\" : \"VNF\", \"resourceInstance\" : { }, \"homingSolution\" : { \"license\" :"
+                    + " { }, \"rehome\" : false }, \"vnfHostname\" : \"" + vnfHostname + "\" }, \"license\" : { },"
+                    + " \"rehome\" : false } }";
+        } else {
+            // language=JSON
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \""
+                    + serviceInstanceId + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \""
+                    + cloudRegionId + "\", \"vnf\" : { \"resourceId\" : \"" + vnfResourceId + "\", \"resourceType\" :"
+                    + " \"VNF\", \"resourceInstance\" : { }, \"homingSolution\" : { \"license\" : { }, \"rehome\" :"
+                    + " false }, \"vnfHostname\" : \"" + vnfHostname + "\" }, \"license\" : { \"entitlementPoolList\" :"
+                    + " [ " + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList
+                    + " ] }, \"rehome\" : false } }";
         }
         return solution;
     }
 
-    private String homingSolutionCloud(String type, String cloudOwner,
-                                       String cloudRegionId, Boolean flavors, String enList,
-                                       String licenseList){
+    private String homingSolutionCloud(String type, String cloudOwner, String cloudRegionId, Boolean flavors,
+            String enList, String licenseList) {
         String solution = "";
-        if(enList == null){
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" +
-                    cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId +
-                    "\", \"license\" : { }, \"rehome\" : false } }";
-        } else if (flavors && enList == null){
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" +
-                    cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId +
-                    "\", \"flavors\" :  [ { \"flavorLabel\" : \"flavorLabel2xxx\", \"flavor\" : \"vimFlavorxxx\" }, " +
-                    "{ \"flavorLabel\" : \"flavorLabel1xxx\", \"flavor\" : \"vimFlavorxxx\" } ], " +
-                    "\"license\" : { }, \"rehome\" : false } }";
+        if (enList == null) {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"license\" : { }, \"rehome\" : false } }";
+        } else if (flavors && enList == null) {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId
+                    + "\", \"flavors\" :  [ { \"flavorLabel\" : \"flavorLabel2xxx\", \"flavor\" : \"vimFlavorxxx\" }, "
+                    + "{ \"flavorLabel\" : \"flavorLabel1xxx\", \"flavor\" : \"vimFlavorxxx\" } ], "
+                    + "\"license\" : { }, \"rehome\" : false } }";
         } else if (flavors) {
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" +
-                    cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId +
-                    "\", \"flavors\" : [ { \"flavorLabel\" : \"flavorLabel2xxx\", \"flavor\" : \"vimFlavorxxx\" }, " +
-                    "{ \"flavorLabel\" : \"flavorLabel1xxx\", \"flavor\" : \"vimFlavorxxx\" } ], " +
-                    "\"license\" : { \"entitlementPoolList\" : [ " + enList +  " ], \"licenseKeyGroupList\" : [ " +
-                    licenseList +  " ] }, \"rehome\" : false } }";
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId
+                    + "\", \"flavors\" : [ { \"flavorLabel\" : \"flavorLabel2xxx\", \"flavor\" : \"vimFlavorxxx\" }, "
+                    + "{ \"flavorLabel\" : \"flavorLabel1xxx\", \"flavor\" : \"vimFlavorxxx\" } ], "
+                    + "\"license\" : { \"entitlementPoolList\" : [ " + enList + " ], \"licenseKeyGroupList\" : [ "
+                    + licenseList + " ] }, \"rehome\" : false } }";
         } else {
-            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" +
-                    cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId +
-                    "\", \"license\" : { \"entitlementPoolList\" : [ " + enList +  " ], \"licenseKeyGroupList\" : [ " +
-                    licenseList +  " ] }, \"rehome\" : false } }";
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"license\" : { \"entitlementPoolList\" : [ "
+                    + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] }, \"rehome\" : false } }";
         }
         return solution;
     }
@@ -823,68 +762,68 @@
         variables.put("cloudRegionId", "TNZED");
 
 
-        String serviceModelInfo = "{\"modelInvariantId\":\"1cc4e2e4-eb6e-404d-a66f-c8733cedcce8\",\"modelUuid\":" +
-                "\"2f7f309d-c842-4644-a2e4-34167be5eeb4\",\"modelName\":\"vCPE Service\",\"modelVersion\":\"2.0\",}";
+        String serviceModelInfo = "{\"modelInvariantId\":\"1cc4e2e4-eb6e-404d-a66f-c8733cedcce8\",\"modelUuid\":"
+                + "\"2f7f309d-c842-4644-a2e4-34167be5eeb4\",\"modelName\":\"vCPE Service\",\"modelVersion\":\"2.0\",}";
         variables.put("serviceModelInfo", serviceModelInfo);
     }
 
     private String verifyOofRequest() {
-        String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\"," +
-                "\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/oofResponse/testRequestId\"," +
-                "\"sourceId\":\"so\",\"requestType\":\"create\",\"numSolutions\":1,\"optimizers\":[\"placement\"]," +
-                "\"timeout\":600},\"placementInfo\":{\"requestParameters\":{\"customerLatitude\":" +
-                "\"32.89748\",\"customerLongitude\":\"-97.040443\",\"customerName\":\"xyz\"},\"subscriberInfo\":" +
-                "{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\"," +
-                "\"subscriberCommonSiteId\":\"\"},\"placementDemands\":[{\"resourceModuleName\":\"ALLOTTED_RESOURCE\"" +
-                ",\"serviceResourceId\":\"testResourceIdAR\",\"tenantId\":" +
-                "\"null\",\"resourceModelInfo\":{\"modelInvariantId\":\"testModelInvariantIdAR\"," +
-                "\"modelVersionId\":\"testARModelUuid\",\"modelName\":\"testModelNameAR\",\"modelType\":" +
-                "\"testModelTypeAR\",\"modelVersion\":\"testModelVersionAR\",\"modelCustomizationName\":\"\"}}," +
-                "{\"resourceModuleName\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\"," +
-                "\"tenantId\":\"null\",\"resourceModelInfo\":{\"modelInvariantId\":\"testModelInvariantIdAR2\"," +
-                "\"modelVersionId\":\"testAr2ModelUuid\",\"modelName\":\"testModelNameAR2\"," +
-                "\"modelType\":\"testModelTypeAR2\",\"modelVersion\":\"testModelVersionAR2\"," +
-                "\"modelCustomizationName\":\"\"}}]},\"serviceInfo\":" +
-                "{\"serviceInstanceId\":\"testServiceInstanceId123\"," +
-                "\"serviceName\":\"null\",\"modelInfo\":{\"modelType\":\"\",\"modelInvariantId\":" +
-                "\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\"," +
-                "\"modelVersion\":\"testModelVersion\",\"modelCustomizationName\":\"" +
-                "\"}},\"licenseInfo\":{\"licenseDemands\":[{\"resourceModuleName\":\"VNF\",\"serviceResourceId\":" +
-                "\"testResourceIdVNF\",\"resourceInstanceType\":\"VNF\",\"resourceModelInfo\":{\"modelInvariantId\":" +
-                "\"testModelInvariantIdVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelName\":" +
-                "\"testModelNameVNF\",\"modelType\":\"testModelTypeVNF\",\"modelVersion\":\"testModelVersionVNF\"," +
-                "\"modelCustomizationName\":\"\"}}]}}";
+        String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\","
+                + "\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/oofResponse/testRequestId\","
+                + "\"sourceId\":\"so\",\"requestType\":\"create\",\"numSolutions\":1,\"optimizers\":[\"placement\"],"
+                + "\"timeout\":600},\"placementInfo\":{\"requestParameters\":{\"customerLatitude\":"
+                + "\"32.89748\",\"customerLongitude\":\"-97.040443\",\"customerName\":\"xyz\"},\"subscriberInfo\":"
+                + "{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\","
+                + "\"subscriberCommonSiteId\":\"\"},\"placementDemands\":[{\"resourceModuleName\":\"ALLOTTED_RESOURCE\""
+                + ",\"serviceResourceId\":\"testResourceIdAR\",\"tenantId\":"
+                + "\"null\",\"resourceModelInfo\":{\"modelInvariantId\":\"testModelInvariantIdAR\","
+                + "\"modelVersionId\":\"testARModelUuid\",\"modelName\":\"testModelNameAR\",\"modelType\":"
+                + "\"testModelTypeAR\",\"modelVersion\":\"testModelVersionAR\",\"modelCustomizationName\":\"\"}},"
+                + "{\"resourceModuleName\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\","
+                + "\"tenantId\":\"null\",\"resourceModelInfo\":{\"modelInvariantId\":\"testModelInvariantIdAR2\","
+                + "\"modelVersionId\":\"testAr2ModelUuid\",\"modelName\":\"testModelNameAR2\","
+                + "\"modelType\":\"testModelTypeAR2\",\"modelVersion\":\"testModelVersionAR2\","
+                + "\"modelCustomizationName\":\"\"}}]},\"serviceInfo\":"
+                + "{\"serviceInstanceId\":\"testServiceInstanceId123\","
+                + "\"serviceName\":\"null\",\"modelInfo\":{\"modelType\":\"\",\"modelInvariantId\":"
+                + "\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\","
+                + "\"modelVersion\":\"testModelVersion\",\"modelCustomizationName\":\""
+                + "\"}},\"licenseInfo\":{\"licenseDemands\":[{\"resourceModuleName\":\"VNF\",\"serviceResourceId\":"
+                + "\"testResourceIdVNF\",\"resourceInstanceType\":\"VNF\",\"resourceModelInfo\":{\"modelInvariantId\":"
+                + "\"testModelInvariantIdVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelName\":"
+                + "\"testModelNameVNF\",\"modelType\":\"testModelTypeVNF\",\"modelVersion\":\"testModelVersionVNF\","
+                + "\"modelCustomizationName\":\"\"}}]}}";
         return request;
     }
 
-    private String verifyOofRequestExistingLicense(){
-        String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\"," +
-                "\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\"," +
-                "\"sourceId\":\"mso\",\"requestType\":\"speedchanged\",\"optimizer\":[\"placement\",\"license\"]," +
-                "\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\"," +
-                "\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":" +
-                "\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":" +
-                "{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\"," +
-                "\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":" +
-                "\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\"," +
-                "\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\"," +
-                "\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\"," +
-                "\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":" +
-                "\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":" +
-                "\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":" +
-                "\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\"," +
-                "\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\"," +
-                "\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\"," +
-                "\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":" +
-                "[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\"," +
-                "\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":" +
-                "\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\"," +
-                "\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\"," +
-                "\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"}," +
-                "\"existingLicense\":[{\"entitlementPoolUUID\":[\"testEntitlementPoolId1\"," +
-                "\"testEntitlementPoolId2\"],\"licenseKeyGroupUUID\":[\"testLicenseKeyGroupId1\"," +
-                "\"testLicenseKeyGroupId2\"]}]}]},\"policyId\":[],\"serviceInstanceId\":" +
-                "\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
+    private String verifyOofRequestExistingLicense() {
+        String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\","
+                + "\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\","
+                + "\"sourceId\":\"mso\",\"requestType\":\"speedchanged\",\"optimizer\":[\"placement\",\"license\"],"
+                + "\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\","
+                + "\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":"
+                + "\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":"
+                + "{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\","
+                + "\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":"
+                + "\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\","
+                + "\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\","
+                + "\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\","
+                + "\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":"
+                + "\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":"
+                + "\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":"
+                + "\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\","
+                + "\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\","
+                + "\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\","
+                + "\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":"
+                + "[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\","
+                + "\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":"
+                + "\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\","
+                + "\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\","
+                + "\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"},"
+                + "\"existingLicense\":[{\"entitlementPoolUUID\":[\"testEntitlementPoolId1\","
+                + "\"testEntitlementPoolId2\"],\"licenseKeyGroupUUID\":[\"testLicenseKeyGroupId1\","
+                + "\"testLicenseKeyGroupId2\"]}]}]},\"policyId\":[],\"serviceInstanceId\":"
+                + "\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
         return request;
     }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/PrepareUpdateAAIVfModuleIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/PrepareUpdateAAIVfModuleIT.java
index c994173..ace5fdd 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/PrepareUpdateAAIVfModuleIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/PrepareUpdateAAIVfModuleIT.java
@@ -18,7 +18,7 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
@@ -27,12 +27,10 @@
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetGenericVnfById_404;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutGenericVnf;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Assert;
 import org.junit.Test;
@@ -47,164 +45,176 @@
  */
 
 public class PrepareUpdateAAIVfModuleIT extends BaseIntegrationTest {
-	
-	Logger logger = LoggerFactory.getLogger(PrepareUpdateAAIVfModuleIT.class);
-	
-	/**
-	 * Test the happy path through the flow.
-	 */
-	@Test	
-	
-	public void happyPath() throws IOException {
-		
-		logStart();
-		
-		String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml"); 
-		
-		MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
-		MockPutGenericVnf(wireMockServer, "/skask/vf-modules/vf-module/supercool", "PCRF", 200);
-		MockPatchVfModuleId(wireMockServer, "skask", "supercool");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-	variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
-		invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(200, responseCode.intValue());
-		String heatStackId = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_heatStackId");
-		logger.debug("Ouput heat-stack-id:{}", heatStackId);
-		Assert.assertEquals("slowburn", heatStackId);
-		
-		logEnd();
-	}
-	
-	/**
-	 * Test the case where the GET to AAI returns a 404.
-	 */
-	@Test	
-	
-	public void badGet() throws IOException {
-		
-		logStart();
-		
-		String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml"); 
-		MockGetGenericVnfById_404(wireMockServer, "skask[?]depth=1");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-	variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
-		invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_getVnfResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_getVnfResponseCode");
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(404, responseCode.intValue());
-		Assert.assertNotNull(workflowException);
-		logger.debug("Subflow WorkflowException error message: {}", workflowException.getErrorMessage());
-		
-		logEnd();
-	}
-	
-	/**
-	 * Test the case where the validation of the VF Module fails.
-	 */
-	@Test	
-	
-	public void failValidation1() throws IOException {
-		
-		logStart();
-		
-		String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml").replaceFirst("supercool", "lukewarm");
-		
-		MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-	variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
-		invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
-		
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		Assert.assertNotNull(workflowException);
-		logger.debug("Subflow WorkflowException error message: {}", workflowException.getErrorMessage());
-		Assert.assertTrue(workflowException.getErrorMessage().startsWith("VF Module validation error: Orchestration"));
-		
-		logEnd();
-	}
-	
-	/**
-	 * Test the case where the validation of the VF Module fails.
-	 */
-	@Test	
-	
-	public void failValidation2() throws IOException {
-		
-		logStart();
-		
-		String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml").replaceFirst("supercool", "notsocool");
-		
-		MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");		
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-	variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
-		invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
-			
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		Assert.assertNotNull(workflowException);
-		logger.debug("Subflow WorkflowException error message: {}", workflowException.getErrorMessage());
-		Assert.assertTrue(workflowException.getErrorMessage().startsWith("VF Module validation error: VF Module"));
-		
-		logEnd();
-	}
 
-	/**
-	 * Test the case where the GET to AAI is successful, but the subsequent PUT returns 404.
-	 */
-	@Test	
-	
-	public void badPatch() throws IOException {
-		
-		logStart();
-		
-		String prepareUpdateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml"); 
-		
-		MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
-		MockAAIVfModuleBadPatch(wireMockServer, "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404);
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
-		invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponseCode");
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(404, responseCode.intValue());
-		Assert.assertNotNull(workflowException);
-		logger.debug("Subflow WorkflowException error message: {}", workflowException.getErrorMessage());
-		
-		logEnd();
-	}
+    Logger logger = LoggerFactory.getLogger(PrepareUpdateAAIVfModuleIT.class);
+
+    /**
+     * Test the happy path through the flow.
+     */
+    @Test
+
+    public void happyPath() throws IOException {
+
+        logStart();
+
+        String prepareUpdateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml");
+
+        MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
+        MockPutGenericVnf(wireMockServer, "/skask/vf-modules/vf-module/supercool", "PCRF", 200);
+        MockPatchVfModuleId(wireMockServer, "skask", "supercool");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
+        invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(200, responseCode.intValue());
+        String heatStackId = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_heatStackId");
+        logger.debug("Ouput heat-stack-id:{}", heatStackId);
+        Assert.assertEquals("slowburn", heatStackId);
+
+        logEnd();
+    }
+
+    /**
+     * Test the case where the GET to AAI returns a 404.
+     */
+    @Test
+
+    public void badGet() throws IOException {
+
+        logStart();
+
+        String prepareUpdateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml");
+        MockGetGenericVnfById_404(wireMockServer, "skask[?]depth=1");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
+        invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_getVnfResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_getVnfResponseCode");
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(404, responseCode.intValue());
+        Assert.assertNotNull(workflowException);
+        logger.debug("Subflow WorkflowException error message: {}", workflowException.getErrorMessage());
+
+        logEnd();
+    }
+
+    /**
+     * Test the case where the validation of the VF Module fails.
+     */
+    @Test
+
+    public void failValidation1() throws IOException {
+
+        logStart();
+
+        String prepareUpdateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml")
+                        .replaceFirst("supercool", "lukewarm");
+
+        MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
+        invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
+
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        Assert.assertNotNull(workflowException);
+        logger.debug("Subflow WorkflowException error message: {}", workflowException.getErrorMessage());
+        Assert.assertTrue(workflowException.getErrorMessage().startsWith("VF Module validation error: Orchestration"));
+
+        logEnd();
+    }
+
+    /**
+     * Test the case where the validation of the VF Module fails.
+     */
+    @Test
+
+    public void failValidation2() throws IOException {
+
+        logStart();
+
+        String prepareUpdateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml")
+                        .replaceFirst("supercool", "notsocool");
+
+        MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
+        invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
+
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        Assert.assertNotNull(workflowException);
+        logger.debug("Subflow WorkflowException error message: {}", workflowException.getErrorMessage());
+        Assert.assertTrue(workflowException.getErrorMessage().startsWith("VF Module validation error: VF Module"));
+
+        logEnd();
+    }
+
+    /**
+     * Test the case where the GET to AAI is successful, but the subsequent PUT returns 404.
+     */
+    @Test
+
+    public void badPatch() throws IOException {
+
+        logStart();
+
+        String prepareUpdateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/PrepareUpdateAAIVfModuleRequest.xml");
+
+        MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
+        MockAAIVfModuleBadPatch(wireMockServer,
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404);
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("PrepareUpdateAAIVfModuleRequest", prepareUpdateAAIVfModuleRequest);
+        invokeSubProcess("PrepareUpdateAAIVfModule", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "PUAAIVfMod_updateVfModuleResponseCode");
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(404, responseCode.intValue());
+        Assert.assertNotNull(workflowException);
+        logger.debug("Subflow WorkflowException error message: {}", workflowException.getErrorMessage());
+
+        logEnd();
+    }
 }
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/RainyDayHandlerIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/RainyDayHandlerIT.java
index 2f6d2ae..d669674 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/RainyDayHandlerIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/RainyDayHandlerIT.java
@@ -16,16 +16,14 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
 import static org.onap.so.bpmn.mock.StubResponsePolicy.MockPolicyAbort;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.so.BaseIntegrationTest;
@@ -35,35 +33,35 @@
  */
 
 public class RainyDayHandlerIT extends BaseIntegrationTest {
-	
-	@Test	
-	
-	public void  TestRainyDayHandlingSuccess() {
 
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled","true");
-		variables.put("msoRequestId", "testRequestId");
-		variables.put("serviceType", "X");
-		variables.put("vnfType", "Y");
-		variables.put("currentActivity", "BB1");		
-		variables.put("workStep", "1");
-		variables.put("failedActivity", "");
-		variables.put("errorCode", "123");
-		variables.put("errorText", "update failed");
-		variables.put("vnfName", "vSAMP1");
-		
-		MockPolicyAbort(wireMockServer);
-		
-		
-		String businessKey = UUID.randomUUID().toString();
-		invokeSubProcess("RainyDayHandler", businessKey, variables);
+    @Test
 
-		waitForProcessEnd(businessKey, 10000);
+    public void TestRainyDayHandlingSuccess() {
 
-		Assert.assertTrue(isProcessEnded(businessKey));
-		
-	}
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("msoRequestId", "testRequestId");
+        variables.put("serviceType", "X");
+        variables.put("vnfType", "Y");
+        variables.put("currentActivity", "BB1");
+        variables.put("workStep", "1");
+        variables.put("failedActivity", "");
+        variables.put("errorCode", "123");
+        variables.put("errorText", "update failed");
+        variables.put("vnfName", "vSAMP1");
 
-	
-	
-}
\ No newline at end of file
+        MockPolicyAbort(wireMockServer);
+
+
+        String businessKey = UUID.randomUUID().toString();
+        invokeSubProcess("RainyDayHandler", businessKey, variables);
+
+        waitForProcessEnd(businessKey, 10000);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+
+    }
+
+
+
+}
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ReceiveWorkflowMessageTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ReceiveWorkflowMessageTest.java
index 7f3e884..d8e3264 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ReceiveWorkflowMessageTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/ReceiveWorkflowMessageTest.java
@@ -17,7 +17,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
- 
+
 package org.onap.so.bpmn.common;
 
 import static org.junit.Assert.assertEquals;
@@ -25,12 +25,10 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -44,102 +42,85 @@
 @Ignore
 public class ReceiveWorkflowMessageTest extends WorkflowTest {
 
-	private static final String EOL = "\n";
+    private static final String EOL = "\n";
 
-	private final CallbackSet callbacks = new CallbackSet();
+    private final CallbackSet callbacks = new CallbackSet();
 
-	public ReceiveWorkflowMessageTest() throws IOException {
-		callbacks.put("sdnc-event-success", JSON, "SDNCAEvent",
-			"{" + EOL +
-			"  \"SDNCEvent\": {" + EOL +
-			"    \"eventType\": \"evenType\"," + EOL +
-			"    \"eventCorrelatorType\": \"HOST-NAME\"," + EOL +
-			"    \"eventCorrelator\": \"((CORRELATOR))\"," + EOL +
-			"    \"params\": {" + EOL +
-			"      \"success-indicator\":\"Y\"" + EOL +
-			"	 }" +EOL +
-			"  }" + EOL +
-			"}" + EOL);
+    public ReceiveWorkflowMessageTest() throws IOException {
+        callbacks.put("sdnc-event-success", JSON, "SDNCAEvent",
+                "{" + EOL + "  \"SDNCEvent\": {" + EOL + "    \"eventType\": \"evenType\"," + EOL
+                        + "    \"eventCorrelatorType\": \"HOST-NAME\"," + EOL
+                        + "    \"eventCorrelator\": \"((CORRELATOR))\"," + EOL + "    \"params\": {" + EOL
+                        + "      \"success-indicator\":\"Y\"" + EOL + "	 }" + EOL + "  }" + EOL + "}" + EOL);
 
-		callbacks.put("sdnc-event-fail", JSON, "SDNCAEvent",
-			"{" + EOL +
-			"  \"SDNCEvent\": {" + EOL +
-			"    \"eventType\": \"evenType\"," + EOL +
-			"    \"eventCorrelatorType\": \"HOST-NAME\"," + EOL +
-			"    \"eventCorrelator\": \"((CORRELATOR))\"," + EOL +
-			"    \"params\": {" + EOL +
-			"      \"success-indicator\":\"N\"," + EOL +
-			"      \"error-message\":\"SOMETHING BAD HAPPENED\"" + EOL +
-			"	 }" +EOL +
-			"  }" + EOL +
-			"}" + EOL);
-	}
+        callbacks.put("sdnc-event-fail", JSON, "SDNCAEvent", "{" + EOL + "  \"SDNCEvent\": {" + EOL
+                + "    \"eventType\": \"evenType\"," + EOL + "    \"eventCorrelatorType\": \"HOST-NAME\"," + EOL
+                + "    \"eventCorrelator\": \"((CORRELATOR))\"," + EOL + "    \"params\": {" + EOL
+                + "      \"success-indicator\":\"N\"," + EOL + "      \"error-message\":\"SOMETHING BAD HAPPENED\""
+                + EOL + "	 }" + EOL + "  }" + EOL + "}" + EOL);
+    }
 
-	/**
-	 * Test the happy path.
-	 */
-	@Test
-	@Deployment(resources = {
-		"subprocess/ReceiveWorkflowMessage.bpmn"
-		})
-	public void happyPath() throws Exception {
+    /**
+     * Test the happy path.
+     */
+    @Test
+    @Deployment(resources = {"subprocess/ReceiveWorkflowMessage.bpmn"})
+    public void happyPath() throws Exception {
 
-		logStart();
+        logStart();
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312");
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("RCVWFMSG_timeout", "PT1M");
-		variables.put("RCVWFMSG_messageType", "SDNCAEvent");
-		variables.put("RCVWFMSG_correlator", "USOSTCDALTX0101UJZZ31");
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312");
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("RCVWFMSG_timeout", "PT1M");
+        variables.put("RCVWFMSG_messageType", "SDNCAEvent");
+        variables.put("RCVWFMSG_correlator", "USOSTCDALTX0101UJZZ31");
 
-		invokeSubProcess("ReceiveWorkflowMessage", businessKey, variables);
-		injectWorkflowMessages(callbacks, "sdnc-event-success");
-		waitForProcessEnd(businessKey, 10000);
+        invokeSubProcess("ReceiveWorkflowMessage", businessKey, variables);
+        injectWorkflowMessages(callbacks, "sdnc-event-success");
+        waitForProcessEnd(businessKey, 10000);
 
-		String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse");
-		System.out.println("Response:\n" + response);
-		assertTrue(response.contains("\"SDNCEvent\""));
-		assertTrue((boolean)getVariableFromHistory(businessKey, "RCVWFMSG_SuccessIndicator"));
+        String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse");
+        System.out.println("Response:\n" + response);
+        assertTrue(response.contains("\"SDNCEvent\""));
+        assertTrue((boolean) getVariableFromHistory(businessKey, "RCVWFMSG_SuccessIndicator"));
 
-		logEnd();
-	}
+        logEnd();
+    }
 
-	/**
-	 * Test the timeout scenario.
-	 */
-	@Test
-	@Deployment(resources = {
-		"subprocess/ReceiveWorkflowMessage.bpmn"
-		})
-	public void timeout() throws Exception {
+    /**
+     * Test the timeout scenario.
+     */
+    @Test
+    @Deployment(resources = {"subprocess/ReceiveWorkflowMessage.bpmn"})
+    public void timeout() throws Exception {
 
-		logStart();
+        logStart();
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312");
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("RCVWFMSG_timeout", "PT5S");
-		variables.put("RCVWFMSG_messageType", "SDNCAEvent");
-		variables.put("RCVWFMSG_correlator", "USOSTCDALTX0101UJZZ31");
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", "dffbae0e-5588-4bd6-9749-b0f0adb52312");
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("RCVWFMSG_timeout", "PT5S");
+        variables.put("RCVWFMSG_messageType", "SDNCAEvent");
+        variables.put("RCVWFMSG_correlator", "USOSTCDALTX0101UJZZ31");
 
-		invokeSubProcess("ReceiveWorkflowMessage", businessKey, variables);
+        invokeSubProcess("ReceiveWorkflowMessage", businessKey, variables);
 
-		// No injection
+        // No injection
 
-		waitForProcessEnd(businessKey, 10000);
+        waitForProcessEnd(businessKey, 10000);
 
-		// There is no response from SDNC, so the flow doesn't set WorkflowResponse.
-		String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse");
-		assertNull(response);
-		WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		assertNotNull(wfe);
-		System.out.println(wfe.toString());
-		assertEquals("Receive Workflow Message Timeout Error", wfe.getErrorMessage());
-		assertFalse((boolean)getVariableFromHistory(businessKey, "RCVWFMSG_SuccessIndicator"));
+        // There is no response from SDNC, so the flow doesn't set WorkflowResponse.
+        String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse");
+        assertNull(response);
+        WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        assertNotNull(wfe);
+        System.out.println(wfe.toString());
+        assertEquals("Receive Workflow Message Timeout Error", wfe.getErrorMessage());
+        assertFalse((boolean) getVariableFromHistory(businessKey, "RCVWFMSG_SuccessIndicator"));
 
-		logEnd();
-	}
+        logEnd();
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SDNCAdapterCallbackRule.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SDNCAdapterCallbackRule.java
index dc5c36f..36adccd 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SDNCAdapterCallbackRule.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SDNCAdapterCallbackRule.java
@@ -21,7 +21,6 @@
 package org.onap.so.bpmn.common;
 
 import javax.xml.ws.Endpoint;
-
 import org.camunda.bpm.engine.ProcessEngineServices;
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;
@@ -29,56 +28,54 @@
 import org.onap.so.bpmn.common.workflow.service.SDNCAdapterCallbackServiceImpl;
 
 /**
- * A JUnit rule that starts the SDNC Adapter Callback Service before
- * every test, and tears it down after every test.  Example:
+ * A JUnit rule that starts the SDNC Adapter Callback Service before every test, and tears it down after every test.
+ * Example:
+ * 
  * <pre>
- *     @Rule
- *     public final SDNCAdapterCallbackRule sdncAdapterCallbackRule =
- *         new SDNCAdapterCallbackRule(processEngineRule);
+ * &#64;Rule
+ * public final SDNCAdapterCallbackRule sdncAdapterCallbackRule = new SDNCAdapterCallbackRule(processEngineRule);
  * </pre>
  */
 public class SDNCAdapterCallbackRule implements TestRule {
-	public static final String DEFAULT_ENDPOINT_URL =
-		"http://localhost:28080/mso/SDNCAdapterCallbackService";
+    public static final String DEFAULT_ENDPOINT_URL = "http://localhost:28080/mso/SDNCAdapterCallbackService";
 
-	private final ProcessEngineServices processEngineServices;
-	private final String endpointUrl;
+    private final ProcessEngineServices processEngineServices;
+    private final String endpointUrl;
 
-	public SDNCAdapterCallbackRule(ProcessEngineServices processEngineServices) {
-		this(processEngineServices, DEFAULT_ENDPOINT_URL);
-	}
+    public SDNCAdapterCallbackRule(ProcessEngineServices processEngineServices) {
+        this(processEngineServices, DEFAULT_ENDPOINT_URL);
+    }
 
-	public SDNCAdapterCallbackRule(ProcessEngineServices processEngineServices,
-			String endpointUrl) {
-		this.processEngineServices = processEngineServices;
-		this.endpointUrl = endpointUrl;
-	}
+    public SDNCAdapterCallbackRule(ProcessEngineServices processEngineServices, String endpointUrl) {
+        this.processEngineServices = processEngineServices;
+        this.endpointUrl = endpointUrl;
+    }
 
-	@Override
-	public Statement apply(final Statement baseStmt, Description description) {
-		return new Statement() {
-			@Override
-			public void evaluate() throws Throwable {
-				Endpoint endpoint = null;
+    @Override
+    public Statement apply(final Statement baseStmt, Description description) {
+        return new Statement() {
+            @Override
+            public void evaluate() throws Throwable {
+                Endpoint endpoint = null;
 
-				try {
-					SDNCAdapterCallbackServiceImpl sdncCallbackService = new SDNCAdapterCallbackServiceImpl();
-					sdncCallbackService.setProcessEngineServices4junit(processEngineServices);
+                try {
+                    SDNCAdapterCallbackServiceImpl sdncCallbackService = new SDNCAdapterCallbackServiceImpl();
+                    sdncCallbackService.setProcessEngineServices4junit(processEngineServices);
 
-					System.setProperty("com.sun.xml.ws.transport.http.HttpAdapter.dump", "true");
-					System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dump", "true");
+                    System.setProperty("com.sun.xml.ws.transport.http.HttpAdapter.dump", "true");
+                    System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dump", "true");
 
-					System.out.println("Publishing Endpoint - " + endpointUrl);
-					endpoint = Endpoint.publish(endpointUrl, sdncCallbackService);
+                    System.out.println("Publishing Endpoint - " + endpointUrl);
+                    endpoint = Endpoint.publish(endpointUrl, sdncCallbackService);
 
-					baseStmt.evaluate();
-				} finally {
-					if (endpoint != null) {
-						System.out.println("Stopping Endpoint - " + endpointUrl);
-						endpoint.stop();
-					}
-				}
-			}
-		};
-	}
-}
\ No newline at end of file
+                    baseStmt.evaluate();
+                } finally {
+                    if (endpoint != null) {
+                        System.out.println("Stopping Endpoint - " + endpointUrl);
+                        endpoint.stop();
+                    }
+                }
+            }
+        };
+    }
+}
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SDNCAdapterRestV2IT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SDNCAdapterRestV2IT.java
index bf3fefd..415e809 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SDNCAdapterRestV2IT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SDNCAdapterRestV2IT.java
@@ -25,12 +25,10 @@
 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
 import static com.github.tomakehurst.wiremock.client.WireMock.post;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Assert;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -42,81 +40,78 @@
 /**
  * Unit tests for SDNCAdapterRestV2.bpmn.
  *
- * This version of SDNCAdapterRest allows for interim notifications to be sent for
- * any non-final response received from SDNC.
+ * This version of SDNCAdapterRest allows for interim notifications to be sent for any non-final response received from
+ * SDNC.
  */
 
 public class SDNCAdapterRestV2IT extends BaseIntegrationTest {
 
-	private final CallbackSet callbacks = new CallbackSet();
+    private final CallbackSet callbacks = new CallbackSet();
 
-	Logger logger = LoggerFactory.getLogger(SDNCAdapterRestV2IT.class);
+    Logger logger = LoggerFactory.getLogger(SDNCAdapterRestV2IT.class);
 
 
-	/**
-	 * Constructor. Insert callbacks.
-	 *
-	 * @throws IOException
-	 */
-	public SDNCAdapterRestV2IT() throws IOException {
-		String sdncCallbackFinal = FileUtil.readResourceFile("__files/SDNCAdapterRestCallbackFinal.json");
-		String sdncCallbackNonFinal = FileUtil.readResourceFile("__files/SDNCAdapterRestCallbackNonFinal.json");
-		callbacks.put("nonfinal", sdncCallbackNonFinal);
-		callbacks.put("final", sdncCallbackFinal);
-	}
+    /**
+     * Constructor. Insert callbacks.
+     *
+     * @throws IOException
+     */
+    public SDNCAdapterRestV2IT() throws IOException {
+        String sdncCallbackFinal = FileUtil.readResourceFile("__files/SDNCAdapterRestCallbackFinal.json");
+        String sdncCallbackNonFinal = FileUtil.readResourceFile("__files/SDNCAdapterRestCallbackNonFinal.json");
+        callbacks.put("nonfinal", sdncCallbackNonFinal);
+        callbacks.put("final", sdncCallbackFinal);
+    }
 
-	/**
-	 * Test the success path through the subflow.
-	 */
-	@Test
-	@Ignore
-	public void success() throws IOException {
-		logStart();
-		mocks();
+    /**
+     * Test the success path through the subflow.
+     */
+    @Test
+    @Ignore
+    public void success() throws IOException {
+        logStart();
+        mocks();
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<String, Object>();
-		variables.put("mso-request-id", "a4383a52-b9de-4bc4-bedf-02f3f9466535");
-		variables.put("mso-service-instance-id", "fd8bcdbb-b799-43ce-a7ff-ed8f2965a3b5");
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("SDNCREST_Request",
-			FileUtil.readResourceFile("__files/SDNCAdapterRestV2Request.json"));
-		variables.put("SDNCREST_InterimNotification1",
-			FileUtil.readResourceFile("__files/SDNCInterimNotification1.json"));
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<String, Object>();
+        variables.put("mso-request-id", "a4383a52-b9de-4bc4-bedf-02f3f9466535");
+        variables.put("mso-service-instance-id", "fd8bcdbb-b799-43ce-a7ff-ed8f2965a3b5");
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("SDNCREST_Request", FileUtil.readResourceFile("__files/SDNCAdapterRestV2Request.json"));
+        variables.put("SDNCREST_InterimNotification1",
+                FileUtil.readResourceFile("__files/SDNCInterimNotification1.json"));
 
-		invokeSubProcess("SDNCAdapterRestV2", businessKey, variables);
+        invokeSubProcess("SDNCAdapterRestV2", businessKey, variables);
 
-		injectSDNCRestCallbacks(callbacks, "nonfinal");
+        injectSDNCRestCallbacks(callbacks, "nonfinal");
 
-		// First non-final response will have done a notification
-		Object interimNotification = getVariableFromHistory(businessKey, "SDNCREST_interimNotification");
-		Assert.assertNotNull(interimNotification);
+        // First non-final response will have done a notification
+        Object interimNotification = getVariableFromHistory(businessKey, "SDNCREST_interimNotification");
+        Assert.assertNotNull(interimNotification);
 
-		injectSDNCRestCallbacks(callbacks, "nonfinal");
+        injectSDNCRestCallbacks(callbacks, "nonfinal");
 
-		// Second non-final response will not have done a notification
-		interimNotification = getVariableFromHistory(businessKey, "SDNCREST_interimNotification");
-		Assert.assertNull(interimNotification);
+        // Second non-final response will not have done a notification
+        interimNotification = getVariableFromHistory(businessKey, "SDNCREST_interimNotification");
+        Assert.assertNull(interimNotification);
 
-		injectSDNCRestCallbacks(callbacks, "final");
+        injectSDNCRestCallbacks(callbacks, "final");
 
-		interimNotification = this.getVariableFromHistory(businessKey, "SDNCREST_interimNotification");
-		Assert.assertNull(interimNotification);
+        interimNotification = this.getVariableFromHistory(businessKey, "SDNCREST_interimNotification");
+        Assert.assertNull(interimNotification);
 
-		waitForProcessEnd(businessKey, 10000);
+        waitForProcessEnd(businessKey, 10000);
 
-		Assert.assertTrue(isProcessEnded(businessKey));
+        Assert.assertTrue(isProcessEnded(businessKey));
 
-		logEnd();
-	}
+        logEnd();
+    }
 
-	/**
-	 * Defines WireMock stubs needed by these tests.
-	 */
-	private void mocks() {
-		wireMockServer.stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc"))
-			.willReturn(aResponse()
-				.withStatus(202)
-				.withHeader("Content-Type", "application/json")));
-	}
+    /**
+     * Defines WireMock stubs needed by these tests.
+     */
+    private void mocks() {
+        wireMockServer.stubFor(post(urlEqualTo("/SDNCAdapter/v1/sdnc"))
+                .willReturn(aResponse().withStatus(202).withHeader("Content-Type", "application/json")));
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SPIPropertiesTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SPIPropertiesTest.java
index 9239889..96ea1ca 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SPIPropertiesTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SPIPropertiesTest.java
@@ -22,10 +22,8 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
-
 import java.io.FileNotFoundException;
 import java.io.IOException;
-
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.onap.so.client.RestPropertiesLoader;
@@ -36,34 +34,37 @@
 
 public class SPIPropertiesTest {
 
-	@BeforeClass
-	public static void beforeClass() {
-		System.setProperty("mso.config.path", "src/test/resources");
-	}
-	
-	@Test
-	public void notEqual() {
-		DmaapProperties one = DmaapPropertiesLoader.getInstance().getNewImpl();
-		DmaapProperties two = DmaapPropertiesLoader.getInstance().getNewImpl();
-		assertNotEquals(one, two);
-	}
-	@Test
-	public void equal() {
-		DmaapProperties one = DmaapPropertiesLoader.getInstance().getImpl();
-		DmaapProperties two = DmaapPropertiesLoader.getInstance().getImpl();
-		assertEquals(one, two);
-	}
-	@Test
-	public void restNotEqual() {
-		AAIProperties one = RestPropertiesLoader.getInstance().getNewImpl(AAIProperties.class);
-		AAIProperties two = RestPropertiesLoader.getInstance().getNewImpl(AAIProperties.class);
-		assertNotEquals(one, two);
-	}
-	@Test
-	public void restEqual() {
-		AAIProperties one = RestPropertiesLoader.getInstance().getImpl(AAIProperties.class);
-		AAIProperties two = RestPropertiesLoader.getInstance().getImpl(AAIProperties.class);
-		assertEquals(one, two);
-	}
-	
+    @BeforeClass
+    public static void beforeClass() {
+        System.setProperty("mso.config.path", "src/test/resources");
+    }
+
+    @Test
+    public void notEqual() {
+        DmaapProperties one = DmaapPropertiesLoader.getInstance().getNewImpl();
+        DmaapProperties two = DmaapPropertiesLoader.getInstance().getNewImpl();
+        assertNotEquals(one, two);
+    }
+
+    @Test
+    public void equal() {
+        DmaapProperties one = DmaapPropertiesLoader.getInstance().getImpl();
+        DmaapProperties two = DmaapPropertiesLoader.getInstance().getImpl();
+        assertEquals(one, two);
+    }
+
+    @Test
+    public void restNotEqual() {
+        AAIProperties one = RestPropertiesLoader.getInstance().getNewImpl(AAIProperties.class);
+        AAIProperties two = RestPropertiesLoader.getInstance().getNewImpl(AAIProperties.class);
+        assertNotEquals(one, two);
+    }
+
+    @Test
+    public void restEqual() {
+        AAIProperties one = RestPropertiesLoader.getInstance().getImpl(AAIProperties.class);
+        AAIProperties two = RestPropertiesLoader.getInstance().getImpl(AAIProperties.class);
+        assertEquals(one, two);
+    }
+
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SniroHomingV1IT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SniroHomingV1IT.java
index c7ba702..6b253d2 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SniroHomingV1IT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/SniroHomingV1IT.java
@@ -25,14 +25,12 @@
 import static org.onap.so.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogDataByModelUuid;
 import static org.onap.so.bpmn.mock.StubResponseSNIRO.*;
 import static org.junit.Assert.*;
-
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -49,504 +47,588 @@
  */
 @Ignore
 public class SniroHomingV1IT extends BaseIntegrationTest {
-	
-	Logger logger = LoggerFactory.getLogger(SniroHomingV1IT.class);
-	
 
-	ServiceDecomposition serviceDecomposition = new ServiceDecomposition();
-	String subscriber = "";
-	String subscriber2 = "";
+    Logger logger = LoggerFactory.getLogger(SniroHomingV1IT.class);
 
-	private final CallbackSet callbacks = new CallbackSet();
 
-	public SniroHomingV1IT() throws IOException {
-		String sniroCallback = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf");
-		String sniroCallback2 = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf2Net");
-		String sniroCallback3 = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackInfraVnf");
-		String sniroCallbackNoSolution = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackNoSolutionFound");
-		String sniroCallbackPolicyException = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackPolicyException");
-		String sniroCallbackServiceException = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackServiceException");
-		callbacks.put("sniro", JSON, "SNIROResponse", sniroCallback);
-		callbacks.put("sniro2", JSON, "SNIROResponse", sniroCallback2);
-		callbacks.put("sniro3", JSON, "SNIROResponse", sniroCallback3);
-		callbacks.put("sniroNoSol", JSON, "SNIROResponse", sniroCallbackNoSolution);
-		callbacks.put("sniroPolicyEx", JSON, "SNIROResponse", sniroCallbackPolicyException);
-		callbacks.put("sniroServiceEx", JSON, "SNIROResponse", sniroCallbackServiceException);
+    ServiceDecomposition serviceDecomposition = new ServiceDecomposition();
+    String subscriber = "";
+    String subscriber2 = "";
 
-		// Service Model
-		ModelInfo sModel = new ModelInfo();
-		sModel.setModelCustomizationUuid("testModelCustomizationUuid");
-		sModel.setModelInstanceName("testModelInstanceName");
-		sModel.setModelInvariantUuid("testModelInvariantId");
-		sModel.setModelName("testModelName");
-		sModel.setModelUuid("testModelUuid");
-		sModel.setModelVersion("testModelVersion");
-		// Service Instance
-		ServiceInstance si = new ServiceInstance();
-		si.setInstanceId("testServiceInstanceId123");
-		// Allotted Resources
-		List<AllottedResource> arList = new ArrayList<AllottedResource>();
-		AllottedResource ar = new AllottedResource();
-		ar.setResourceId("testResourceIdAR");
-		ar.setResourceInstanceName("testARInstanceName");
-		ModelInfo arModel = new ModelInfo();
-		arModel.setModelCustomizationUuid("testModelCustomizationUuidAR");
-		arModel.setModelInvariantUuid("testModelInvariantIdAR");
-		arModel.setModelName("testModelNameAR");
-		arModel.setModelVersion("testModelVersionAR");
-		arModel.setModelUuid("testARModelUuid");
-		arModel.setModelType("testModelTypeAR");
-		ar.setModelInfo(arModel);
-		AllottedResource ar2 = new AllottedResource();
-		ar2.setResourceId("testResourceIdAR2");
-		ar2.setResourceInstanceName("testAR2InstanceName");
-		ModelInfo arModel2 = new ModelInfo();
-		arModel2.setModelCustomizationUuid("testModelCustomizationUuidAR2");
-		arModel2.setModelInvariantUuid("testModelInvariantIdAR2");
-		arModel2.setModelName("testModelNameAR2");
-		arModel2.setModelVersion("testModelVersionAR2");
-		arModel2.setModelUuid("testAr2ModelUuid");
-		arModel2.setModelType("testModelTypeAR2");
-		ar2.setModelInfo(arModel2);
-		arList.add(ar);
-		arList.add(ar2);
-		// Vnfs
-		List<VnfResource> vnfList = new ArrayList<VnfResource>();
-		VnfResource vnf = new VnfResource();
-		vnf.setResourceId("testResourceIdVNF");
-		vnf.setResourceInstanceName("testVnfInstanceName");
-		ModelInfo vnfModel = new ModelInfo();
-		vnfModel.setModelCustomizationUuid("testModelCustomizationUuidVNF");
-		vnfModel.setModelInvariantUuid("testModelInvariantIdVNF");
-		vnfModel.setModelName("testModelNameVNF");
-		vnfModel.setModelVersion("testModelVersionVNF");
-		vnfModel.setModelUuid("testVnfModelUuid");
-		vnfModel.setModelType("testModelTypeVNF");
-		vnf.setModelInfo(vnfModel);
-		vnfList.add(vnf);
-		logger.debug("SERVICE DECOMP: {}", serviceDecomposition.getServiceResourcesJsonString());
-		serviceDecomposition.setModelInfo(sModel);
-		serviceDecomposition.setAllottedResources(arList);
-		serviceDecomposition.setVnfResources(vnfList);
-		serviceDecomposition.setServiceInstance(si);
+    private final CallbackSet callbacks = new CallbackSet();
 
-		// Subscriber
-		subscriber = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberCommonSiteId\": \"DALTX0101\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
-		subscriber2 = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
-	}
+    public SniroHomingV1IT() throws IOException {
+        String sniroCallback = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf");
+        String sniroCallback2 = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallback2AR1Vnf2Net");
+        String sniroCallback3 = FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackInfraVnf");
+        String sniroCallbackNoSolution =
+                FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackNoSolutionFound");
+        String sniroCallbackPolicyException =
+                FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackPolicyException");
+        String sniroCallbackServiceException =
+                FileUtil.readResourceFile("__files/BuildingBlocks/sniroCallbackServiceException");
+        callbacks.put("sniro", JSON, "SNIROResponse", sniroCallback);
+        callbacks.put("sniro2", JSON, "SNIROResponse", sniroCallback2);
+        callbacks.put("sniro3", JSON, "SNIROResponse", sniroCallback3);
+        callbacks.put("sniroNoSol", JSON, "SNIROResponse", sniroCallbackNoSolution);
+        callbacks.put("sniroPolicyEx", JSON, "SNIROResponse", sniroCallbackPolicyException);
+        callbacks.put("sniroServiceEx", JSON, "SNIROResponse", sniroCallbackServiceException);
 
-	@Test
-	 // 1802 merge
-	
-	public void testHoming_success_2AR1Vnf() throws Exception {
+        // Service Model
+        ModelInfo sModel = new ModelInfo();
+        sModel.setModelCustomizationUuid("testModelCustomizationUuid");
+        sModel.setModelInstanceName("testModelInstanceName");
+        sModel.setModelInvariantUuid("testModelInvariantId");
+        sModel.setModelName("testModelName");
+        sModel.setModelUuid("testModelUuid");
+        sModel.setModelVersion("testModelVersion");
+        // Service Instance
+        ServiceInstance si = new ServiceInstance();
+        si.setInstanceId("testServiceInstanceId123");
+        // Allotted Resources
+        List<AllottedResource> arList = new ArrayList<AllottedResource>();
+        AllottedResource ar = new AllottedResource();
+        ar.setResourceId("testResourceIdAR");
+        ar.setResourceInstanceName("testARInstanceName");
+        ModelInfo arModel = new ModelInfo();
+        arModel.setModelCustomizationUuid("testModelCustomizationUuidAR");
+        arModel.setModelInvariantUuid("testModelInvariantIdAR");
+        arModel.setModelName("testModelNameAR");
+        arModel.setModelVersion("testModelVersionAR");
+        arModel.setModelUuid("testARModelUuid");
+        arModel.setModelType("testModelTypeAR");
+        ar.setModelInfo(arModel);
+        AllottedResource ar2 = new AllottedResource();
+        ar2.setResourceId("testResourceIdAR2");
+        ar2.setResourceInstanceName("testAR2InstanceName");
+        ModelInfo arModel2 = new ModelInfo();
+        arModel2.setModelCustomizationUuid("testModelCustomizationUuidAR2");
+        arModel2.setModelInvariantUuid("testModelInvariantIdAR2");
+        arModel2.setModelName("testModelNameAR2");
+        arModel2.setModelVersion("testModelVersionAR2");
+        arModel2.setModelUuid("testAr2ModelUuid");
+        arModel2.setModelType("testModelTypeAR2");
+        ar2.setModelInfo(arModel2);
+        arList.add(ar);
+        arList.add(ar2);
+        // Vnfs
+        List<VnfResource> vnfList = new ArrayList<VnfResource>();
+        VnfResource vnf = new VnfResource();
+        vnf.setResourceId("testResourceIdVNF");
+        vnf.setResourceInstanceName("testVnfInstanceName");
+        ModelInfo vnfModel = new ModelInfo();
+        vnfModel.setModelCustomizationUuid("testModelCustomizationUuidVNF");
+        vnfModel.setModelInvariantUuid("testModelInvariantIdVNF");
+        vnfModel.setModelName("testModelNameVNF");
+        vnfModel.setModelVersion("testModelVersionVNF");
+        vnfModel.setModelUuid("testVnfModelUuid");
+        vnfModel.setModelType("testModelTypeVNF");
+        vnf.setModelInfo(vnfModel);
+        vnfList.add(vnf);
+        logger.debug("SERVICE DECOMP: {}", serviceDecomposition.getServiceResourcesJsonString());
+        serviceDecomposition.setModelInfo(sModel);
+        serviceDecomposition.setAllottedResources(arList);
+        serviceDecomposition.setVnfResources(vnfList);
+        serviceDecomposition.setServiceInstance(si);
 
-		mockSNIRO(wireMockServer);
+        // Subscriber
+        subscriber =
+                "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberCommonSiteId\": \"DALTX0101\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
+        subscriber2 = "{\"globalSubscriberId\": \"SUB12_0322_DS_1201\",\"subscriberName\": \"SUB_12_0322_DS_1201\"}";
+    }
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariables(variables);
+    @Test
+    // 1802 merge
 
-		invokeSubProcess("Homing", businessKey, variables);
+    public void testHoming_success_2AR1Vnf() throws Exception {
 
-		injectWorkflowMessages(callbacks, "sniro");
+        mockSNIRO(wireMockServer);
 
-		waitForProcessEnd(businessKey, 10000);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariables(variables);
 
-		//Get Variables
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
-		String expectedSniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
+        invokeSubProcess("Homing", businessKey, variables);
 
-		Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
-		HomingSolution resourceARHoming = resourceAR.getHomingSolution();
-		Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2");
-		HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution();
-		Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF");
-		HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution();
-		String resourceARHomingString = resourceARHoming.toString();
-		resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " ");
-		String resourceARHoming2String = resourceARHoming2.toString();
-		resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " ");
-		String resourceVNFHomingString = resourceVNFHoming.toString();
-		resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " ");
-		expectedSniroRequest = expectedSniroRequest.replaceAll("\\s+", "");
+        injectWorkflowMessages(callbacks, "sniro");
 
-		assertNull(workflowException);
-		assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceARHomingString);
-		assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2", "testAicClli2", "3.0", null, null), resourceARHoming2String);
-		assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0", "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"", "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""), resourceVNFHomingString);
-		assertEquals(verifySniroRequest(), expectedSniroRequest);
+        waitForProcessEnd(businessKey, 10000);
 
-	}
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
+        String expectedSniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
 
-	@Test
-	 // 1802 merge
-	
-	public void testHoming_success_2AR1Vnf2Net() throws Exception {
+        Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
+        HomingSolution resourceARHoming = resourceAR.getHomingSolution();
+        Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2");
+        HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution();
+        Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF");
+        HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution();
+        String resourceARHomingString = resourceARHoming.toString();
+        resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " ");
+        String resourceARHoming2String = resourceARHoming2.toString();
+        resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " ");
+        String resourceVNFHomingString = resourceVNFHoming.toString();
+        resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " ");
+        expectedSniroRequest = expectedSniroRequest.replaceAll("\\s+", "");
 
-		mockSNIRO(wireMockServer);
+        assertNull(workflowException);
+        assertEquals(
+                homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0",
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
+                resourceARHomingString);
+        assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2",
+                "testAicClli2", "3.0", null, null), resourceARHoming2String);
+        assertEquals(
+                homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0",
+                        "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
+                resourceVNFHomingString);
+        assertEquals(verifySniroRequest(), expectedSniroRequest);
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariables2(variables);
+    }
 
-		invokeSubProcess("Homing", businessKey, variables);
+    @Test
+    // 1802 merge
 
-		injectWorkflowMessages(callbacks, "sniro2");
+    public void testHoming_success_2AR1Vnf2Net() throws Exception {
 
-		waitForProcessEnd(businessKey, 10000);
+        mockSNIRO(wireMockServer);
 
-		//Get Variables
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
-		String expectedSniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariables2(variables);
 
-		Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
-		HomingSolution resourceARHoming = resourceAR.getHomingSolution();
-		Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2");
-		HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution();
-		Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF");
-		HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution();
-		Resource resourceNet = serviceDecompositionExp.getServiceResource("testResourceIdNet");
-		HomingSolution resourceNetHoming = resourceNet.getHomingSolution();
-		Resource resourceNet2 = serviceDecompositionExp.getServiceResource("testResourceIdNet2");
-		HomingSolution resourceNetHoming2 = resourceNet2.getHomingSolution();
+        invokeSubProcess("Homing", businessKey, variables);
 
-		String resourceARHomingString = resourceARHoming.toString();
-		resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " ");
-		String resourceARHoming2String = resourceARHoming2.toString();
-		resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " ");
-		String resourceVNFHomingString = resourceVNFHoming.toString();
-		resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " ");
-		String resourceNetHomingString = resourceNetHoming.toString();
-		resourceNetHomingString = resourceNetHomingString.replaceAll("\\s+", " ");
-		String resourceNetHoming2String = resourceNetHoming2.toString();
-		resourceNetHoming2String = resourceNetHoming2String.replaceAll("\\s+", " ");
-		expectedSniroRequest = expectedSniroRequest.replaceAll("\\s+", "");
+        injectWorkflowMessages(callbacks, "sniro2");
 
-		assertNull(workflowException);
-		assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceARHomingString);
-		assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2", "testAicClli2", "3.0", null, null), resourceARHoming2String);
-		assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0", "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"", "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""), resourceVNFHomingString);
-		assertEquals(homingSolutionService("service", "testServiceInstanceIdNet", "testVnfHostNameNet", "aic", "testCloudRegionIdNet", "testAicClliNet", "3.0", null, null), resourceNetHomingString);
-		assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionIdNet2", "testAicClliNet2", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05n\", \"j1d563e8-e714-4393-8f99-cc480144a05n\"", "\"s1d563e8-e714-4393-8f99-cc480144a05n\", \"b1d563e8-e714-4393-8f99-cc480144a05n\""), resourceNetHoming2String);
-		assertEquals(verifySniroRequest(), expectedSniroRequest);
-	}
+        waitForProcessEnd(businessKey, 10000);
 
-	@Test
-	 // 1802 merge
-	
-	public void testHoming_success_vnfResourceList() throws Exception {
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
+        String expectedSniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
 
-		// Create a Service Decomposition 
-		MockGetServiceResourcesCatalogDataByModelUuid(wireMockServer, "2f7f309d-c842-4644-a2e4-34167be5eeb4", "/BuildingBlocks/catalogResp.json");
-		String busKey = UUID.randomUUID().toString();
-		Map<String, Object> vars = new HashMap<>();
-		setVariablesForServiceDecomposition(vars, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff");
-		invokeSubProcess("DecomposeService", busKey, vars);
+        Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
+        HomingSolution resourceARHoming = resourceAR.getHomingSolution();
+        Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2");
+        HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution();
+        Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF");
+        HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution();
+        Resource resourceNet = serviceDecompositionExp.getServiceResource("testResourceIdNet");
+        HomingSolution resourceNetHoming = resourceNet.getHomingSolution();
+        Resource resourceNet2 = serviceDecompositionExp.getServiceResource("testResourceIdNet2");
+        HomingSolution resourceNetHoming2 = resourceNet2.getHomingSolution();
 
-		ServiceDecomposition sd = (ServiceDecomposition) getVariableFromHistory(busKey, "serviceDecomposition");
-		List<VnfResource> vnfResourceList = sd.getVnfResources();
-		vnfResourceList.get(0).setResourceId("test-resource-id-000");
+        String resourceARHomingString = resourceARHoming.toString();
+        resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " ");
+        String resourceARHoming2String = resourceARHoming2.toString();
+        resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " ");
+        String resourceVNFHomingString = resourceVNFHoming.toString();
+        resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " ");
+        String resourceNetHomingString = resourceNetHoming.toString();
+        resourceNetHomingString = resourceNetHomingString.replaceAll("\\s+", " ");
+        String resourceNetHoming2String = resourceNetHoming2.toString();
+        resourceNetHoming2String = resourceNetHoming2String.replaceAll("\\s+", " ");
+        expectedSniroRequest = expectedSniroRequest.replaceAll("\\s+", "");
 
-		// Invoke Homing
+        assertNull(workflowException);
+        assertEquals(
+                homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0",
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
+                resourceARHomingString);
+        assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2",
+                "testAicClli2", "3.0", null, null), resourceARHoming2String);
+        assertEquals(
+                homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0",
+                        "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
+                resourceVNFHomingString);
+        assertEquals(homingSolutionService("service", "testServiceInstanceIdNet", "testVnfHostNameNet", "aic",
+                "testCloudRegionIdNet", "testAicClliNet", "3.0", null, null), resourceNetHomingString);
+        assertEquals(
+                homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionIdNet2", "testAicClliNet2", "3.0",
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05n\", \"j1d563e8-e714-4393-8f99-cc480144a05n\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05n\", \"b1d563e8-e714-4393-8f99-cc480144a05n\""),
+                resourceNetHoming2String);
+        assertEquals(verifySniroRequest(), expectedSniroRequest);
+    }
 
-		mockSNIRO(wireMockServer);
+    @Test
+    // 1802 merge
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("homingService", "sniro");
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("msoRequestId", "testRequestId");
-		variables.put("serviceInstanceId", "testServiceInstanceId");
-		variables.put("serviceDecomposition", sd);
-		variables.put("subscriberInfo", subscriber2);
+    public void testHoming_success_vnfResourceList() throws Exception {
 
-		invokeSubProcess("Homing", businessKey, variables);
-		injectWorkflowMessages(callbacks, "sniro3");
-		waitForProcessEnd(businessKey, 10000);
+        // Create a Service Decomposition
+        MockGetServiceResourcesCatalogDataByModelUuid(wireMockServer, "2f7f309d-c842-4644-a2e4-34167be5eeb4",
+                "/BuildingBlocks/catalogResp.json");
+        String busKey = UUID.randomUUID().toString();
+        Map<String, Object> vars = new HashMap<>();
+        setVariablesForServiceDecomposition(vars, "testRequestId123", "ff5256d2-5a33-55df-13ab-12abad84e7ff");
+        invokeSubProcess("DecomposeService", busKey, vars);
 
-		//Get Variables
+        ServiceDecomposition sd = (ServiceDecomposition) getVariableFromHistory(busKey, "serviceDecomposition");
+        List<VnfResource> vnfResourceList = sd.getVnfResources();
+        vnfResourceList.get(0).setResourceId("test-resource-id-000");
 
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
+        // Invoke Homing
 
-		Resource resourceVnf = serviceDecompositionExp.getServiceResource("test-resource-id-000");
-		HomingSolution resourceVnfHoming = resourceVnf.getHomingSolution();
+        mockSNIRO(wireMockServer);
 
-		String resourceVnfHomingString = resourceVnfHoming.toString();
-		resourceVnfHomingString = resourceVnfHomingString.replaceAll("\\s+", " ");
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("homingService", "sniro");
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("msoRequestId", "testRequestId");
+        variables.put("serviceInstanceId", "testServiceInstanceId");
+        variables.put("serviceDecomposition", sd);
+        variables.put("subscriberInfo", subscriber2);
 
-		assertNull(workflowException);
+        invokeSubProcess("Homing", businessKey, variables);
+        injectWorkflowMessages(callbacks, "sniro3");
+        waitForProcessEnd(businessKey, 10000);
+
+        // Get Variables
+
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
+
+        Resource resourceVnf = serviceDecompositionExp.getServiceResource("test-resource-id-000");
+        HomingSolution resourceVnfHoming = resourceVnf.getHomingSolution();
+
+        String resourceVnfHomingString = resourceVnfHoming.toString();
+        resourceVnfHomingString = resourceVnfHomingString.replaceAll("\\s+", " ");
+
+        assertNull(workflowException);
+
+        // Verify request
+        String sniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
+        assertEquals(
+                FileUtil.readResourceFile("__files/BuildingBlocks/sniroRequest_infravnf").replaceAll("\n", "")
+                        .replaceAll("\r", "").replaceAll("\t", ""),
+                sniroRequest.replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""));
+
+        assertEquals(homingSolutionService("service", "service-instance-01234", "MDTNJ01", "CloudOwner", "mtmnj1a",
+                "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+                "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
+                resourceVnfHomingString);
+    }
+
+    @Test
+
+    public void testHoming_success_existingLicense() throws Exception {
+
+        mockSNIRO(wireMockServer);
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<String, Object>();
+        setVariablesExistingLicense(variables);
 
-		//Verify request
-		String sniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
-		assertEquals(FileUtil.readResourceFile("__files/BuildingBlocks/sniroRequest_infravnf").replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""), sniroRequest.replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", ""));
+        invokeSubProcess("Homing", businessKey, variables);
 
-		assertEquals(homingSolutionService("service", "service-instance-01234", "MDTNJ01", "CloudOwner", "mtmnj1a", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceVnfHomingString);
-	}
+        injectWorkflowMessages(callbacks, "sniro");
 
-	@Test
-	
-	public void testHoming_success_existingLicense() throws Exception {
+        waitForProcessEnd(businessKey, 10000);
 
-		mockSNIRO(wireMockServer);
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        ServiceDecomposition serviceDecompositionExp =
+                (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
+        String sniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<String, Object>();
-		setVariablesExistingLicense(variables);
+        Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
+        HomingSolution resourceARHoming = resourceAR.getHomingSolution();
+        Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2");
+        HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution();
+        Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF");
+        HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution();
+        String resourceARHomingString = resourceARHoming.toString();
+        resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " ");
+        String resourceARHoming2String = resourceARHoming2.toString();
+        resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " ");
+        String resourceVNFHomingString = resourceVNFHoming.toString();
+        resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " ");
+        sniroRequest = sniroRequest.replaceAll("\\s+", "");
 
-		invokeSubProcess("Homing", businessKey, variables);
+        assertNull(workflowException);
+        assertEquals(
+                homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0",
+                        "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""),
+                resourceARHomingString);
+        assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2",
+                "testAicClli2", "3.0", null, null), resourceARHoming2String);
+        assertEquals(
+                homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0",
+                        "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"",
+                        "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""),
+                resourceVNFHomingString);
+        assertEquals(verifySniroRequest_existingLicense(), sniroRequest);
 
-		injectWorkflowMessages(callbacks, "sniro");
+    }
 
-		waitForProcessEnd(businessKey, 10000);
 
-		//Get Variables
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		ServiceDecomposition serviceDecompositionExp = (ServiceDecomposition) getVariableFromHistory(businessKey, "serviceDecomposition");
-		String sniroRequest = (String) getVariableFromHistory(businessKey, "sniroRequest");
+    @Test
 
-		Resource resourceAR = serviceDecompositionExp.getServiceResource("testResourceIdAR");
-		HomingSolution resourceARHoming = resourceAR.getHomingSolution();
-		Resource resourceAR2 = serviceDecompositionExp.getServiceResource("testResourceIdAR2");
-		HomingSolution resourceARHoming2 = resourceAR2.getHomingSolution();
-		Resource resourceVNF = serviceDecompositionExp.getServiceResource("testResourceIdVNF");
-		HomingSolution resourceVNFHoming = resourceVNF.getHomingSolution();
-		String resourceARHomingString = resourceARHoming.toString();
-		resourceARHomingString = resourceARHomingString.replaceAll("\\s+", " ");
-		String resourceARHoming2String = resourceARHoming2.toString();
-		resourceARHoming2String = resourceARHoming2String.replaceAll("\\s+", " ");
-		String resourceVNFHomingString = resourceVNFHoming.toString();
-		resourceVNFHomingString = resourceVNFHomingString.replaceAll("\\s+", " ");
-		sniroRequest = sniroRequest.replaceAll("\\s+", "");
+    public void testHoming_error_inputVariable() throws Exception {
 
-		assertNull(workflowException);
-		assertEquals(homingSolutionService("service", "testSIID1", "MDTNJ01", "aic", "dfwtx", "KDTNJ01", "3.0", "\"f1d563e8-e714-4393-8f99-cc480144a05e\", \"j1d563e8-e714-4393-8f99-cc480144a05e\"", "\"s1d563e8-e714-4393-8f99-cc480144a05e\", \"b1d563e8-e714-4393-8f99-cc480144a05e\""), resourceARHomingString);
-		assertEquals(homingSolutionService("service", "testSIID2", "testVnfHostname2", "aic", "testCloudRegionId2", "testAicClli2", "3.0", null, null), resourceARHoming2String);
-		assertEquals(homingSolutionCloud("cloud", "", "", "aic", "testCloudRegionId3", "testAicClli3", "3.0", "\"91d563e8-e714-4393-8f99-cc480144a05e\", \"21d563e8-e714-4393-8f99-cc480144a05e\"", "\"31d563e8-e714-4393-8f99-cc480144a05e\", \"71d563e8-e714-4393-8f99-cc480144a05e\""), resourceVNFHomingString);
-		assertEquals(verifySniroRequest_existingLicense(), sniroRequest);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariables3(variables);
 
-	}
+        invokeSubProcess("Homing", businessKey, variables);
 
+        waitForProcessEnd(businessKey, 10000);
 
-	@Test
-	
-	public void testHoming_error_inputVariable() throws Exception {
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariables3(variables);
+        assertEquals(
+                "WorkflowException[processKey=Homing,errorCode=4000,errorMessage=A required input variable is missing or null]",
+                workflowException.toString());
+    }
 
-		invokeSubProcess("Homing", businessKey, variables);
+    @Test
 
-		waitForProcessEnd(businessKey, 10000);
+    public void testHoming_error_badResponse() throws Exception {
+        mockSNIRO_500(wireMockServer);
 
-		//Get Variables
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariables(variables);
 
-		assertEquals("WorkflowException[processKey=Homing,errorCode=4000,errorMessage=A required input variable is missing or null]", workflowException.toString());
-	}
+        invokeSubProcess("Homing", businessKey, variables);
 
-	@Test
-	
-	public void testHoming_error_badResponse() throws Exception {
-		mockSNIRO_500(wireMockServer);
+        waitForProcessEnd(businessKey, 10000);
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariables(variables);
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-		invokeSubProcess("Homing", businessKey, variables);
+        assertEquals(
+                "WorkflowException[processKey=Homing,errorCode=500,errorMessage=Received a Bad Sync Response from Sniro/OOF.]",
+                workflowException.toString());
+    }
 
-		waitForProcessEnd(businessKey, 10000);
+    @Test
+    // 1802 merge
 
-		//Get Variables
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+    public void testHoming_error_sniroNoSolution() throws Exception {
+        mockSNIRO(wireMockServer);
 
-		assertEquals("WorkflowException[processKey=Homing,errorCode=500,errorMessage=Received a Bad Sync Response from Sniro/OOF.]", workflowException.toString());
-	}
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariables(variables);
 
-	@Test
-	 // 1802 merge
-	
-	public void testHoming_error_sniroNoSolution() throws Exception {
-		mockSNIRO(wireMockServer);
+        invokeSubProcess("Homing", businessKey, variables);
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariables(variables);
+        injectWorkflowMessages(callbacks, "sniroNoSol");
 
-		invokeSubProcess("Homing", businessKey, variables);
+        waitForProcessEnd(businessKey, 10000);
 
-		injectWorkflowMessages(callbacks, "sniroNoSol");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-		waitForProcessEnd(businessKey, 10000);
+        assertEquals(
+                "WorkflowException[processKey=Homing,errorCode=400,errorMessage=No solution found for plan 08e1b8cf-144a-4bac-b293-d5e2eedc97e8]",
+                workflowException.toString());
+    }
 
-		//Get Variables
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+    @Test
 
-		assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=No solution found for plan 08e1b8cf-144a-4bac-b293-d5e2eedc97e8]", workflowException.toString());
-	}
+    public void testHoming_error_sniroPolicyException() throws Exception {
+        mockSNIRO(wireMockServer);
 
-	@Test
-	
-	public void testHoming_error_sniroPolicyException() throws Exception {
-		mockSNIRO(wireMockServer);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariables(variables);
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariables(variables);
+        invokeSubProcess("Homing", businessKey, variables);
 
-		invokeSubProcess("Homing", businessKey, variables);
+        injectWorkflowMessages(callbacks, "sniroPolicyEx");
 
-		injectWorkflowMessages(callbacks, "sniroPolicyEx");
+        waitForProcessEnd(businessKey, 10000);
 
-		waitForProcessEnd(businessKey, 10000);
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-		//Get Variables
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        assertEquals(
+                "WorkflowException[processKey=Homing,errorCode=400,errorMessage=Sniro Async Callback Response contains a Request Error Policy Exception: Message content size exceeds the allowable limit]",
+                workflowException.toString());
+    }
 
-		assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=Sniro Async Callback Response contains a Request Error Policy Exception: Message content size exceeds the allowable limit]", workflowException.toString());
-	}
+    @Test
 
-	@Test
-	
-	public void testHoming_error_sniroServiceException() throws Exception {
-		mockSNIRO(wireMockServer);
+    public void testHoming_error_sniroServiceException() throws Exception {
+        mockSNIRO(wireMockServer);
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariables(variables);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariables(variables);
 
-		invokeSubProcess("Homing", businessKey, variables);
+        invokeSubProcess("Homing", businessKey, variables);
 
-		injectWorkflowMessages(callbacks, "sniroServiceEx");
+        injectWorkflowMessages(callbacks, "sniroServiceEx");
 
-		waitForProcessEnd(businessKey, 10000);
+        waitForProcessEnd(businessKey, 10000);
 
-		//Get Variables
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        // Get Variables
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
 
-		assertEquals("WorkflowException[processKey=Homing,errorCode=400,errorMessage=Sniro Async Callback Response contains a Request Error Service Exception: SNIROPlacementError: requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://135.21.171.200:8091/v1/plans/97b4e303-5f75-492c-8fb2-21098281c8b8]", workflowException.toString());
-	}
+        assertEquals(
+                "WorkflowException[processKey=Homing,errorCode=400,errorMessage=Sniro Async Callback Response contains a Request Error Service Exception: SNIROPlacementError: requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://135.21.171.200:8091/v1/plans/97b4e303-5f75-492c-8fb2-21098281c8b8]",
+                workflowException.toString());
+    }
 
 
 
-	private void setVariables(Map<String, Object> variables) {
-		variables.put("homingService", "sniro");
-		variables.put("isDebugLogEnabled", "true");
-	//	variables.put("mso-request-id", "testRequestId");
-		variables.put("msoRequestId", "testRequestId");
-		variables.put("serviceInstanceId", "testServiceInstanceId");
-		variables.put("serviceDecomposition", serviceDecomposition);
-		variables.put("subscriberInfo", subscriber2);
+    private void setVariables(Map<String, Object> variables) {
+        variables.put("homingService", "sniro");
+        variables.put("isDebugLogEnabled", "true");
+        // variables.put("mso-request-id", "testRequestId");
+        variables.put("msoRequestId", "testRequestId");
+        variables.put("serviceInstanceId", "testServiceInstanceId");
+        variables.put("serviceDecomposition", serviceDecomposition);
+        variables.put("subscriberInfo", subscriber2);
 
-	}
+    }
 
-	private void setVariables2(Map<String, Object> variables) {
-		List<NetworkResource> netList = new ArrayList<NetworkResource>();
-		NetworkResource net = new NetworkResource();
-		net.setResourceId("testResourceIdNet");
-		ModelInfo netModel = new ModelInfo();
-		netModel.setModelCustomizationUuid("testModelCustomizationUuidNet");
-		netModel.setModelInvariantUuid("testModelInvariantIdNet");
-		netModel.setModelName("testModelNameNet");
-		netModel.setModelVersion("testModelVersionNet");
-		net.setModelInfo(netModel);
-		netList.add(net);
-		NetworkResource net2 = new NetworkResource();
-		net2.setResourceId("testResourceIdNet2");
-		ModelInfo netModel2 = new ModelInfo();
-		netModel2.setModelCustomizationUuid("testModelCustomizationUuidNet2");
-		netModel2.setModelInvariantUuid("testModelInvariantIdNet2");
-		netModel2.setModelName("testModelNameNet2");
-		netModel2.setModelVersion("testModelVersionNet2");
-		net2.setModelInfo(netModel2);
-		netList.add(net2);
-		serviceDecomposition.setNetworkResources(netList);
+    private void setVariables2(Map<String, Object> variables) {
+        List<NetworkResource> netList = new ArrayList<NetworkResource>();
+        NetworkResource net = new NetworkResource();
+        net.setResourceId("testResourceIdNet");
+        ModelInfo netModel = new ModelInfo();
+        netModel.setModelCustomizationUuid("testModelCustomizationUuidNet");
+        netModel.setModelInvariantUuid("testModelInvariantIdNet");
+        netModel.setModelName("testModelNameNet");
+        netModel.setModelVersion("testModelVersionNet");
+        net.setModelInfo(netModel);
+        netList.add(net);
+        NetworkResource net2 = new NetworkResource();
+        net2.setResourceId("testResourceIdNet2");
+        ModelInfo netModel2 = new ModelInfo();
+        netModel2.setModelCustomizationUuid("testModelCustomizationUuidNet2");
+        netModel2.setModelInvariantUuid("testModelInvariantIdNet2");
+        netModel2.setModelName("testModelNameNet2");
+        netModel2.setModelVersion("testModelVersionNet2");
+        net2.setModelInfo(netModel2);
+        netList.add(net2);
+        serviceDecomposition.setNetworkResources(netList);
 
-		variables.put("homingService", "sniro");
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("msoRequestId", "testRequestId");
-		variables.put("serviceInstanceId", "testServiceInstanceId");
-		variables.put("serviceDecomposition", serviceDecomposition);
-		variables.put("subscriberInfo", subscriber2);
-	}
+        variables.put("homingService", "sniro");
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("msoRequestId", "testRequestId");
+        variables.put("serviceInstanceId", "testServiceInstanceId");
+        variables.put("serviceDecomposition", serviceDecomposition);
+        variables.put("subscriberInfo", subscriber2);
+    }
 
-	private void setVariables3(Map<String, Object> variables) {
-		variables.put("homingService", "sniro");
-		variables.put("isDebugLogEnabled", "true");
-	//	variables.put("mso-request-id", "testRequestId");
-		variables.put("msoRequestId", "testRequestId");
-		variables.put("serviceInstanceId", "testServiceInstanceId");
-		variables.put("serviceDecomposition", null);
-		variables.put("subscriberInfo", subscriber2);
+    private void setVariables3(Map<String, Object> variables) {
+        variables.put("homingService", "sniro");
+        variables.put("isDebugLogEnabled", "true");
+        // variables.put("mso-request-id", "testRequestId");
+        variables.put("msoRequestId", "testRequestId");
+        variables.put("serviceInstanceId", "testServiceInstanceId");
+        variables.put("serviceDecomposition", null);
+        variables.put("subscriberInfo", subscriber2);
 
-	}
+    }
 
-	private void setVariablesExistingLicense(Map<String, Object> variables) {
-		HomingSolution currentHomingSolution = new HomingSolution();
-		serviceDecomposition.getVnfResources().get(0).setCurrentHomingSolution(currentHomingSolution);
-		serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addEntitlementPool("testEntitlementPoolId1");
-		serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addEntitlementPool("testEntitlementPoolId2");
+    private void setVariablesExistingLicense(Map<String, Object> variables) {
+        HomingSolution currentHomingSolution = new HomingSolution();
+        serviceDecomposition.getVnfResources().get(0).setCurrentHomingSolution(currentHomingSolution);
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addEntitlementPool("testEntitlementPoolId1");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addEntitlementPool("testEntitlementPoolId2");
 
-		serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addLicenseKeyGroup("testLicenseKeyGroupId1");
-		serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense().addLicenseKeyGroup("testLicenseKeyGroupId2");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addLicenseKeyGroup("testLicenseKeyGroupId1");
+        serviceDecomposition.getVnfResources().get(0).getCurrentHomingSolution().getLicense()
+                .addLicenseKeyGroup("testLicenseKeyGroupId2");
 
-		variables.put("isDebugLogEnabled", "true");
-	//	variables.put("mso-request-id", "testRequestId");
-		variables.put("msoRequestId", "testRequestId");
-		variables.put("serviceInstanceId", "testServiceInstanceId");
-		variables.put("serviceDecomposition", serviceDecomposition);
-		variables.put("subscriberInfo", subscriber2);
+        variables.put("isDebugLogEnabled", "true");
+        // variables.put("mso-request-id", "testRequestId");
+        variables.put("msoRequestId", "testRequestId");
+        variables.put("serviceInstanceId", "testServiceInstanceId");
+        variables.put("serviceDecomposition", serviceDecomposition);
+        variables.put("subscriberInfo", subscriber2);
 
-	}
+    }
 
-	private String homingSolutionService(String type, String serviceInstanceId, String vnfHostname, String cloudOwner, String cloudRegionId, String aicClli, String aicVersion, String enList, String licenseList){
-		String solution = "";
-		if(enList == null){
-			solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" + serviceInstanceId + "\", \"vnfHostname\" : \"" + vnfHostname + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\", \"license\" : { }, \"rehome\" : false } }";
-		}else{
-			solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \"" + serviceInstanceId + "\", \"vnfHostname\" : \"" + vnfHostname + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\", \"license\" : { \"entitlementPoolList\" : [ " + enList +  " ], \"licenseKeyGroupList\" : [ " + licenseList +  " ] }, \"rehome\" : false } }";
-		}
-		return solution;
-	}
+    private String homingSolutionService(String type, String serviceInstanceId, String vnfHostname, String cloudOwner,
+            String cloudRegionId, String aicClli, String aicVersion, String enList, String licenseList) {
+        String solution = "";
+        if (enList == null) {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \""
+                    + serviceInstanceId + "\", \"vnfHostname\" : \"" + vnfHostname + "\", \"cloudOwner\" : \""
+                    + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli
+                    + "\", \"aicVersion\" : \"" + aicVersion + "\", \"license\" : { }, \"rehome\" : false } }";
+        } else {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"serviceInstanceId\" : \""
+                    + serviceInstanceId + "\", \"vnfHostname\" : \"" + vnfHostname + "\", \"cloudOwner\" : \""
+                    + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli
+                    + "\", \"aicVersion\" : \"" + aicVersion + "\", \"license\" : { \"entitlementPoolList\" : [ "
+                    + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] }, \"rehome\" : false } }";
+        }
+        return solution;
+    }
 
-	private String homingSolutionCloud(String type, String serviceInstanceId, String vnfHostname, String cloudOwner, String cloudRegionId, String aicClli, String aicVersion, String enList, String licenseList){
-		String solution = "";
-		if(enList == null){
-			solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\", \"license\" : { }, \"rehome\" : false } }";
-		}else{
-			solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli + "\", \"aicVersion\" : \"" + aicVersion + "\", \"license\" : { \"entitlementPoolList\" : [ " + enList +  " ], \"licenseKeyGroupList\" : [ " + licenseList +  " ] }, \"rehome\" : false } }";
-		}
-		return solution;
-	}
+    private String homingSolutionCloud(String type, String serviceInstanceId, String vnfHostname, String cloudOwner,
+            String cloudRegionId, String aicClli, String aicVersion, String enList, String licenseList) {
+        String solution = "";
+        if (enList == null) {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli
+                    + "\", \"aicVersion\" : \"" + aicVersion + "\", \"license\" : { }, \"rehome\" : false } }";
+        } else {
+            solution = "{ \"homingSolution\" : { \"inventoryType\" : \"" + type + "\", \"cloudOwner\" : \"" + cloudOwner
+                    + "\", \"cloudRegionId\" : \"" + cloudRegionId + "\", \"aicClli\" : \"" + aicClli
+                    + "\", \"aicVersion\" : \"" + aicVersion + "\", \"license\" : { \"entitlementPoolList\" : [ "
+                    + enList + " ], \"licenseKeyGroupList\" : [ " + licenseList + " ] }, \"rehome\" : false } }";
+        }
+        return solution;
+    }
 
-	private void setVariablesForServiceDecomposition(Map<String, Object> variables, String requestId, String siId) {
-		variables.put("homingService", "sniro");
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("mso-request-id", requestId);
-		variables.put("msoRequestId", requestId);
-		variables.put("serviceInstanceId",siId);
+    private void setVariablesForServiceDecomposition(Map<String, Object> variables, String requestId, String siId) {
+        variables.put("homingService", "sniro");
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("mso-request-id", requestId);
+        variables.put("msoRequestId", requestId);
+        variables.put("serviceInstanceId", siId);
 
-		String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," +
-				"\"modelInvariantUuid\": \"1cc4e2e4-eb6e-404d-a66f-c8733cedcce8\"," +
-				"\"modelUuid\": \"2f7f309d-c842-4644-a2e4-34167be5eeb4\"," +
-				"\"modelName\": \"ADIOD vRouter vCE 011017 Service\"," +
-				"\"modelVersion\": \"5.0\"," +
-				"}";
-		variables.put("serviceModelInfo", serviceModelInfo);
-	}
+        String serviceModelInfo = "{ " + "\"modelType\": \"service\","
+                + "\"modelInvariantUuid\": \"1cc4e2e4-eb6e-404d-a66f-c8733cedcce8\","
+                + "\"modelUuid\": \"2f7f309d-c842-4644-a2e4-34167be5eeb4\","
+                + "\"modelName\": \"ADIOD vRouter vCE 011017 Service\"," + "\"modelVersion\": \"5.0\"," + "}";
+        variables.put("serviceModelInfo", serviceModelInfo);
+    }
 
-	private String verifySniroRequest(){
-		String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"requestType\":\"initial\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"}}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
-		return request;
-	}
+    private String verifySniroRequest() {
+        String request =
+                "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"requestType\":\"initial\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"}}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
+        return request;
+    }
 
-	private String verifySniroRequest_existingLicense(){
-		String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"requestType\":\"speedchanged\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"},\"existingLicense\":[{\"entitlementPoolUUID\":[\"testEntitlementPoolId1\",\"testEntitlementPoolId2\"],\"licenseKeyGroupUUID\":[\"testLicenseKeyGroupId1\",\"testLicenseKeyGroupId2\"]}]}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
-		return request;
-	}
+    private String verifySniroRequest_existingLicense() {
+        String request =
+                "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"requestType\":\"speedchanged\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"},\"existingLicense\":[{\"entitlementPoolUUID\":[\"testEntitlementPoolId1\",\"testEntitlementPoolId2\"],\"licenseKeyGroupUUID\":[\"testLicenseKeyGroupId1\",\"testLicenseKeyGroupId2\"]}]}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
+        return request;
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/UpdateAAIGenericVnfIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/UpdateAAIGenericVnfIT.java
index 5015a13..fc991bd 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/UpdateAAIGenericVnfIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/UpdateAAIGenericVnfIT.java
@@ -18,7 +18,7 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
@@ -28,12 +28,10 @@
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPatchGenericVnf;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutGenericVnf;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutGenericVnf_Bad;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Assert;
 import org.junit.Ignore;
@@ -49,129 +47,134 @@
  */
 
 public class UpdateAAIGenericVnfIT extends BaseIntegrationTest {
-	
-	Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleIT.class);
-	
-		
-	/**
-	 * Test the happy path through the flow.
-	 */
-	@Test	
-	
-	public void happyPath() throws IOException {
-		logStart();
-		
-		String updateAAIGenericVnfRequest =	FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); 
-		MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
-		MockPutGenericVnf(wireMockServer, "/skask", 200);
-		MockPatchGenericVnf(wireMockServer, "skask");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
-		invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(200, responseCode.intValue());
-		
-		logEnd();
-	}
 
-	/**
-	 * Test the happy path through the flow.
-	 */
-	@Test	
-	
-	public void personaMismatch() throws IOException {
-		
-		logStart();
-		
-		String updateAAIGenericVnfRequest =	FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); 
-		updateAAIGenericVnfRequest = updateAAIGenericVnfRequest.replaceFirst("introvert", "extrovert");
-		
-		MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
-		invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		WorkflowException workflowException = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		logger.debug("Workflow Exception: {}", workflowException);
-		Assert.assertNotNull(workflowException);
-		
-		logEnd();
-	}
+    Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleIT.class);
 
-	/**
-	 * Test the case where the GET to AAI returns a 404.
-	 */
-	@Test	
-	
-	public void badGet() throws IOException {
-		
-		logStart();
-		
-		String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); 
-		
-		MockGetGenericVnfById_404(wireMockServer, "skask[?]depth=1");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
-		invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_getGenericVnfResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_getGenericVnfResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(404, responseCode.intValue());
-		
-		logEnd();
-	}
 
-	/**
-	 * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404.
-	 */
-	@Test	
-	
-	public void badPatch() throws IOException {
-		
-		logStart();
-		
-		String updateAAIGenericVnfRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml"); 
-		
-		MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
-		MockPutGenericVnf_Bad(wireMockServer, "skask", 404);
-		MockAAIVfModuleBadPatch(wireMockServer, "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask", 404);
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
-		invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(404, responseCode.intValue());
-		
-		logEnd();
-	}
+    /**
+     * Test the happy path through the flow.
+     */
+    @Test
+
+    public void happyPath() throws IOException {
+        logStart();
+
+        String updateAAIGenericVnfRequest =
+                FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml");
+        MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
+        MockPutGenericVnf(wireMockServer, "/skask", 200);
+        MockPatchGenericVnf(wireMockServer, "skask");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
+        invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(200, responseCode.intValue());
+
+        logEnd();
+    }
+
+    /**
+     * Test the happy path through the flow.
+     */
+    @Test
+
+    public void personaMismatch() throws IOException {
+
+        logStart();
+
+        String updateAAIGenericVnfRequest =
+                FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml");
+        updateAAIGenericVnfRequest = updateAAIGenericVnfRequest.replaceFirst("introvert", "extrovert");
+
+        MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
+        invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        WorkflowException workflowException =
+                (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        logger.debug("Workflow Exception: {}", workflowException);
+        Assert.assertNotNull(workflowException);
+
+        logEnd();
+    }
+
+    /**
+     * Test the case where the GET to AAI returns a 404.
+     */
+    @Test
+
+    public void badGet() throws IOException {
+
+        logStart();
+
+        String updateAAIGenericVnfRequest =
+                FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml");
+
+        MockGetGenericVnfById_404(wireMockServer, "skask[?]depth=1");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
+        invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_getGenericVnfResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_getGenericVnfResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(404, responseCode.intValue());
+
+        logEnd();
+    }
+
+    /**
+     * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404.
+     */
+    @Test
+
+    public void badPatch() throws IOException {
+
+        logStart();
+
+        String updateAAIGenericVnfRequest =
+                FileUtil.readResourceFile("__files/VfModularity/UpdateAAIGenericVnfRequest.xml");
+
+        MockGetGenericVnfByIdWithDepth(wireMockServer, "skask", 1, "VfModularity/GenericVnf.xml");
+        MockPutGenericVnf_Bad(wireMockServer, "skask", 404);
+        MockAAIVfModuleBadPatch(wireMockServer, "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask", 404);
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("UpdateAAIGenericVnfRequest", updateAAIGenericVnfRequest);
+        invokeSubProcess("UpdateAAIGenericVnf", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIGenVnf_updateGenericVnfResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(404, responseCode.intValue());
+
+        logEnd();
+    }
 }
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/UpdateAAIVfModuleIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/UpdateAAIVfModuleIT.java
index 0a3931a..ebf8799 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/UpdateAAIVfModuleIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/UpdateAAIVfModuleIT.java
@@ -18,7 +18,7 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
@@ -28,12 +28,10 @@
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetGenericVnfById_404;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutGenericVnf;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Assert;
 import org.junit.Ignore;
@@ -48,98 +46,105 @@
  */
 
 public class UpdateAAIVfModuleIT extends BaseIntegrationTest {
-	
-	Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleIT.class);
-	
-		
-	/**
-	 * Test the happy path through the flow.
-	 */
-	@Test	
-	
-	public void happyPath() throws IOException {
-		logStart();
-		
-		String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml"); 
-		MockGetGenericVnfByIdWithPriority(wireMockServer, "/skask/vf-modules/vf-module/supercool", 200, "VfModularity/VfModule-supercool.xml");
-		MockPutGenericVnf(wireMockServer, "/skask/vf-modules/vf-module/supercool", "PCRF", 200);
-		MockPatchVfModuleId(wireMockServer, "skask", "supercool");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest);
-		invokeSubProcess("UpdateAAIVfModule", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(200, responseCode.intValue());
-		
-		logEnd();
-	}
 
-	/**
-	 * Test the case where the GET to AAI returns a 404.
-	 */
-	@Test	
-	
-	public void badGet() throws IOException {
-		
-		logStart();
-		
-		String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml"); 
-		MockGetGenericVnfById(wireMockServer, "/skask/vf-modules/vf-module/.*", "VfModularity/VfModule-supercool.xml", 404);
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest);
-		invokeSubProcess("UpdateAAIVfModule", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_getVfModuleResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_getVfModuleResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(404, responseCode.intValue());
-		
-		logEnd();
-	}
+    Logger logger = LoggerFactory.getLogger(CreateAAIVfModuleIT.class);
 
-	/**
-	 * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404.
-	 */
-	@Test	
-	
-	public void badPatch() throws IOException {
-		
-		logStart();
-		
-		String updateAAIVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml"); 
-		MockGetGenericVnfById_404(wireMockServer, "/skask/vf-modules/vf-module/supercool");
-		MockGetGenericVnfById(wireMockServer, "/skask/vf-modules/vf-module/supercool", "VfModularity/VfModule-supercool.xml", 200);
-		MockAAIVfModuleBadPatch(wireMockServer, "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404);
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("isDebugLogEnabled","true");
-		variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest);
-		invokeSubProcess("UpdateAAIVfModule", businessKey, variables);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponse");
-		Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponseCode");
-		logger.debug("Subflow response code: {}", responseCode);
-		logger.debug("Subflow response: {}", response);
-		Assert.assertEquals(404, responseCode.intValue());
-		
-		logEnd();
-	}
+
+    /**
+     * Test the happy path through the flow.
+     */
+    @Test
+
+    public void happyPath() throws IOException {
+        logStart();
+
+        String updateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml");
+        MockGetGenericVnfByIdWithPriority(wireMockServer, "/skask/vf-modules/vf-module/supercool", 200,
+                "VfModularity/VfModule-supercool.xml");
+        MockPutGenericVnf(wireMockServer, "/skask/vf-modules/vf-module/supercool", "PCRF", 200);
+        MockPatchVfModuleId(wireMockServer, "skask", "supercool");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest);
+        invokeSubProcess("UpdateAAIVfModule", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(200, responseCode.intValue());
+
+        logEnd();
+    }
+
+    /**
+     * Test the case where the GET to AAI returns a 404.
+     */
+    @Test
+
+    public void badGet() throws IOException {
+
+        logStart();
+
+        String updateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml");
+        MockGetGenericVnfById(wireMockServer, "/skask/vf-modules/vf-module/.*", "VfModularity/VfModule-supercool.xml",
+                404);
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest);
+        invokeSubProcess("UpdateAAIVfModule", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_getVfModuleResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_getVfModuleResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(404, responseCode.intValue());
+
+        logEnd();
+    }
+
+    /**
+     * Test the case where the GET to AAI is successful, but he subsequent PUT returns 404.
+     */
+    @Test
+
+    public void badPatch() throws IOException {
+
+        logStart();
+
+        String updateAAIVfModuleRequest =
+                FileUtil.readResourceFile("__files/VfModularity/UpdateAAIVfModuleRequest.xml");
+        MockGetGenericVnfById_404(wireMockServer, "/skask/vf-modules/vf-module/supercool");
+        MockGetGenericVnfById(wireMockServer, "/skask/vf-modules/vf-module/supercool",
+                "VfModularity/VfModule-supercool.xml", 200);
+        MockAAIVfModuleBadPatch(wireMockServer,
+                "/aai/v[0-9]+/network/generic-vnfs/generic-vnf/skask/vf-modules/vf-module/supercool", 404);
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("UpdateAAIVfModuleRequest", updateAAIVfModuleRequest);
+        invokeSubProcess("UpdateAAIVfModule", businessKey, variables);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String response = (String) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponse");
+        Integer responseCode = (Integer) getVariableFromHistory(businessKey, "UAAIVfMod_updateVfModuleResponseCode");
+        logger.debug("Subflow response code: {}", responseCode);
+        logger.debug("Subflow response: {}", response);
+        Assert.assertEquals(404, responseCode.intValue());
+
+        logEnd();
+    }
 }
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/VnfAdapterRestV1IT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/VnfAdapterRestV1IT.java
index c0482a5..0cefdca 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/VnfAdapterRestV1IT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/VnfAdapterRestV1IT.java
@@ -18,7 +18,7 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
@@ -29,12 +29,10 @@
 import static org.onap.so.bpmn.mock.StubResponseVNFAdapter.mockVNFPost;
 import static org.onap.so.bpmn.mock.StubResponseVNFAdapter.mockVNFPut;
 import static org.onap.so.bpmn.mock.StubResponseVNFAdapter.mockVNFRollbackDelete;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -48,347 +46,261 @@
  */
 
 public class VnfAdapterRestV1IT extends BaseIntegrationTest {
-	
-	Logger logger = LoggerFactory.getLogger(VnfAdapterRestV1IT.class);
-	
 
-	private static final String EOL = "\n";
+    Logger logger = LoggerFactory.getLogger(VnfAdapterRestV1IT.class);
 
-	private final CallbackSet callbacks = new CallbackSet();
 
-	private final String CREATE_VF_MODULE_REQUEST =
-		"<createVfModuleRequest>" + EOL +
-		"  <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL +
-		"  <cloudOwner>cloudOwner</cloudOwner>" + EOL +
-		"  <tenantId>tenantId</tenantId>" + EOL +
-		"  <vnfId>vnfId</vnfId>" + EOL +
-		"  <vfModuleName>vfModuleName</vfModuleName>" + EOL +
-		"  <vfModuleId>vfModuleId</vfModuleId>" + EOL +
-		"  <vnfType>vnfType</vnfType>" + EOL +
-		"  <vnfVersion>vnfVersion</vnfVersion>" + EOL +
-		"  <vfModuleType>vfModuleType</vfModuleType>" + EOL +
-		"  <volumeGroupId>volumeGroupId</volumeGroupId>" + EOL +
-		"  <volumeGroupStackId>volumeGroupStackId</volumeGroupStackId>" + EOL +
-		"  <baseVfModuleId>baseVfModuleId</baseVfModuleId>" + EOL +
-		"  <baseVfModuleStackId>baseVfModuleStackId</baseVfModuleStackId>" + EOL +
-		"  <skipAAI>true</skipAAI>" + EOL +
-		"  <backout>false</backout>" + EOL +
-		"  <failIfExists>true</failIfExists>" + EOL +
-		"  <vfModuleParams>" + EOL +
-		"    <entry>" + EOL +
-		"      <key>key1</key>" + EOL +
-		"      <value>value1</value>" + EOL +
-		"    </entry>" + EOL +
-		"    <entry>" + EOL +
-		"      <key>key2</key>" + EOL +
-		"      <value>value2</value>" + EOL +
-		"    </entry>" + EOL +
-		"  </vfModuleParams>" + EOL +
-		"  <msoRequest>" + EOL +
-		"    <requestId>requestId</requestId>" + EOL +
-		"    <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL +
-		"  </msoRequest>" + EOL +
-		"  <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-		"  <notificationUrl>http://localhost:28080/mso/WorkflowMessage</notificationUrl>" + EOL +
-		"</createVfModuleRequest>" + EOL;
+    private static final String EOL = "\n";
 
-	private final String UPDATE_VF_MODULE_REQUEST =
-		"<updateVfModuleRequest>" + EOL +
-		"  <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL +
-		"  <cloudOwner>cloudOwner</cloudOwner>" + EOL +
-		"  <tenantId>tenantId</tenantId>" + EOL +
-		"  <vnfId>vnfId</vnfId>" + EOL +
-		"  <vfModuleName>vfModuleName</vfModuleName>" + EOL +
-		"  <vfModuleId>vfModuleId</vfModuleId>" + EOL +
-		"  <vfModuleStackId>vfModuleStackId</vfModuleStackId>" + EOL +
-		"  <vnfType>vnfType</vnfType>" + EOL +
-		"  <vnfVersion>vnfVersion</vnfVersion>" + EOL +
-		"  <vfModuleType>vfModuleType</vfModuleType>" + EOL +
-		"  <volumeGroupId>volumeGroupId</volumeGroupId>" + EOL +
-		"  <volumeGroupStackId>volumeGroupStackId</volumeGroupStackId>" + EOL +
-		"  <baseVfModuleId>baseVfModuleId</baseVfModuleId>" + EOL +
-		"  <baseVfModuleStackId>baseVfModuleStackId</baseVfModuleStackId>" + EOL +
-		"  <skipAAI>true</skipAAI>" + EOL +
-		"  <backout>false</backout>" + EOL +
-		"  <failIfExists>true</failIfExists>" + EOL +
-		"  <vfModuleParams>" + EOL +
-		"    <entry>" + EOL +
-		"      <key>key1</key>" + EOL +
-		"      <value>value1</value>" + EOL +
-		"    </entry>" + EOL +
-		"    <entry>" + EOL +
-		"      <key>key2</key>" + EOL +
-		"      <value>value2</value>" + EOL +
-		"    </entry>" + EOL +
-		"  </vfModuleParams>" + EOL +
-		"  <msoRequest>" + EOL +
-		"    <requestId>requestId</requestId>" + EOL +
-		"    <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL +
-		"  </msoRequest>" + EOL +
-		"  <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-		"  <notificationUrl>http://localhost:28080/mso/WorkflowMessage</notificationUrl>" + EOL +
-		"</updateVfModuleRequest>" + EOL;
+    private final CallbackSet callbacks = new CallbackSet();
 
-	private final String DELETE_VF_MODULE_REQUEST =
-		"<deleteVfModuleRequest>" + EOL +
-		"  <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL +
-		"  <cloudOwner>cloudOwner</cloudOwner>" + EOL +
-		"  <tenantId>tenantId</tenantId>" + EOL +
-		"  <vnfId>vnfId</vnfId>" + EOL +
-		"  <vfModuleId>vfModuleId</vfModuleId>" + EOL +
-		"  <vfModuleStackId>vfModuleStackId</vfModuleStackId>" + EOL +
-		"  <skipAAI>true</skipAAI>" + EOL +
-		"  <msoRequest>" + EOL +
-		"    <requestId>requestId</requestId>" + EOL +
-		"    <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL +
-		"  </msoRequest>" + EOL +
-		"  <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-		"  <notificationUrl>http://localhost:28080/mso/WorkflowMessage</notificationUrl>" + EOL +
-		"</deleteVfModuleRequest>" + EOL;
+    private final String CREATE_VF_MODULE_REQUEST = "<createVfModuleRequest>" + EOL
+            + "  <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL + "  <cloudOwner>cloudOwner</cloudOwner>" + EOL
+            + "  <tenantId>tenantId</tenantId>" + EOL + "  <vnfId>vnfId</vnfId>" + EOL
+            + "  <vfModuleName>vfModuleName</vfModuleName>" + EOL + "  <vfModuleId>vfModuleId</vfModuleId>" + EOL
+            + "  <vnfType>vnfType</vnfType>" + EOL + "  <vnfVersion>vnfVersion</vnfVersion>" + EOL
+            + "  <vfModuleType>vfModuleType</vfModuleType>" + EOL + "  <volumeGroupId>volumeGroupId</volumeGroupId>"
+            + EOL + "  <volumeGroupStackId>volumeGroupStackId</volumeGroupStackId>" + EOL
+            + "  <baseVfModuleId>baseVfModuleId</baseVfModuleId>" + EOL
+            + "  <baseVfModuleStackId>baseVfModuleStackId</baseVfModuleStackId>" + EOL + "  <skipAAI>true</skipAAI>"
+            + EOL + "  <backout>false</backout>" + EOL + "  <failIfExists>true</failIfExists>" + EOL
+            + "  <vfModuleParams>" + EOL + "    <entry>" + EOL + "      <key>key1</key>" + EOL
+            + "      <value>value1</value>" + EOL + "    </entry>" + EOL + "    <entry>" + EOL + "      <key>key2</key>"
+            + EOL + "      <value>value2</value>" + EOL + "    </entry>" + EOL + "  </vfModuleParams>" + EOL
+            + "  <msoRequest>" + EOL + "    <requestId>requestId</requestId>" + EOL
+            + "    <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL + "  </msoRequest>" + EOL
+            + "  <messageId>{{MESSAGE-ID}}</messageId>" + EOL
+            + "  <notificationUrl>http://localhost:28080/mso/WorkflowMessage</notificationUrl>" + EOL
+            + "</createVfModuleRequest>" + EOL;
 
-	private final String ROLLBACK_VF_MODULE_REQUEST =
-			"<rollbackVfModuleRequest>" + EOL +
-			"  <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-			"  <notificationUrl>http://localhost:28080/mso/WorkflowMessage</notificationUrl>" + EOL +
-			"  <skipAAI>true</skipAAI>" + EOL +
-			"  <vfModuleRollback>" + EOL +
-			"    <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL +
-		    "    <cloudOwner>cloudOwner</cloudOwner>" + EOL +
-			"    <tenantId>tenantId</tenantId>" + EOL +
-			"    <vnfId>vnfId</vnfId>" + EOL +
-			"    <vfModuleId>vfModuleId</vfModuleId>" + EOL +
-			"    <vfModuleStackId>vfModuleStackId</vfModuleStackId>" + EOL +
-			"    <msoRequest>" + EOL +
-			"      <requestId>requestId</requestId>" + EOL +
-			"      <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL +
-			"    </msoRequest>" + EOL +
-			"    <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-			"    <vfModuleCreated>true</vfModuleCreated>" + EOL +
-			"  </vfModuleRollback>" + EOL +
-			"</rollbackVfModuleRequest>" + EOL;
+    private final String UPDATE_VF_MODULE_REQUEST = "<updateVfModuleRequest>" + EOL
+            + "  <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL + "  <cloudOwner>cloudOwner</cloudOwner>" + EOL
+            + "  <tenantId>tenantId</tenantId>" + EOL + "  <vnfId>vnfId</vnfId>" + EOL
+            + "  <vfModuleName>vfModuleName</vfModuleName>" + EOL + "  <vfModuleId>vfModuleId</vfModuleId>" + EOL
+            + "  <vfModuleStackId>vfModuleStackId</vfModuleStackId>" + EOL + "  <vnfType>vnfType</vnfType>" + EOL
+            + "  <vnfVersion>vnfVersion</vnfVersion>" + EOL + "  <vfModuleType>vfModuleType</vfModuleType>" + EOL
+            + "  <volumeGroupId>volumeGroupId</volumeGroupId>" + EOL
+            + "  <volumeGroupStackId>volumeGroupStackId</volumeGroupStackId>" + EOL
+            + "  <baseVfModuleId>baseVfModuleId</baseVfModuleId>" + EOL
+            + "  <baseVfModuleStackId>baseVfModuleStackId</baseVfModuleStackId>" + EOL + "  <skipAAI>true</skipAAI>"
+            + EOL + "  <backout>false</backout>" + EOL + "  <failIfExists>true</failIfExists>" + EOL
+            + "  <vfModuleParams>" + EOL + "    <entry>" + EOL + "      <key>key1</key>" + EOL
+            + "      <value>value1</value>" + EOL + "    </entry>" + EOL + "    <entry>" + EOL + "      <key>key2</key>"
+            + EOL + "      <value>value2</value>" + EOL + "    </entry>" + EOL + "  </vfModuleParams>" + EOL
+            + "  <msoRequest>" + EOL + "    <requestId>requestId</requestId>" + EOL
+            + "    <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL + "  </msoRequest>" + EOL
+            + "  <messageId>{{MESSAGE-ID}}</messageId>" + EOL
+            + "  <notificationUrl>http://localhost:28080/mso/WorkflowMessage</notificationUrl>" + EOL
+            + "</updateVfModuleRequest>" + EOL;
 
-	public VnfAdapterRestV1IT() throws IOException {
-		callbacks.put("createVfModule",
-			"<createVfModuleResponse>" + EOL +
-			"  <vnfId>vnfId</vnfId>" + EOL +
-			"  <vfModuleId>vfModuleId</vfModuleId>" + EOL +
-			"  <vfModuleStackId>vfModuleStackId</vfModuleStackId>" + EOL +
-			"  <vfModuleCreated>true</vfModuleCreated>" + EOL +
-			"  <vfModuleOutputs>" + EOL +
-			"    <entry>" + EOL +
-			"      <key>key1</key>" + EOL +
-			"      <value>value1</value>" + EOL +
-			"    </entry>" + EOL +
-			"    <entry>" + EOL +
-			"      <key>key2</key>" + EOL +
-			"      <value>value2</value>" + EOL +
-			"    </entry>" + EOL +
-			"  </vfModuleOutputs>" + EOL +
-			"  <rollback>" + EOL +
-			"    <vnfId>vnfId</vnfId>" + EOL +
-			"    <vfModuleId>vfModuleId</vfModuleId>" + EOL +
-			"    <vfModuleStackId>vfModuleStackId</vfModuleStackId>" + EOL +
-			"    <vfModuleCreated>true</vfModuleCreated>" + EOL +
-			"    <tenantId>tenantId</tenantId>" + EOL +
-		    "    <cloudOwner>cloudOwner</cloudOwner>" + EOL +
-			"    <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL +
-			"    <msoRequest>" + EOL +
-			"      <requestId>requestId</requestId>" + EOL +
-			"      <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL +
-			"    </msoRequest>" + EOL +
-			"    <messageId>messageId</messageId>" + EOL +
-			"  </rollback>" + EOL +
-			"  <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-			"</createVfModuleResponse>" + EOL);
+    private final String DELETE_VF_MODULE_REQUEST = "<deleteVfModuleRequest>" + EOL
+            + "  <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL + "  <cloudOwner>cloudOwner</cloudOwner>" + EOL
+            + "  <tenantId>tenantId</tenantId>" + EOL + "  <vnfId>vnfId</vnfId>" + EOL
+            + "  <vfModuleId>vfModuleId</vfModuleId>" + EOL + "  <vfModuleStackId>vfModuleStackId</vfModuleStackId>"
+            + EOL + "  <skipAAI>true</skipAAI>" + EOL + "  <msoRequest>" + EOL + "    <requestId>requestId</requestId>"
+            + EOL + "    <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL + "  </msoRequest>" + EOL
+            + "  <messageId>{{MESSAGE-ID}}</messageId>" + EOL
+            + "  <notificationUrl>http://localhost:28080/mso/WorkflowMessage</notificationUrl>" + EOL
+            + "</deleteVfModuleRequest>" + EOL;
 
-		callbacks.put("updateVfModule",
-			"<updateVfModuleResponse>" + EOL +
-			"  <vnfId>vnfId</vnfId>" + EOL +
-			"  <vfModuleId>vfModuleId</vfModuleId>" + EOL +
-			"  <vfModuleStackId>vfModuleStackId</vfModuleStackId>" + EOL +
-			"  <vfModuleOutputs>" + EOL +
-			"    <entry>" + EOL +
-			"      <key>key1</key>" + EOL +
-			"      <value>value1</value>" + EOL +
-			"    </entry>" + EOL +
-			"    <entry>" + EOL +
-			"      <key>key2</key>" + EOL +
-			"      <value>value2</value>" + EOL +
-			"    </entry>" + EOL +
-			"  </vfModuleOutputs>" + EOL +
-			"  <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-			"</updateVfModuleResponse>" + EOL);
+    private final String ROLLBACK_VF_MODULE_REQUEST = "<rollbackVfModuleRequest>" + EOL
+            + "  <messageId>{{MESSAGE-ID}}</messageId>" + EOL
+            + "  <notificationUrl>http://localhost:28080/mso/WorkflowMessage</notificationUrl>" + EOL
+            + "  <skipAAI>true</skipAAI>" + EOL + "  <vfModuleRollback>" + EOL
+            + "    <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL + "    <cloudOwner>cloudOwner</cloudOwner>" + EOL
+            + "    <tenantId>tenantId</tenantId>" + EOL + "    <vnfId>vnfId</vnfId>" + EOL
+            + "    <vfModuleId>vfModuleId</vfModuleId>" + EOL + "    <vfModuleStackId>vfModuleStackId</vfModuleStackId>"
+            + EOL + "    <msoRequest>" + EOL + "      <requestId>requestId</requestId>" + EOL
+            + "      <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL + "    </msoRequest>" + EOL
+            + "    <messageId>{{MESSAGE-ID}}</messageId>" + EOL + "    <vfModuleCreated>true</vfModuleCreated>" + EOL
+            + "  </vfModuleRollback>" + EOL + "</rollbackVfModuleRequest>" + EOL;
 
-		callbacks.put("deleteVfModule",
-			"<deleteVfModuleResponse>" + EOL +
-			"  <vnfId>vnfId</vnfId>" + EOL +
-			"  <vfModuleId>vfModuleId</vfModuleId>" + EOL +
-			"  <vfModuleDeleted>true</vfModuleDeleted>" + EOL +
-			"  <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-			"</deleteVfModuleResponse>" + EOL);
+    public VnfAdapterRestV1IT() throws IOException {
+        callbacks.put("createVfModule", "<createVfModuleResponse>" + EOL + "  <vnfId>vnfId</vnfId>" + EOL
+                + "  <vfModuleId>vfModuleId</vfModuleId>" + EOL + "  <vfModuleStackId>vfModuleStackId</vfModuleStackId>"
+                + EOL + "  <vfModuleCreated>true</vfModuleCreated>" + EOL + "  <vfModuleOutputs>" + EOL + "    <entry>"
+                + EOL + "      <key>key1</key>" + EOL + "      <value>value1</value>" + EOL + "    </entry>" + EOL
+                + "    <entry>" + EOL + "      <key>key2</key>" + EOL + "      <value>value2</value>" + EOL
+                + "    </entry>" + EOL + "  </vfModuleOutputs>" + EOL + "  <rollback>" + EOL
+                + "    <vnfId>vnfId</vnfId>" + EOL + "    <vfModuleId>vfModuleId</vfModuleId>" + EOL
+                + "    <vfModuleStackId>vfModuleStackId</vfModuleStackId>" + EOL
+                + "    <vfModuleCreated>true</vfModuleCreated>" + EOL + "    <tenantId>tenantId</tenantId>" + EOL
+                + "    <cloudOwner>cloudOwner</cloudOwner>" + EOL + "    <cloudSiteId>cloudSiteId</cloudSiteId>" + EOL
+                + "    <msoRequest>" + EOL + "      <requestId>requestId</requestId>" + EOL
+                + "      <serviceInstanceId>serviceInstanceId</serviceInstanceId>" + EOL + "    </msoRequest>" + EOL
+                + "    <messageId>messageId</messageId>" + EOL + "  </rollback>" + EOL
+                + "  <messageId>{{MESSAGE-ID}}</messageId>" + EOL + "</createVfModuleResponse>" + EOL);
 
-		callbacks.put("rollbackVfModule",
-			"<rollbackVfModuleResponse>" + EOL +
-			"  <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-			"  <vfModuleRolledback>true</vfModuleRolledback>" + EOL +
-			"</rollbackVfModuleResponse>" + EOL);
+        callbacks.put("updateVfModule",
+                "<updateVfModuleResponse>" + EOL + "  <vnfId>vnfId</vnfId>" + EOL
+                        + "  <vfModuleId>vfModuleId</vfModuleId>" + EOL
+                        + "  <vfModuleStackId>vfModuleStackId</vfModuleStackId>" + EOL + "  <vfModuleOutputs>" + EOL
+                        + "    <entry>" + EOL + "      <key>key1</key>" + EOL + "      <value>value1</value>" + EOL
+                        + "    </entry>" + EOL + "    <entry>" + EOL + "      <key>key2</key>" + EOL
+                        + "      <value>value2</value>" + EOL + "    </entry>" + EOL + "  </vfModuleOutputs>" + EOL
+                        + "  <messageId>{{MESSAGE-ID}}</messageId>" + EOL + "</updateVfModuleResponse>" + EOL);
 
-		callbacks.put("vfModuleException",
-			"<vfModuleException>" + EOL +
-			"  <message>message</message>" + EOL +
-			"  <category>category</category>" + EOL +
-			"  <rolledBack>false</rolledBack>" + EOL +
-			"  <messageId>{{MESSAGE-ID}}</messageId>" + EOL +
-			"</vfModuleException>" + EOL);
-	}
+        callbacks.put("deleteVfModule",
+                "<deleteVfModuleResponse>" + EOL + "  <vnfId>vnfId</vnfId>" + EOL
+                        + "  <vfModuleId>vfModuleId</vfModuleId>" + EOL + "  <vfModuleDeleted>true</vfModuleDeleted>"
+                        + EOL + "  <messageId>{{MESSAGE-ID}}</messageId>" + EOL + "</deleteVfModuleResponse>" + EOL);
 
-	@Test
-	
-	public void testCreateVfModuleSuccess() throws Exception {
-		logStart();
+        callbacks.put("rollbackVfModule", "<rollbackVfModuleResponse>" + EOL + "  <messageId>{{MESSAGE-ID}}</messageId>"
+                + EOL + "  <vfModuleRolledback>true</vfModuleRolledback>" + EOL + "</rollbackVfModuleResponse>" + EOL);
 
-		mockVNFPost(wireMockServer, "", 202, "vnfId");
+        callbacks.put("vfModuleException",
+                "<vfModuleException>" + EOL + "  <message>message</message>" + EOL + "  <category>category</category>"
+                        + EOL + "  <rolledBack>false</rolledBack>" + EOL + "  <messageId>{{MESSAGE-ID}}</messageId>"
+                        + EOL + "</vfModuleException>" + EOL);
+    }
 
-		String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
-		String messageId = requestId + "-" + System.currentTimeMillis();
-		String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
+    @Test
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", requestId);
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("vnfAdapterRestV1Request", request);
+    public void testCreateVfModuleSuccess() throws Exception {
+        logStart();
 
-		invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
-		injectVNFRestCallbacks(callbacks, "createVfModule");
-		waitForProcessEnd(businessKey, 10000);
+        mockVNFPost(wireMockServer, "", 202, "vnfId");
 
-		String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response");
-		logger.debug("Response:\n{}", response);
-		assertTrue(response!=null && response.contains("<createVfModuleResponse>"));
-		assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
+        String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
+        String messageId = requestId + "-" + System.currentTimeMillis();
+        String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
 
-		logEnd();
-	}
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", requestId);
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("vnfAdapterRestV1Request", request);
 
-	@Test
-	
-	public void testUpdateVfModuleSuccess() throws Exception {
-		logStart();
+        invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
+        injectVNFRestCallbacks(callbacks, "createVfModule");
+        waitForProcessEnd(businessKey, 10000);
 
-		mockVNFPut(wireMockServer, "/vfModuleId", 202);
+        String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response");
+        logger.debug("Response:\n{}", response);
+        assertTrue(response != null && response.contains("<createVfModuleResponse>"));
+        assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
 
-		String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
-		String messageId = requestId + "-" + System.currentTimeMillis();
-		String request = UPDATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
+        logEnd();
+    }
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", requestId);
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("vnfAdapterRestV1Request", request);
+    @Test
 
-		invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
-		injectVNFRestCallbacks(callbacks, "updateVfModule");
-		waitForProcessEnd(businessKey, 10000);
+    public void testUpdateVfModuleSuccess() throws Exception {
+        logStart();
 
-		String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response");
-		logger.debug("Response:\n{}", response);
-		assertTrue(response.contains("<updateVfModuleResponse>"));
-		assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
+        mockVNFPut(wireMockServer, "/vfModuleId", 202);
 
-		logEnd();
-	}
+        String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
+        String messageId = requestId + "-" + System.currentTimeMillis();
+        String request = UPDATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
 
-	@Test
-	
-	public void testDeleteVfModuleSuccess() throws Exception {
-		logStart();
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", requestId);
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("vnfAdapterRestV1Request", request);
 
-		mockVNFDelete(wireMockServer, "vnfId", "/vfModuleId", 202);
+        invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
+        injectVNFRestCallbacks(callbacks, "updateVfModule");
+        waitForProcessEnd(businessKey, 10000);
 
-		String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
-		String messageId = requestId + "-" + System.currentTimeMillis();
-		String request = DELETE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
+        String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response");
+        logger.debug("Response:\n{}", response);
+        assertTrue(response.contains("<updateVfModuleResponse>"));
+        assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", requestId);
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("vnfAdapterRestV1Request", request);
+        logEnd();
+    }
 
-		invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
-		injectVNFRestCallbacks(callbacks, "deleteVfModule");
-		waitForProcessEnd(businessKey, 10000);
+    @Test
 
-		String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response");
-		logger.debug("Response:\n{}", response);
-		assertTrue(response.contains("<deleteVfModuleResponse>"));
-		assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
+    public void testDeleteVfModuleSuccess() throws Exception {
+        logStart();
 
-		logEnd();
-	}
+        mockVNFDelete(wireMockServer, "vnfId", "/vfModuleId", 202);
 
-	@Test
-	
-	public void testRollbackVfModuleSuccess() throws Exception {
-		logStart();
+        String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
+        String messageId = requestId + "-" + System.currentTimeMillis();
+        String request = DELETE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
 
-		mockVNFRollbackDelete(wireMockServer, "/vfModuleId", 202);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", requestId);
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("vnfAdapterRestV1Request", request);
 
-		String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
-		String messageId = requestId + "-" + System.currentTimeMillis();
-		String request = ROLLBACK_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
+        invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
+        injectVNFRestCallbacks(callbacks, "deleteVfModule");
+        waitForProcessEnd(businessKey, 10000);
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", requestId);
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("vnfAdapterRestV1Request", request);
+        String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response");
+        logger.debug("Response:\n{}", response);
+        assertTrue(response.contains("<deleteVfModuleResponse>"));
+        assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
 
-		invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
-		injectVNFRestCallbacks(callbacks, "rollbackVfModule");
-		waitForProcessEnd(businessKey, 10000);
+        logEnd();
+    }
 
-		String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response");
-		logger.debug("Response:\n{}", response);
-		assertTrue(response.contains("<rollbackVfModuleResponse>"));
-		assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
+    @Test
 
-		logEnd();
-	}
+    public void testRollbackVfModuleSuccess() throws Exception {
+        logStart();
 
-	@Test
-	
-	public void testCreateVfModuleException() throws Exception {
-		logStart();
+        mockVNFRollbackDelete(wireMockServer, "/vfModuleId", 202);
 
-		mockVNFPost(wireMockServer, "", 202, "vnfId");
+        String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
+        String messageId = requestId + "-" + System.currentTimeMillis();
+        String request = ROLLBACK_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
 
-		String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
-		String messageId = requestId + "-" + System.currentTimeMillis();
-		String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", requestId);
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("vnfAdapterRestV1Request", request);
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("mso-request-id", requestId);
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("vnfAdapterRestV1Request", request);
+        invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
+        injectVNFRestCallbacks(callbacks, "rollbackVfModule");
+        waitForProcessEnd(businessKey, 10000);
 
-		invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
-		injectVNFRestCallbacks(callbacks, "vfModuleException");
-		waitForProcessEnd(businessKey, 10000);
+        String response = (String) getVariableFromHistory(businessKey, "vnfAdapterRestV1Response");
+        logger.debug("Response:\n{}", response);
+        assertTrue(response.contains("<rollbackVfModuleResponse>"));
+        assertTrue((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
 
-		WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
-		assertNotNull(wfe);
-		logger.debug(wfe.toString());
+        logEnd();
+    }
 
-		String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse");
-		logger.debug("Response:\n{}", response);
-		assertTrue(response.contains("<vfModuleException>"));
-		assertFalse((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
+    @Test
 
-		logEnd();
-	}
+    public void testCreateVfModuleException() throws Exception {
+        logStart();
+
+        mockVNFPost(wireMockServer, "", 202, "vnfId");
+
+        String requestId = "dffbae0e-5588-4bd6-9749-b0f0adb52312";
+        String messageId = requestId + "-" + System.currentTimeMillis();
+        String request = CREATE_VF_MODULE_REQUEST.replace("{{MESSAGE-ID}}", messageId);
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("mso-request-id", requestId);
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("vnfAdapterRestV1Request", request);
+
+        invokeSubProcess("vnfAdapterRestV1", businessKey, variables);
+        injectVNFRestCallbacks(callbacks, "vfModuleException");
+        waitForProcessEnd(businessKey, 10000);
+
+        WorkflowException wfe = (WorkflowException) getVariableFromHistory(businessKey, "WorkflowException");
+        assertNotNull(wfe);
+        logger.debug(wfe.toString());
+
+        String response = (String) getVariableFromHistory(businessKey, "WorkflowResponse");
+        logger.debug("Response:\n{}", response);
+        assertTrue(response.contains("<vfModuleException>"));
+        assertFalse((boolean) getVariableFromHistory(businessKey, "VNFREST_SuccessIndicator"));
+
+        logEnd();
+    }
 }
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowAsyncResourceTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowAsyncResourceTest.java
index a746bbb..cc2d6ab 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowAsyncResourceTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowAsyncResourceTest.java
@@ -16,16 +16,14 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
 import static org.junit.Assert.assertEquals;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.camunda.bpm.engine.variable.impl.VariableMapImpl;
 import org.junit.Ignore;
@@ -36,49 +34,53 @@
 @Ignore
 public class WorkflowAsyncResourceTest extends WorkflowTest {
 
-	@Test
-	@Deployment(resources = { "testAsyncResource.bpmn" })
-	public void asyncRequestSuccess() throws InterruptedException {
-		//it can be any request which asynchronously processed by the workflow
-		String request = "<aetgt:CreateTenantRequest xmlns:aetgt=\"http://org.onap/so/workflow/schema/v1\" xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns5=\"http://org.onap/so/request/types/v1\">  <msoservtypes:service-information xmlns:msoservtypes=\"http://org.onap/so/request/types/v1\">    <msoservtypes:service-type>SDN-ETHERNET-INTERNET</msoservtypes:service-type>    <msoservtypes:service-instance-id>HI/VLXM/950604//SW_INTERNET</msoservtypes:service-instance-id>    <msoservtypes:subscriber-name>SubName01</msoservtypes:subscriber-name> </msoservtypes:service-information> </aetgt:CreateTenantRequest>";
+    @Test
+    @Deployment(resources = {"testAsyncResource.bpmn"})
+    public void asyncRequestSuccess() throws InterruptedException {
+        // it can be any request which asynchronously processed by the workflow
+        String request =
+                "<aetgt:CreateTenantRequest xmlns:aetgt=\"http://org.onap/so/workflow/schema/v1\" xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns5=\"http://org.onap/so/request/types/v1\">  <msoservtypes:service-information xmlns:msoservtypes=\"http://org.onap/so/request/types/v1\">    <msoservtypes:service-type>SDN-ETHERNET-INTERNET</msoservtypes:service-type>    <msoservtypes:service-instance-id>HI/VLXM/950604//SW_INTERNET</msoservtypes:service-instance-id>    <msoservtypes:subscriber-name>SubName01</msoservtypes:subscriber-name> </msoservtypes:service-information> </aetgt:CreateTenantRequest>";
 
-		Map<String,String> variables = new HashMap<>();
-		variables.put("testAsyncRequestMsg", request);
-		variables.put("mso-request-id", UUID.randomUUID().toString());
-		variables.put("mso-service-request-timeout", "5");
-		
-		WorkflowResponse workflowResponse = BPMNUtil.executeAsyncWorkflow(processEngineRule, "testAsyncProcess", variables);
-		assertEquals("Received the request, the process is getting executed, request message<aetgt:CreateTenantRequest xmlns:aetgt=\"http://org.onap/so/workflow/schema/v1\" xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns5=\"http://org.onap/so/request/types/v1\">  <msoservtypes:service-information xmlns:msoservtypes=\"http://org.onap/so/request/types/v1\">    <msoservtypes:service-type>SDN-ETHERNET-INTERNET</msoservtypes:service-type>    <msoservtypes:service-instance-id>HI/VLXM/950604//SW_INTERNET</msoservtypes:service-instance-id>    <msoservtypes:subscriber-name>SubName01</msoservtypes:subscriber-name> </msoservtypes:service-information> </aetgt:CreateTenantRequest>", workflowResponse.getResponse());
-		assertEquals(200, workflowResponse.getMessageCode());
-	}
+        Map<String, String> variables = new HashMap<>();
+        variables.put("testAsyncRequestMsg", request);
+        variables.put("mso-request-id", UUID.randomUUID().toString());
+        variables.put("mso-service-request-timeout", "5");
 
-	private void executeWorkflow(String request, String requestId, String processKey) throws InterruptedException {
-		WorkflowAsyncResource workflowResource = new WorkflowAsyncResource();
-		VariableMapImpl variableMap = new VariableMapImpl();
+        WorkflowResponse workflowResponse =
+                BPMNUtil.executeAsyncWorkflow(processEngineRule, "testAsyncProcess", variables);
+        assertEquals(
+                "Received the request, the process is getting executed, request message<aetgt:CreateTenantRequest xmlns:aetgt=\"http://org.onap/so/workflow/schema/v1\" xmlns:sdncadapterworkflow=\"http://org.onap/so/workflow/schema/v1\" xmlns:ns5=\"http://org.onap/so/request/types/v1\">  <msoservtypes:service-information xmlns:msoservtypes=\"http://org.onap/so/request/types/v1\">    <msoservtypes:service-type>SDN-ETHERNET-INTERNET</msoservtypes:service-type>    <msoservtypes:service-instance-id>HI/VLXM/950604//SW_INTERNET</msoservtypes:service-instance-id>    <msoservtypes:subscriber-name>SubName01</msoservtypes:subscriber-name> </msoservtypes:service-information> </aetgt:CreateTenantRequest>",
+                workflowResponse.getResponse());
+        assertEquals(200, workflowResponse.getMessageCode());
+    }
 
-		Map<String, Object> variableValueType = new HashMap<>();
+    private void executeWorkflow(String request, String requestId, String processKey) throws InterruptedException {
+        WorkflowAsyncResource workflowResource = new WorkflowAsyncResource();
+        VariableMapImpl variableMap = new VariableMapImpl();
 
-		Map<String, Object> requestMsg = new HashMap<>();
-		requestMsg.put("value", request);
-		requestMsg.put("type", "String");
+        Map<String, Object> variableValueType = new HashMap<>();
 
-		Map<String, Object> msorequestId = new HashMap<>();
-		msorequestId.put("type", "String");
-		msorequestId.put("value",requestId);
+        Map<String, Object> requestMsg = new HashMap<>();
+        requestMsg.put("value", request);
+        requestMsg.put("type", "String");
 
-		Map<String, Object> timeout = new HashMap<>();
-		timeout.put("type", "String");
-		timeout.put("value","5"); 
+        Map<String, Object> msorequestId = new HashMap<>();
+        msorequestId.put("type", "String");
+        msorequestId.put("value", requestId);
 
-		variableValueType.put("testAsyncRequestMsg", requestMsg);
-		variableValueType.put("mso-request-id", msorequestId);
-		variableValueType.put("mso-service-request-timeout", timeout);
+        Map<String, Object> timeout = new HashMap<>();
+        timeout.put("type", "String");
+        timeout.put("value", "5");
 
-		variableMap.put("variables", variableValueType);
-		
-		workflowResource.setProcessEngineServices4junit(processEngineRule);
-		workflowResource.startProcessInstanceByKey( processKey, variableMap);
-	}
+        variableValueType.put("testAsyncRequestMsg", requestMsg);
+        variableValueType.put("mso-request-id", msorequestId);
+        variableValueType.put("mso-service-request-timeout", timeout);
 
-	
+        variableMap.put("variables", variableValueType);
+
+        workflowResource.setProcessEngineServices4junit(processEngineRule);
+        workflowResource.startProcessInstanceByKey(processKey, variableMap);
+    }
+
+
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowContextHolderTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowContextHolderTest.java
index 0efecac..23f9818 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowContextHolderTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowContextHolderTest.java
@@ -16,14 +16,13 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common;
 
 
 
 import java.util.UUID;
-
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.so.bpmn.common.workflow.context.WorkflowCallbackResponse;
@@ -35,35 +34,35 @@
 public class WorkflowContextHolderTest {
 
 
-	@Test
-	public void testProcessCallback() throws Exception {
-		String requestId = UUID.randomUUID().toString();		
-		String message = "TEST MESSATGE";
-		String responseMessage = "Successfully processed request";
-		int testCode = 200;		
-		
-		
-		WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance();
-		 
-		WorkflowCallbackResponse callbackResponse = new WorkflowCallbackResponse();
-		callbackResponse.setMessage(message);
-		callbackResponse.setResponse(responseMessage);
-		callbackResponse.setStatusCode(testCode);
-		
-		contextHolder.processCallback("testAsyncProcess","process-instance-id",requestId,callbackResponse);
-		
-		//same object returned
-		WorkflowContext contextFound = contextHolder.getWorkflowContext(requestId);
-		if(contextFound == null)
-			throw new Exception("Expected to find Context Object");
-		
-		WorkflowResponse testResponse = contextFound.getWorkflowResponse();
-		Assert.assertEquals(200,testResponse.getMessageCode());
-		Assert.assertEquals(message, testResponse.getMessage());
-		Assert.assertEquals(responseMessage, testResponse.getResponse());
-		
-		
+    @Test
+    public void testProcessCallback() throws Exception {
+        String requestId = UUID.randomUUID().toString();
+        String message = "TEST MESSATGE";
+        String responseMessage = "Successfully processed request";
+        int testCode = 200;
 
-	}
+
+        WorkflowContextHolder contextHolder = WorkflowContextHolder.getInstance();
+
+        WorkflowCallbackResponse callbackResponse = new WorkflowCallbackResponse();
+        callbackResponse.setMessage(message);
+        callbackResponse.setResponse(responseMessage);
+        callbackResponse.setStatusCode(testCode);
+
+        contextHolder.processCallback("testAsyncProcess", "process-instance-id", requestId, callbackResponse);
+
+        // same object returned
+        WorkflowContext contextFound = contextHolder.getWorkflowContext(requestId);
+        if (contextFound == null)
+            throw new Exception("Expected to find Context Object");
+
+        WorkflowResponse testResponse = contextFound.getWorkflowResponse();
+        Assert.assertEquals(200, testResponse.getMessageCode());
+        Assert.assertEquals(message, testResponse.getMessage());
+        Assert.assertEquals(responseMessage, testResponse.getResponse());
+
+
+
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowTest.java
index eed2978..389f931 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowTest.java
@@ -26,7 +26,6 @@
 import static org.junit.Assert.fail;
 import static org.onap.so.bpmn.core.json.JsonUtils.getJsonValue;
 import static org.onap.so.bpmn.core.json.JsonUtils.updJsonValue;
-
 import java.io.IOException;
 import java.io.StringReader;
 import java.lang.management.ManagementFactory;
@@ -37,7 +36,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-
 import javax.ws.rs.core.Response;
 import javax.xml.bind.JAXBException;
 import javax.xml.namespace.NamespaceContext;
@@ -50,7 +48,6 @@
 import javax.xml.xpath.XPathExpression;
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
-
 import org.camunda.bpm.engine.HistoryService;
 import org.camunda.bpm.engine.ProcessEngine;
 import org.camunda.bpm.engine.ProcessEngineException;
@@ -98,2158 +95,2108 @@
 /**
  * A base class for Workflow tests.
  * <p>
- * WireMock response transformers may be specified by declaring public
- * static fields with the @WorkflowTestTransformer annotation. For example:
+ * WireMock response transformers may be specified by declaring public static fields with the @WorkflowTestTransformer
+ * annotation. For example:
+ * 
  * <pre>
- *     @WorkflowTestTransformer
- *     public static final ResponseTransformer sdncAdapterMockTransformer =
- *         new SDNCAdapterMockTransformer();
+ * &#64;WorkflowTestTransformer
+ * public static final ResponseTransformer sdncAdapterMockTransformer = new SDNCAdapterMockTransformer();
  * </pre>
  */
 
 public abstract class WorkflowTest {
 
-	private static final Logger logger = LoggerFactory.getLogger(WorkflowTest.class);
+    private static final Logger logger = LoggerFactory.getLogger(WorkflowTest.class);
 
-	//TODO this is not used anymore, can maybe be removed
-	@Rule
-	public ProcessEngineRule processEngineRule;
+    // TODO this is not used anymore, can maybe be removed
+    @Rule
+    public ProcessEngineRule processEngineRule;
 
-	@Autowired
-	protected WorkflowResource workflowResourceSync;
+    @Autowired
+    protected WorkflowResource workflowResourceSync;
 
-	@Autowired
-	protected ProcessEngine processEngine;
+    @Autowired
+    protected ProcessEngine processEngine;
 
-	@Autowired
-	protected RuntimeService runtimeService;
+    @Autowired
+    protected RuntimeService runtimeService;
 
-	@Autowired
-	protected HistoryService historyService;
+    @Autowired
+    protected HistoryService historyService;
 
-	@Autowired
-	private WorkflowAsyncResource workflowResource;
+    @Autowired
+    private WorkflowAsyncResource workflowResource;
 
-	@Autowired
-	private WorkflowMessageResource workflowMessageResource;
+    @Autowired
+    private WorkflowMessageResource workflowMessageResource;
 
-	@Autowired
-	SDNCAdapterCallbackServiceImpl callbackService;
-	/**
-	 * Content-Type for XML.
-	 */
-	protected static final String XML = "application/xml";
+    @Autowired
+    SDNCAdapterCallbackServiceImpl callbackService;
+    /**
+     * Content-Type for XML.
+     */
+    protected static final String XML = "application/xml";
 
-	/**
-	 * Content-Type for JSON.
-	 */
-	protected static final String JSON = "application/json; charset=UTF-8";
+    /**
+     * Content-Type for JSON.
+     */
+    protected static final String JSON = "application/json; charset=UTF-8";
 
-	private static final int timeout = 2000;
-	
-	/**
-	 * Constructor.
-	 */
-	public WorkflowTest() throws RuntimeException {
-	}
+    private static final int timeout = 2000;
 
-	/**
-	 * The current request ID.  Normally set when an "invoke" method is called.
-	 */
-	protected volatile String msoRequestId = null;
+    /**
+     * Constructor.
+     */
+    public WorkflowTest() throws RuntimeException {}
 
-	/**
-	 * The current service instance ID.  Normally set when an "invoke" method
-	 * is called.
-	 */
-	protected volatile String msoServiceInstanceId = null;
+    /**
+     * The current request ID. Normally set when an "invoke" method is called.
+     */
+    protected volatile String msoRequestId = null;
 
-	/**
-	 * Logs a test start method.
-	 */
-	protected void logStart() {
-		logger.debug("STARTED TEST");
-	}
+    /**
+     * The current service instance ID. Normally set when an "invoke" method is called.
+     */
+    protected volatile String msoServiceInstanceId = null;
 
-	/**
-	 * Logs a test end method.
-	 */
-	protected void logEnd() {
-		logger.debug("ENDED TEST");
-	}
-
-	/**
-	 * Invokes a subprocess.
-	 * @param processKey the process key
-	 * @param businessKey a unique key that will identify the process instance
-	 * @param injectedVariables variables to inject into the process
-	 */
-	protected void invokeSubProcess(String processKey, String businessKey, Map<String, Object> injectedVariables) {
-		RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
-		List<String> arguments = runtimeMxBean.getInputArguments();
-		logger.debug("JVM args = {}", arguments);
-
-		msoRequestId = (String) injectedVariables.get("mso-request-id");
-		String requestId = (String) injectedVariables.get("msoRequestId");
-
-		if (msoRequestId == null && requestId == null) {
-			String msg = "mso-request-id variable was not provided";
-			logger.debug(msg);
-			fail(msg);
-		}
-
-		// Note: some scenarios don't have a service-instance-id, may be null
-		msoServiceInstanceId = (String) injectedVariables.get("mso-service-instance-id");
-
-
-		runtimeService.startProcessInstanceByKey(processKey, businessKey, injectedVariables);
-	}
-
-	protected String invokeSubProcess(String processKey,  Map<String, Object> injectedVariables) {
-		RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
-		List<String> arguments = runtimeMxBean.getInputArguments();
-		logger.debug("JVM args = {}", arguments);
-
-		msoRequestId = (String) injectedVariables.get("mso-request-id");
-		String requestId = (String) injectedVariables.get("msoRequestId");
-
-		if (msoRequestId == null && requestId == null) {
-			String msg = "mso-request-id variable was not provided";
-			logger.debug(msg);
-			fail(msg);
-		}
-
-		// Note: some scenarios don't have a service-instance-id, may be null
-		msoServiceInstanceId = (String) injectedVariables.get("mso-service-instance-id");
-
-
-		ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processKey, msoRequestId, injectedVariables);
-		return processInstance.getId();
-	}
-
-	/**
-	 * Invokes an asynchronous process.
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param processKey the process key
-	 * @param schemaVersion the API schema version, e.g. "v1"
-	 * @param businessKey a unique key that will identify the process instance
-	 * @param request the request
-	 * @return a TestAsyncResponse object associated with the test
-	 * @throws InterruptedException
-	 */
-	protected TestAsyncResponse invokeAsyncProcess(String processKey,
-			String schemaVersion, String businessKey, String request) throws InterruptedException {
-		return invokeAsyncProcess(processKey, schemaVersion, businessKey, request, null);
-	}
-
-	/**
-	 * Invokes an asynchronous process.
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param processKey the process key
-	 * @param schemaVersion the API schema version, e.g. "v1"
-	 * @param businessKey a unique key that will identify the process instance
-	 * @param request the request
-	 * @param injectedVariables optional variables to inject into the process
-	 * @return a TestAsyncResponse object associated with the test
-	 * @throws InterruptedException
-	 */
-	protected TestAsyncResponse invokeAsyncProcess(String processKey,
-			String schemaVersion, String businessKey, String request,
-			Map<String, Object> injectedVariables) {
-
-		RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
-		List<String> arguments = runtimeMxBean.getInputArguments();
-		logger.debug("JVM args = {}", arguments);
-
-		Map<String, Object> variables = createVariables(schemaVersion, businessKey,
-			request, injectedVariables, false);
-		VariableMapImpl variableMapImpl = createVariableMapImpl(variables);
-
-		logger.debug("Sending {} to {} process", request, processKey);
-
-		TestAsyncResponse asyncResponse = new TestAsyncResponse();
-
-		asyncResponse.setResponse(workflowResource.startProcessInstanceByKey( processKey, variableMapImpl));
-
-		return asyncResponse;
-	}
-
-	/**
-	 * Invokes an asynchronous process.
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param processKey the process key
-	 * @param schemaVersion the API schema version, e.g. "v1"
-	 * @param businessKey a unique key that will identify the process instance
-	 * @param request the request
-	 * @param injectedVariables optional variables to inject into the process
-	 * @param serviceInstantiationModel indicates whether this method is being
-	 * invoked for a flow that is designed using the service instantiation model
-	 * @return a TestAsyncResponse object associated with the test
-	 * @throws InterruptedException
-	 */
-	protected Response invokeAsyncProcess(String processKey,
-			String schemaVersion, String businessKey, String request,
-			Map<String, Object> injectedVariables, boolean serviceInstantiationModel) {
-
-		RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
-		List<String> arguments = runtimeMxBean.getInputArguments();
-		logger.debug("JVM args = {}", arguments);
-
-		Map<String, Object> variables = createVariables(schemaVersion, businessKey,
-			request, injectedVariables, serviceInstantiationModel);
-		VariableMapImpl variableMapImpl = createVariableMapImpl(variables);
-
-		logger.debug("Sending {} to {} process", request, processKey);
-
-		return workflowResource.startProcessInstanceByKey( processKey, variableMapImpl);
-
-	}
-
-	/**
-	 * Private helper method that creates a variable map for a request.
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param schemaVersion the API schema version, e.g. "v1"
-	 * @param businessKey a unique key that will identify the process instance
-	 * @param request the request
-	 * @param injectedVariables optional variables to inject into the process
-	 * @param serviceInstantiationModel indicates whether this method is being
-	 * invoked for a flow that is designed using the service instantiation model
-	 * @return a variable map
-	 */
-	private Map<String, Object> createVariables(String schemaVersion,
-			String businessKey, String request, Map<String, Object> injectedVariables,
-			boolean serviceInstantiationModel) {
-
-		Map<String, Object> variables = new HashMap<>();
-
-		// These variables may be overridded by injected variables.
-		variables.put("mso-service-request-timeout", "180");
-		variables.put("isDebugLogEnabled", "true");
-
-		// These variables may not be overridded by injected variables.
-		String[] notAllowed = new String[] {
-				"mso-schema-version",
-				"mso-business-key",
-				"bpmnRequest",
-				"mso-request-id",
-				"mso-service-instance-id"
-		};
-
-		if (injectedVariables != null) {
-			for (String key : injectedVariables.keySet()) {
-				for (String var : notAllowed) {
-					if (var.equals(key)) {
-						String msg = "Cannot specify " + var + " in injected variables";
-						logger.debug(msg);
-						fail(msg);
-					}
-				}
-
-				variables.put(key, injectedVariables.get(key));
-			}
-		}
-
-		variables.put("mso-schema-version", schemaVersion);
-		variables.put("mso-business-key", businessKey);
-		variables.put("bpmnRequest", request);
-
-		if (serviceInstantiationModel) {
-
-			/*
-			 * The request ID and the service instance ID are generated for flows
-			 * that follow the service instantiation model unless "requestId" and
-			 * "serviceInstanceId" are injected variables.
-			 */
-
-			try {
-				msoRequestId = (String) injectedVariables.get("requestId");
-				variables.put("mso-request-id", msoRequestId);
-				msoServiceInstanceId = (String) injectedVariables.get("serviceInstanceId");
-				variables.put("mso-service-instance-id", msoServiceInstanceId);
-			}
-			catch(Exception e) {
-			}
-			if (msoRequestId == null || msoRequestId.trim().equals("")) {
-				logger.debug("No requestId element in injectedVariables");
-				variables.put("mso-request-id", UUID.randomUUID().toString());
-			}
-			if (msoServiceInstanceId == null || msoServiceInstanceId.trim().equals("")) {
-				logger.debug("No seviceInstanceId element in injectedVariables");
-				variables.put("mso-service-instance-id", UUID.randomUUID().toString());
-			}
-
-		} else {
-			msoRequestId = getXMLTextElement(request, "request-id");
-
-			if (msoRequestId == null) {
-				//check in injected variables
-				try {
-					msoRequestId = (String) injectedVariables.get("requestId");
-				}
-				catch(Exception e) {
-				}
-				if (msoRequestId == null || msoRequestId.trim().equals("")) {
-					String msg = "No request-id element in " + request;
-					logger.debug(msg);
-					fail(msg);
-				}
-			}
-
-			variables.put("mso-request-id", msoRequestId);
-
-			// Note: some request types don't have a service-instance-id
-			msoServiceInstanceId = getXMLTextElement(request, "service-instance-id");
-
-			if (msoServiceInstanceId != null) {
-				variables.put("mso-service-instance-id", msoServiceInstanceId);
-			}
-		}
-
-		return variables;
-	}
-
-	/**
-	 * Private helper method that creates a camunda VariableMapImpl from a simple
-	 * variable map.
-	 * @param variables the simple variable map
-	 * @return a VariableMap
-	 */
-	private VariableMapImpl createVariableMapImpl(Map<String, Object> variables) {
-		Map<String, Object> wrappedVariables = new HashMap<>();
-
-		for (String key : variables.keySet()) {
-			Object value = variables.get(key);
-			wrappedVariables.put(key, wrapVariableValue(value));
-		}
-
-		VariableMapImpl variableMapImpl = new VariableMapImpl();
-		variableMapImpl.put("variables", wrappedVariables);
-		return variableMapImpl;
-	}
-
-	/**
-	 * Private helper method that wraps a variable value for inclusion in a
-	 * camunda VariableMapImpl.
-	 * @param value the variable value
-	 * @return the wrapped variable
-	 */
-	private Map<String, Object> wrapVariableValue(Object value) {
-		HashMap<String, Object> valueMap = new HashMap<>();
-		valueMap.put("value", value);
-		return valueMap;
-	}
-
-	/**
-	 * Receives a response from an asynchronous process.
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param businessKey the process business key
-	 * @param asyncResponse the TestAsyncResponse object associated with the test
-	 * @param timeout the timeout in milliseconds
-	 * @return the WorkflowResponse
-	 */
-	protected WorkflowResponse receiveResponse(String businessKey,
-			TestAsyncResponse asyncResponse, long timeout) {
-		logger.debug("Waiting {}ms for process with business key {} to send a response", timeout, businessKey);
-
-		long now = System.currentTimeMillis() + timeout;
-		long endTime = now + timeout;
-
-		while (now <= endTime) {
-			Response response = asyncResponse.getResponse();
-
-			if (response != null) {
-				logger.debug("Received a response from process with business key {}", businessKey);
-
-				Object entity = response.getEntity();
-
-				if (!(entity instanceof WorkflowResponse)) {
-					String msg = "Response entity is " +
-						(entity == null ? "null" : entity.getClass().getName()) +
-						", expected WorkflowResponse";
-					logger.debug(msg);
-					fail(msg);
-					return null; // unreachable
-				}
-
-				return (WorkflowResponse) entity;
-			}
-
-			try {
-				Thread.sleep(200);
-			} catch (InterruptedException e) {
-				String msg = "Interrupted waiting for a response from process with business key " +
-					businessKey;
-				logger.debug(msg);
-				fail(msg);
-				return null; // unreachable
-			}
-
-			now = System.currentTimeMillis();
-		}
-
-		String msg = "No response received from process with business key " + businessKey +
-			" within " + timeout + "ms";
-		logger.debug(msg);
-		fail("Process with business key " + businessKey + " did not end within 10000ms");
-		return null; // unreachable
-	}
-
-	/**
-	 * Runs a program to inject SDNC callback data into the test environment.
-	 * A program is essentially just a list of keys that identify callback data
-	 * to be injected, in sequence. An example program:
-	 * <pre>
-	 *     reserve, assign, delete:ERR
-	 * </pre>
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param callbacks an object containing callback data for the program
-	 * @param program the program to execute
-	 */
-	protected void injectSDNCRestCallbacks(CallbackSet callbacks, String program) {
-
-		String[] cmds = program.replaceAll("\\s+", "").split(",");
-
-		for (String cmd : cmds) {
-			String action = cmd;
-			String modifier = "STD";
-
-			if (cmd.contains(":")) {
-				String[] parts = cmd.split(":");
-				action = parts[0];
-				modifier = parts[1];
-			}
-
-			String content = null;
-			String contentType = null;
-
-			if ("STD".equals(modifier)) {
-				CallbackData callbackData = callbacks.get(action);
-
-				if (callbackData == null) {
-					String msg = "No callback defined for '" + action + "' SDNC request";
-					logger.debug(msg);
-					fail(msg);
-				}
-
-				content = callbackData.getContent();
-				contentType = callbackData.getContentType();
-			} else if ("ERR".equals(modifier)) {
-				content = "{\"SDNCServiceError\":{\"sdncRequestId\":\"((REQUEST-ID))\",\"responseCode\":\"500\",\"responseMessage\":\"SIMULATED ERROR FROM SDNC ADAPTER\",\"ackFinalIndicator\":\"Y\"}}";
-				contentType = JSON;
-			} else {
-				String msg = "Invalid SDNC program modifier: '" + modifier + "'";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			if (contentType == null) {
-				// Default for backward compatibility with existing tests.
-				contentType = JSON;
-			}
-
-			if (!injectSDNCRestCallback(contentType, content, 10000)) {
-				fail("Failed to inject SDNC '" + action + "' callback");
-			}
-
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-				fail("Interrupted after injection of SDNC '" + action + "' callback");
-			}
-		}
-	}
-
-	/**
-	 * Runs a program to inject SDNC events into the test environment.
-	 * A program is essentially just a list of keys that identify event data
-	 * to be injected, in sequence. An example program:
-	 * <pre>
-	 *     event1, event2
-	 * </pre>
-	 * NOTE: Each callback must have a message type associated with it, e.g.
-	 * "SDNCAEvent".
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param callbacks an object containing event data for the program
-	 * @param program the program to execute
-	 */
-	protected void injectSDNCEvents(CallbackSet callbacks, String program) {
-		injectWorkflowMessages(callbacks, program);
-	}
-
-	/**
-	 * Runs a program to inject SDNC callback data into the test environment.
-	 * A program is essentially just a list of keys that identify callback data
-	 * to be injected, in sequence. An example program:
-	 * <pre>
-	 *     reserve, assign, delete:ERR
-	 * </pre>
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * Uses the static/default timeout value for backward compatibility.
-	 * @param callbacks an object containing callback data for the program
-	 * @param program the program to execute
-	 */
-	protected void injectSDNCCallbacks(CallbackSet callbacks, String program) {
-		injectSDNCCallbacks(callbacks, program, timeout);
-	}
-
-	/**
-	 * Runs a program to inject SDNC callback data into the test environment.
-	 * A program is essentially just a list of keys that identify callback data
-	 * to be injected, in sequence. An example program:
-	 * <pre>
-	 *     reserve, assign, delete:ERR
-	 * </pre>
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param callbacks an object containing callback data for the program
-	 * @param program the program to execute
-	 * @param timeout a timeout value to wait for the callback
-	 */
-	protected void injectSDNCCallbacks(CallbackSet callbacks, String program, int timeout) {
-
-		String[] cmds = program.replaceAll("\\s+", "").split(",");
-
-		for (String cmd : cmds) {
-			String action = cmd;
-			String modifier = "STD";
-
-			if (cmd.contains(":")) {
-				String[] parts = cmd.split(":");
-				action = parts[0];
-				modifier = parts[1];
-			}
-
-			String content = null;
-			int respCode = 200;
-			String respMsg = "OK";
-
-			if ("STD".equals(modifier)) {
-				CallbackData callbackData = callbacks.get(action);
-
-				if (callbackData == null) {
-					String msg = "No callback defined for '" + action + "' SDNC request";
-					logger.debug(msg);
-					fail(msg);
-				}
-
-				content = callbackData.getContent();
-				respCode = 200;
-				respMsg = "OK";
-			} else if ("CREATED".equals(modifier)) {
-				CallbackData callbackData = callbacks.get(action);
-
-				if (callbackData == null) {
-					String msg = "No callback defined for '" + action + "' SDNC request";
-					logger.debug(msg);
-					fail(msg);
-				}
-
-				content = callbackData.getContent();
-				respCode = 201;
-				respMsg = "Created";
-			} else if ("ERR".equals(modifier)) {
-				content = "<svc-request-id>((REQUEST-ID))</svc-request-id><response-code>500</response-code><response-message>SIMULATED ERROR FROM SDNC ADAPTER</response-message>";
-				respCode = 500;
-				respMsg = "SERVER ERROR";
-			} else {
-				String msg = "Invalid SDNC program modifier: '" + modifier + "'";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			if (!injectSDNCCallback(respCode, respMsg, content, 10000)) {
-				fail("Failed to inject SDNC '" + action + "' callback");
-			}
-
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-				fail("Interrupted after injection of SDNC '" + action + "' callback");
-			}
-		}
-	}
-
-	/**
-	 * Runs a program to inject VNF adapter REST callback data into the test environment.
-	 * A program is essentially just a list of keys that identify callback data
-	 * to be injected, in sequence. An example program:
-	 * <pre>
-	 *     create, rollback
-	 * </pre>
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param callbacks an object containing callback data for the program
-	 * @param program the program to execute
-	 */
-	protected void injectVNFRestCallbacks(CallbackSet callbacks, String program) {
-
-		String[] cmds = program.replaceAll("\\s+", "").split(",");
-
-		for (String cmd : cmds) {
-			String action = cmd;
-			String modifier = "STD";
-
-			if (cmd.contains(":")) {
-				String[] parts = cmd.split(":");
-				action = parts[0];
-				modifier = parts[1];
-			}
-
-			String content = null;
-			String contentType = null;
-
-			if ("STD".equals(modifier)) {
-				CallbackData callbackData = callbacks.get(action);
-
-				if (callbackData == null) {
-					String msg = "No callback defined for '" + action + "' VNF REST request";
-					logger.debug(msg);
-					fail(msg);
-				}
-
-				content = callbackData.getContent();
-				contentType = callbackData.getContentType();
-			} else if ("ERR".equals(modifier)) {
-				content = "SIMULATED ERROR FROM VNF ADAPTER";
-				contentType = "text/plain";
-			} else {
-				String msg = "Invalid VNF REST program modifier: '" + modifier + "'";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			if (contentType == null) {
-				// Default for backward compatibility with existing tests.
-				contentType = XML;
-			}
-
-			if (!injectVnfAdapterRestCallback(contentType, content, 10000)) {
-				fail("Failed to inject VNF REST '" + action + "' callback");
-			}
-
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-				fail("Interrupted after injection of VNF REST '" + action + "' callback");
-			}
-		}
-	}
-
-	/**
-	 * Runs a program to inject VNF callback data into the test environment.
-	 * A program is essentially just a list of keys that identify callback data
-	 * to be injected, in sequence. An example program:
-	 * <pre>
-	 *     createVnf, deleteVnf
-	 * </pre>
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * @param callbacks an object containing callback data for the program
-	 * @param program the program to execute
-	 */
-	protected void injectVNFCallbacks(CallbackSet callbacks, String program) {
-
-		String[] cmds = program.replaceAll("\\s+", "").split(",");
-
-		for (String cmd : cmds) {
-			String action = cmd;
-			String modifier = "STD";
-
-			if (cmd.contains(":")) {
-				String[] parts = cmd.split(":");
-				action = parts[0];
-				modifier = parts[1];
-			}
-
-			String content = null;
-
-			if ("STD".equals(modifier)) {
-				CallbackData callbackData = callbacks.get(action);
-
-				if (callbackData == null) {
-					String msg = "No callback defined for '" + action + "' VNF request";
-					logger.debug(msg);
-					fail(msg);
-				}
-
-				content = callbackData.getContent();
-			} else if ("ERR".equals(modifier)) {
-				String msg = "Currently unsupported VNF program modifier: '" + modifier + "'";
-				logger.debug(msg);
-				fail(msg);
-			} else {
-				String msg = "Invalid VNF program modifier: '" + modifier + "'";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			boolean injected = false;
-
-			if (content.contains("createVnfNotification")) {
-				injected = injectCreateVNFCallback(content, 10000);
-			} else if (content.contains("deleteVnfNotification")) {
-				injected = injectDeleteVNFCallback(content, 10000);
-			} else if (content.contains("updateVnfNotification")) {
-				injected = injectUpdateVNFCallback(content, 10000);
-			}
-
-			if (!injected) {
-				String msg = "Failed to inject VNF '" + action + "' callback";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-				fail("Interrupted after injection of VNF '" + action + "' callback");
-			}
-		}
-	}
-
-	/**
-	 * Waits for the number of running processes with the specified process
-	 * definition key to equal a particular count.
-	 * @param processKey the process definition key
-	 * @param count the desired count
-	 * @param timeout the timeout in milliseconds
-	 */
-	protected void waitForRunningProcessCount(String processKey, int count, long timeout) {
-		logger.debug("Waiting {}ms for there to be {} {} instances", timeout, count, processKey);
-
-		long now = System.currentTimeMillis() + timeout;
-		long endTime = now + timeout;
-		int last = -1;
-
-		while (now <= endTime) {
-			int actual = runtimeService
-				.createProcessInstanceQuery()
-				.processDefinitionKey(processKey)
-				.list().size();
-
-			if (actual != last) {
-				logger.debug("There are now {} {} instances", actual, processKey);
-				last = actual;
-			}
-
-			if (actual == count) {
-				return;
-			}
-
-			try {
-				Thread.sleep(200);
-			} catch (InterruptedException e) {
-				String msg = "Interrupted waiting for there to be " + count + " "
-					+ processKey + " instances";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			now = System.currentTimeMillis();
-		}
-
-		String msg = "Timed out waiting for there to be " + count + " "
-			+ processKey + " instances";
-		logger.debug(msg);
-		fail(msg);
-	}
-
-	/**
-	 * Waits for the specified process variable to be set.
-	 * @param processKey the process definition key
-	 * @param variable the variable name
-	 * @param timeout the timeout in milliseconds
-	 * @return the variable value, or null if it cannot be obtained
-	 *         in the specified time
-	 */
-	protected Object getProcessVariable(String processKey, String variable,
-			long timeout) {
-
-		logger.debug("Waiting " + timeout + "ms for " + processKey + "." + variable + " to be set");
-
-		long now = System.currentTimeMillis() + timeout;
-		long endTime = now + timeout;
-
-		ProcessInstance processInstance = null;
-		Object value = null;
-
-		while (value == null) {
-			if (now > endTime) {
-				if (processInstance == null) {
-					logger.debug("Timed out waiting for "
-						+ processKey + " to start");
-				} else {
-					logger.debug("Timed out waiting for "
-						+ processKey + "[" + processInstance.getId()
-						+ "]." + variable + " to be set");
-				}
-
-				return null;
-			}
-
-			ProcessInstanceQuery processInstanceQuery = null;
-			if (processInstance == null) {
-				processInstanceQuery = runtimeService
-					.createProcessInstanceQuery()
-					.processDefinitionKey(processKey);
-			}
-
-			if(processInstanceQuery.count() == 1 || processInstanceQuery.count() == 0){
-				processInstance = processInstanceQuery.singleResult();
-			}else{
-				//TODO There shouldnt be more than one in the list but seems to be happening, need to figure out why happening and best way to get correct one from list
-				logger.debug("Process Instance Query returned {} instance. Getting the last instance in the list",
-					processInstanceQuery.count());
-				List<ProcessInstance> processList = processInstanceQuery.list();
-				processInstance = processList.get((processList.size() - 1));
-			}
-
-
-			if (processInstance != null) {
-				value = runtimeService
-					.getVariable(processInstance.getId(), variable);
-			}
-
-			try {
-				Thread.sleep(200);
-			} catch (InterruptedException e) {
-				logger.debug("Interrupted waiting for {}.{} to be set", processKey, variable);
-				return null;
-			}
-
-			now = System.currentTimeMillis();
-		}
-
-		logger.debug(processKey + "["
-			+ processInstance.getId() + "]." + variable + "="
-			+ value);
-
-		return value;
-	}
-
-	/**
-	 * Injects a single SDNC adapter callback request. The specified callback data
-	 * may contain the placeholder string ((REQUEST-ID)) which is replaced with
-	 * the actual SDNC request ID. Note: this is not the requestId in the original
-	 * MSO request.
-	 * @param contentType the HTTP content type for the callback
-	 * @param content the content of the callback
-	 * @param timeout the timeout in milliseconds
-	 * @return true if the callback could be injected, false otherwise
-	 */
-	protected boolean injectSDNCRestCallback(String contentType, String content, long timeout) {
-		String sdncRequestId = (String) getProcessVariable("SDNCAdapterRestV1",
-			"SDNCAResponse_CORRELATOR", timeout);
-
-		if (sdncRequestId == null) {
-			sdncRequestId = (String) getProcessVariable("SDNCAdapterRestV2",
-				"SDNCAResponse_CORRELATOR", timeout);
-		}
-
-		if (sdncRequestId == null) {
-			return false;
-		}
-
-		content = content.replace("((REQUEST-ID))", sdncRequestId);
-		// Deprecated usage.  All test code should switch to the (( ... )) syntax.
-		content = content.replace("{{REQUEST-ID}}", sdncRequestId);
-
-		logger.debug("Injecting SDNC adapter callback");
-
-		Response response = workflowMessageResource.deliver(contentType, "SDNCAResponse", sdncRequestId, content);
-		logger.debug("Workflow response to SDNC adapter callback: " + response);
-		return true;
-	}
-
-	/**
-	 * Injects a single SDNC adapter callback request. The specified callback data
-	 * may contain the placeholder string ((REQUEST-ID)) which is replaced with
-	 * the actual SDNC request ID. Note: this is not the requestId in the original
-	 * MSO request.
-	 * @param content the content of the callback
-	 * @param respCode the response code (normally 200)
-	 * @param respMsg the response message (normally "OK")
-	 * @param timeout the timeout in milliseconds
-	 * @return true if the callback could be injected, false otherwise
-	 */
-	protected boolean injectSDNCCallback(int respCode, String respMsg,
-			String content, long timeout) {
-
-		String sdncRequestId = (String) getProcessVariable("sdncAdapter",
-			"SDNCA_requestId", timeout);
-
-		if (sdncRequestId == null) {
-			return false;
-		}
-
-		content = content.replace("((REQUEST-ID))", sdncRequestId);
-		// Deprecated usage.  All test code should switch to the (( ... )) syntax.
-		content = content.replace("{{REQUEST-ID}}", sdncRequestId);
-
-		// TODO this needs to be fixed. It is causing double tags and content
-		// Need to parse content before setting below since content includes not just RequestData or modify callback files to only contain RequestData contents.
-
-		logger.debug("Injecting SDNC adapter callback");
-		CallbackHeader callbackHeader = new CallbackHeader();
-		callbackHeader.setRequestId(sdncRequestId);
-		callbackHeader.setResponseCode(String.valueOf(respCode));
-		callbackHeader.setResponseMessage(respMsg);
-		SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest();
-		sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader);
-		sdncAdapterCallbackRequest.setRequestData(content);
-		SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest);
-		logger.debug("Workflow response to SDNC adapter callback: " + sdncAdapterResponse);
-
-		return true;
-	}
-
-	/**
-	 * Injects a single VNF adapter callback request. The specified callback data
-	 * may contain the placeholder string ((MESSAGE-ID)) which is replaced with
-	 * the actual message ID. Note: this is not the requestId in the original
-	 * MSO request.
-	 * @param contentType the HTTP content type for the callback
-	 * @param content the content of the callback
-	 * @param timeout the timeout in milliseconds
-	 * @return true if the callback could be injected, false otherwise
-	 */
-	protected boolean injectVnfAdapterRestCallback(String contentType, String content, long timeout) {
-		String messageId = (String) getProcessVariable("vnfAdapterRestV1",
-			"VNFAResponse_CORRELATOR", timeout);
-
-		if (messageId == null) {
-			return false;
-		}
-
-		content = content.replace("((MESSAGE-ID))", messageId);
-		// Deprecated usage.  All test code should switch to the (( ... )) syntax.
-		content = content.replace("{{MESSAGE-ID}}", messageId);
-
-		logger.debug("Injecting VNF adapter callback");
-
-		Response response = workflowMessageResource.deliver(contentType, "VNFAResponse", messageId, content);
-		logger.debug("Workflow response to VNF adapter callback: {}", response);
-		return true;
-	}
-
-	/**
-	 * Injects a Create VNF adapter callback request. The specified callback data
-	 * may contain the placeholder string ((MESSAGE-ID)) which is replaced with
-	 * the actual message ID.  It may also contain the placeholder string
-	 * ((REQUEST-ID)) which is replaced request ID of the original MSO request.
-	 * @param content the content of the callback
-	 * @param timeout the timeout in milliseconds
-	 * @return true if the callback could be injected, false otherwise
-	 * @throws JAXBException if the content does not adhere to the schema
-	 */
-	protected boolean injectCreateVNFCallback(String content, long timeout) {
-
-		String messageId = (String) getProcessVariable("vnfAdapterCreateV1",
-			"VNFC_messageId", timeout);
-
-		if (messageId == null) {
-			return false;
-		}
-
-		content = content.replace("((MESSAGE-ID))", messageId);
-		// Deprecated usage.  All test code should switch to the (( ... )) syntax.
-		content = content.replace("{{MESSAGE-ID}}", messageId);
-
-		if(content.contains("((REQUEST-ID))")){
-			content = content.replace("((REQUEST-ID))", msoRequestId);
-		// Deprecated usage.  All test code should switch to the (( ... )) syntax.
-			content = content.replace("{{REQUEST-ID}}", msoRequestId);
-		}
-
-		logger.debug("Injecting VNF adapter callback");
-
-		// Is it possible to unmarshal this with JAXB?  I couldn't.
-
-		CreateVnfNotification createVnfNotification = new CreateVnfNotification();
-		XPathTool xpathTool = new VnfNotifyXPathTool();
-		xpathTool.setXML(content);
-
-		try {
-			String completed = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:completed/text()");
-			createVnfNotification.setCompleted("true".equals(completed));
-
-			String vnfId = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:vnfId/text()");
-			createVnfNotification.setVnfId(vnfId);
-
-			NodeList entries = (NodeList) xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:outputs/tns:entry",
-				XPathConstants.NODESET);
-
-			CreateVnfNotificationOutputs outputs = new CreateVnfNotificationOutputs();
-
-			for (int i = 0; i < entries.getLength(); i++) {
-				Node node = entries.item(i);
-
-				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					Element entry = (Element) node;
-					String key = entry.getElementsByTagNameNS("*", "key").item(0).getTextContent();
-					String value = entry.getElementsByTagNameNS("*", "value").item(0).getTextContent();
-					outputs.add(key, value);
-				}
-			}
-
-			createVnfNotification.setOutputs(outputs);
-
-			VnfRollback rollback = new VnfRollback();
-
-			String cloudSiteId = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:rollback/tns:cloudSiteId/text()");
-			rollback.setCloudSiteId(cloudSiteId);
-
-			String cloudOwner = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:rollback/tns:cloudOwner/text()");
-			rollback.setCloudOwner(cloudOwner);
-
-			String requestId = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:rollback/tns:msoRequest/tns:requestId/text()");
-			String serviceInstanceId = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:rollback/tns:msoRequest/tns:serviceInstanceId/text()");
-
-			if (requestId != null || serviceInstanceId != null) {
-				MsoRequest msoRequest = new MsoRequest();
-				msoRequest.setRequestId(requestId);
-				msoRequest.setServiceInstanceId(serviceInstanceId);
-				rollback.setMsoRequest(msoRequest);
-			}
-
-			String tenantCreated = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:rollback/tns:tenantCreated/text()");
-			rollback.setTenantCreated("true".equals(tenantCreated));
-
-			String tenantId = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:rollback/tns:tenantId/text()");
-			rollback.setTenantId(tenantId);
-
-			String vnfCreated = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:rollback/tns:vnfCreated/text()");
-			rollback.setVnfCreated("true".equals(vnfCreated));
-
-			String rollbackVnfId = xpathTool.evaluate(
-				"/tns:createVnfNotification/tns:rollback/tns:vnfId/text()");
-			rollback.setVnfId(rollbackVnfId);
-
-			createVnfNotification.setRollback(rollback);
-
-		} catch (Exception e) {
-			logger.debug("Failed to unmarshal VNF callback content:");
-			logger.debug(content);
-			return false;
-		}
-
-		VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl();
-
-
-		notifyService.createVnfNotification(
-			messageId,
-			createVnfNotification.isCompleted(),
-			createVnfNotification.getException(),
-			createVnfNotification.getErrorMessage(),
-			createVnfNotification.getVnfId(),
-			createVnfNotification.getOutputs(),
-			createVnfNotification.getRollback());
-
-		return true;
-	}
-
-	/**
-	 * Injects a Delete VNF adapter callback request. The specified callback data
-	 * may contain the placeholder string ((MESSAGE-ID)) which is replaced with
-	 * the actual message ID.  It may also contain the placeholder string
-	 * ((REQUEST-ID)) which is replaced request ID of the original MSO request.
-	 * @param content the content of the callback
-	 * @param timeout the timeout in milliseconds
-	 * @return true if the callback could be injected, false otherwise
-	 * @throws JAXBException if the content does not adhere to the schema
-	 */
-	protected boolean injectDeleteVNFCallback(String content, long timeout) {
-
-		String messageId = (String) getProcessVariable("vnfAdapterDeleteV1",
-			"VNFDEL_uuid", timeout);
-
-		if (messageId == null) {
-			return false;
-		}
-
-		content = content.replace("((MESSAGE-ID))", messageId);
-		// Deprecated usage.  All test code should switch to the (( ... )) syntax.
-		content = content.replace("{{MESSAGE-ID}}", messageId);
-
-		logger.debug("Injecting VNF adapter delete callback");
-
-		// Is it possible to unmarshal this with JAXB?  I couldn't.
-
-		DeleteVnfNotification deleteVnfNotification = new DeleteVnfNotification();
-		XPathTool xpathTool = new VnfNotifyXPathTool();
-		xpathTool.setXML(content);
-
-		try {
-			String completed = xpathTool.evaluate(
-				"/tns:deleteVnfNotification/tns:completed/text()");
-			deleteVnfNotification.setCompleted("true".equals(completed));
-			// if notification failure, set the exception and error message
-			if (deleteVnfNotification.isCompleted() == false) {
-				deleteVnfNotification.setException(MsoExceptionCategory.INTERNAL);
-				deleteVnfNotification.setErrorMessage(xpathTool.evaluate(
-						"/tns:deleteVnfNotification/tns:errorMessage/text()")) ;
-			}
-
-		} catch (Exception e) {
-			logger.debug("Failed to unmarshal VNF Delete callback content:");
-			logger.debug(content);
-			return false;
-		}
-
-		VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl();
-
-
-		notifyService.deleteVnfNotification(
-			messageId,
-			deleteVnfNotification.isCompleted(),
-			deleteVnfNotification.getException(),
-			deleteVnfNotification.getErrorMessage());
-
-		return true;
-	}
-
-	/**
-	 * Injects a Update VNF adapter callback request. The specified callback data
-	 * may contain the placeholder string ((MESSAGE-ID)) which is replaced with
-	 * the actual message ID.  It may also contain the placeholder string
-	 * ((REQUEST-ID)) which is replaced request ID of the original MSO request.
-	 * @param content the content of the callback
-	 * @param timeout the timeout in milliseconds
-	 * @return true if the callback could be injected, false otherwise
-	 * @throws JAXBException if the content does not adhere to the schema
-	 */
-	protected boolean injectUpdateVNFCallback(String content, long timeout) {
-
-		String messageId = (String) getProcessVariable("vnfAdapterUpdate",
-			"VNFU_messageId", timeout);
-
-		if (messageId == null) {
-			return false;
-		}
-
-		content = content.replace("((MESSAGE-ID))", messageId);
-		// Deprecated usage.  All test code should switch to the (( ... )) syntax.
-		content = content.replace("{{MESSAGE-ID}}", messageId);
-
-		content = content.replace("((REQUEST-ID))", msoRequestId);
-		// Deprecated usage.  All test code should switch to the (( ... )) syntax.
-		content = content.replace("{{REQUEST-ID}}", msoRequestId);
-
-		logger.debug("Injecting VNF adapter callback");
-
-		// Is it possible to unmarshal this with JAXB?  I couldn't.
-
-		UpdateVnfNotification updateVnfNotification = new UpdateVnfNotification();
-		XPathTool xpathTool = new VnfNotifyXPathTool();
-		xpathTool.setXML(content);
-
-		try {
-			String completed = xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:completed/text()");
-			updateVnfNotification.setCompleted("true".equals(completed));
-
-			NodeList entries = (NodeList) xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:outputs/tns:entry",
-				XPathConstants.NODESET);
-
-			UpdateVnfNotificationOutputs outputs = new UpdateVnfNotificationOutputs();
-
-			for (int i = 0; i < entries.getLength(); i++) {
-				Node node = entries.item(i);
-
-				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					Element entry = (Element) node;
-					String key = entry.getElementsByTagNameNS("*", "key").item(0).getTextContent();
-					String value = entry.getElementsByTagNameNS("*", "value").item(0).getTextContent();
-					outputs.add(key, value);
-				}
-			}
-
-			updateVnfNotification.setOutputs(outputs);
-
-			VnfRollback rollback = new VnfRollback();
-
-			String cloudSiteId = xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:rollback/tns:cloudSiteId/text()");
-			rollback.setCloudSiteId(cloudSiteId);
-
-			String cloudOwner = xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:rollback/tns:cloudOwner/text()");
-			rollback.setCloudOwner(cloudOwner);
-
-			String requestId = xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:rollback/tns:msoRequest/tns:requestId/text()");
-			String serviceInstanceId = xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:rollback/tns:msoRequest/tns:serviceInstanceId/text()");
-
-			if (requestId != null || serviceInstanceId != null) {
-				MsoRequest msoRequest = new MsoRequest();
-				msoRequest.setRequestId(requestId);
-				msoRequest.setServiceInstanceId(serviceInstanceId);
-				rollback.setMsoRequest(msoRequest);
-			}
-
-			String tenantCreated = xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:rollback/tns:tenantCreated/text()");
-			rollback.setTenantCreated("true".equals(tenantCreated));
-
-			String tenantId = xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:rollback/tns:tenantId/text()");
-			rollback.setTenantId(tenantId);
-
-			String vnfCreated = xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:rollback/tns:vnfCreated/text()");
-			rollback.setVnfCreated("true".equals(vnfCreated));
-
-			String rollbackVnfId = xpathTool.evaluate(
-				"/tns:updateVnfNotification/tns:rollback/tns:vnfId/text()");
-			rollback.setVnfId(rollbackVnfId);
-
-			updateVnfNotification.setRollback(rollback);
-
-		} catch (Exception e) {
-			logger.debug("Failed to unmarshal VNF callback content:");
-			logger.debug(content);
-			return false;
-		}
-
-		VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl();
-
-
-		notifyService.updateVnfNotification(
-			messageId,
-			updateVnfNotification.isCompleted(),
-			updateVnfNotification.getException(),
-			updateVnfNotification.getErrorMessage(),
-			updateVnfNotification.getOutputs(),
-			updateVnfNotification.getRollback());
-
-		return true;
-	}
-
-	/**
-	 * Runs a program to inject workflow messages into the test environment.
-	 * A program is essentially just a list of keys that identify event data
-	 * to be injected, in sequence. An example program:
-	 * <pre>
-	 *     event1, event2
-	 * </pre>
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * NOTE: Each callback must have a workflow message type associated with it.
-	 * @param callbacks an object containing event data for the program
-	 * @param program the program to execute
-	 */
-	protected void injectWorkflowMessages(CallbackSet callbacks, String program) {
-
-		String[] cmds = program.replaceAll("\\s+", "").split(",");
-
-		for (String cmd : cmds) {
-			String action = cmd;
-			String modifier = "STD";
-
-			if (cmd.contains(":")) {
-				String[] parts = cmd.split(":");
-				action = parts[0];
-				modifier = parts[1];
-			}
-
-			String messageType = null;
-			String content = null;
-			String contentType = null;
-
-			if ("STD".equals(modifier)) {
-				CallbackData callbackData = callbacks.get(action);
-
-				if (callbackData == null) {
-					String msg = "No '" + action + "' workflow message callback is defined";
-					logger.debug(msg);
-					fail(msg);
-				}
-
-				messageType = callbackData.getMessageType();
-
-				if (messageType == null || messageType.trim().equals("")) {
-					String msg = "No workflow message type is defined in the '" + action + "' callback";
-					logger.debug(msg);
-					fail(msg);
-				}
-
-				content = callbackData.getContent();
-				contentType = callbackData.getContentType();
-			} else {
-				String msg = "Invalid workflow message program modifier: '" + modifier + "'";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			if (!injectWorkflowMessage(contentType, messageType, content, 10000)) {
-				fail("Failed to inject '" + action + "' workflow message");
-			}
-
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-				fail("Interrupted after injection of '" + action + "' workflow message");
-			}
-		}
-	}
-
-	/**
-	 * Injects a workflow message. The specified callback data may contain the
-	 * placeholder string ((CORRELATOR)) which is replaced with the actual
-	 * correlator value.
-	 * @param contentType the HTTP contentType for the message (possibly null)
-	 * @param messageType the message type
-	 * @param content the message content (possibly null)
-	 * @param timeout the timeout in milliseconds
-	 * @return true if the message could be injected, false otherwise
-	 */
-	protected boolean injectWorkflowMessage(String contentType, String messageType, String content, long timeout) {
-		String correlator = (String) getProcessVariable("ReceiveWorkflowMessage",
-			messageType + "_CORRELATOR", timeout);
-
-		if (correlator == null) {
-			return false;
-		}
-
-		if (content != null) {
-			content = content.replace("((CORRELATOR))", correlator);
-		}
-
-		logger.debug("Injecting " + messageType + " message");
-
-		Response response = workflowMessageResource.deliver(contentType, messageType, correlator, content);
-		logger.debug("Workflow response to {} message: {}", messageType, response);
-		return true;
-	}
-
-	/**
-	 * Runs a program to inject sniro workflow messages into the test environment.
-	 * A program is essentially just a list of keys that identify event data
-	 * to be injected, in sequence. For more details, see
-	 * injectSNIROCallbacks(String contentType, String messageType, String content, long timeout)
-	 *
-	 * Errors are handled with junit assertions and will cause the test to fail.
-	 * NOTE: Each callback must have a workflow message type associated with it.
-	 *
-	 * @param callbacks an object containing event data for the program
-	 * @param program the program to execute
-	 */
-	protected void injectSNIROCallbacks(CallbackSet callbacks, String program) {
-
-		String[] cmds = program.replaceAll("\\s+", "").split(",");
-
-		for (String cmd : cmds) {
-			String action = cmd;
-			String modifier = "STD";
-
-			if (cmd.contains(":")) {
-				String[] parts = cmd.split(":");
-				action = parts[0];
-				modifier = parts[1];
-			}
-
-			String messageType = null;
-			String content = null;
-			String contentType = null;
-
-			if ("STD".equals(modifier)) {
-				CallbackData callbackData = callbacks.get(action);
-
-				if (callbackData == null) {
-					String msg = "No '" + action + "' workflow message callback is defined";
-					logger.debug(msg);
-					fail(msg);
-				}
-
-				messageType = callbackData.getMessageType();
-
-				if (messageType == null || messageType.trim().equals("")) {
-					String msg = "No workflow message type is defined in the '" + action + "' callback";
-					logger.debug(msg);
-					fail(msg);
-				}
-
-				content = callbackData.getContent();
-				contentType = callbackData.getContentType();
-			} else {
-				String msg = "Invalid workflow message program modifier: '" + modifier + "'";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			if (!injectSNIROCallbacks(contentType, messageType, content, 10000)) {
-				fail("Failed to inject '" + action + "' workflow message");
-			}
-
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-				fail("Interrupted after injection of '" + action + "' workflow message");
-			}
-		}
-	}
-
-	/**
-	 * Injects a sniro workflow message. The specified callback response may
-	 * contain the placeholder strings ((CORRELATOR)) and ((SERVICE_RESOURCE_ID))
-	 * The ((CORRELATOR)) is replaced with the actual correlator value from the
-	 * request. The ((SERVICE_RESOURCE_ID)) is replaced with the actual serviceResourceId
-	 * value from the sniro request. Currently this only works with sniro request
-	 * that contain only 1 resource.
-	 *
-	 * @param contentType the HTTP contentType for the message (possibly null)
-	 * @param messageType the message type
-	 * @param content the message content (possibly null)
-	 * @param timeout the timeout in milliseconds
-	 * @return true if the message could be injected, false otherwise
-	 */
-	protected boolean injectSNIROCallbacks(String contentType, String messageType, String content, long timeout) {
-		String correlator = (String) getProcessVariable("ReceiveWorkflowMessage",
-			messageType + "_CORRELATOR", timeout);
-
-		if (correlator == null) {
-			return false;
-		}
-		if (content != null) {
-			content = content.replace("((CORRELATOR))", correlator);
-			if(messageType.equalsIgnoreCase("SNIROResponse")){
-				ServiceDecomposition decomp = (ServiceDecomposition) getProcessVariable("Homing", "serviceDecomposition", timeout);
-				List<Resource> resourceList = decomp.getServiceResources();
-				if(resourceList.size() == 1){
-					String resourceId = "";
-					for(Resource resource:resourceList){
-						resourceId = resource.getResourceId();
-					}
-					String homingList = getJsonValue(content, "solutionInfo.placementInfo");
-					JSONArray placementArr = null;
-					try {
-						placementArr = new JSONArray(homingList);
-					}
-					catch (Exception e) {
-						return false;
-					}
-					if(placementArr.length() == 1){
-						content = content.replace("((SERVICE_RESOURCE_ID))", resourceId);
-					}
-					String licenseInfoList = getJsonValue(content, "solutionInfo.licenseInfo");
-					JSONArray licenseArr = null;
-					try {
-						licenseArr = new JSONArray(licenseInfoList);
-					}
-					catch (Exception e) {
-						return false;
-					}
-					if(licenseArr.length() == 1){
-						content = content.replace("((SERVICE_RESOURCE_ID))", resourceId);
-					}
-				}
-				else {
-					try {
-						String homingList = getJsonValue(content, "solutionInfo.placementInfo");
-						String licenseInfoList = getJsonValue(content, "solutionInfo.licenseInfo");
-						JSONArray placementArr = new JSONArray(homingList);
-						JSONArray licenseArr = new JSONArray(licenseInfoList);
-						for (Resource resource: resourceList) {
-							String resourceModuleName = resource.getModelInfo().getModelInstanceName();
-							String resourceId = resource.getResourceId();
-
-							for (int i=0; i<placementArr.length(); i++) {
-								JSONObject placementObj = placementArr.getJSONObject(i);
-								String placementModuleName = placementObj.getString("resourceModuleName");
-								if (placementModuleName.equalsIgnoreCase(resourceModuleName)) {
-									String placementString = placementObj.toString();
-									placementString = placementString.replace("((SERVICE_RESOURCE_ID))", resourceId);
-									JSONObject newPlacementObj = new JSONObject(placementString);
-									placementArr.put(i, newPlacementObj);
-								}
-							}
-
-							for (int i=0; i<licenseArr.length(); i++) {
-								JSONObject licenseObj = licenseArr.getJSONObject(i);
-								String licenseModuleName = licenseObj.getString("resourceModuleName");
-								if (licenseModuleName.equalsIgnoreCase(resourceModuleName)) {
-									String licenseString = licenseObj.toString();
-									licenseString = licenseString.replace("((SERVICE_RESOURCE_ID))", resourceId);
-									JSONObject newLicenseObj = new JSONObject(licenseString);
-									licenseArr.put(i, newLicenseObj);
-								}
-							}
-						}
-						String newPlacementInfos = placementArr.toString();
-						String newLicenseInfos = licenseArr.toString();
-						content = updJsonValue(content, "solutionInfo.placementInfo", newPlacementInfos);
-						content = updJsonValue(content, "solutionInfo.licenseInfo", newLicenseInfos);
-					}
-					catch(Exception e) {
-						return false;
-					}
-
-				}
-			}
-		}
-		logger.debug("Injecting " + messageType + " message");
-
-		Response response = workflowMessageResource.deliver(contentType, messageType, correlator, content);
-		logger.debug("Workflow response to {} message: {}", messageType, response);
-		return true;
-	}
-
-
-	/**
-	 * Wait for the process to end.
-	 * @param businessKey the process business key
-	 * @param timeout the amount of time to wait, in milliseconds
-	 */
-	protected void waitForProcessEnd(String businessKey, long timeout) {
-		logger.debug("Waiting {}ms for process with business key {} to end", timeout, businessKey);
-
-		long now = System.currentTimeMillis() + timeout;
-		long endTime = now + timeout;
-
-		while (now <= endTime) {
-			if (isProcessEnded(businessKey)) {
-				logger.debug("Process with business key {} has ended", businessKey);
-				return;
-			}
-
-			try {
-				Thread.sleep(200);
-			} catch (InterruptedException e) {
-				String msg = "Interrupted waiting for process with business key " +
-					businessKey + " to end";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			now = System.currentTimeMillis();
-		}
-
-		String msg = "Process with business key " + businessKey +
-			" did not end within " + timeout + "ms";
-		logger.debug(msg);
-		fail(msg);
-	}
-
-	/**
-	 * Wait for the process to end. Must be used when multiple process instances exist with
-	 * this same business key such as when its passed to subflows or shared across multiple
-	 * processes.
-	 *
-	 * @param businessKey the process business key
-	 * @param processName the process definition name
-	 * @param timeout the amount of time to wait, in milliseconds
-	 * @author cb645j
-	 */
-	protected void waitForProcessEnd(String businessKey, String processName, long timeout) {
-		logger.debug("Waiting {}ms for process with business key {} to end", timeout, businessKey);
-
-		long now = System.currentTimeMillis() + timeout;
-		long endTime = now + timeout;
-
-		while (now <= endTime) {
-			if (isProcessEnded(businessKey, processName)) {
-				logger.debug("Process with business key {} has ended", businessKey);
-				return;
-			}
-
-			try {
-				Thread.sleep(200);
-			} catch (InterruptedException e) {
-				String msg = "Interrupted waiting for process with business key " +
-					businessKey + " to end";
-				logger.debug(msg);
-				fail(msg);
-			}
-
-			now = System.currentTimeMillis();
-		}
-
-		String msg = "Process with business key " + businessKey +
-			" did not end within " + timeout + "ms";
-		logger.debug(msg);
-		fail(msg);
-	}
-
-	/**
-	 * Verifies that the specified historic process variable has the specified value.
-	 * If the variable does not have the specified value, the test is failed.
-	 *
-	 * @param businessKey the process business key
-	 * @param variable the variable name
-	 * @param value the expected variable value
-	 */
-	protected void checkVariable(String businessKey, String variable, Object value) {
-		if (!isProcessEnded(businessKey)) {
-			fail("Cannot get historic variable " + variable + " because process with business key " +
-				businessKey + " has not ended");
-		}
-
-		Object variableValue = getVariableFromHistory(businessKey, variable);
-		assertEquals(value, variableValue);
-	}
-
-	/**
-	 * Checks to see if the specified process is ended.
-	 * @param businessKey the process business Key
-	 * @return true if the process is ended
-	 */
-	protected boolean isProcessEnded(String businessKey) {
-		HistoricProcessInstance processInstance = historyService
-			.createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).singleResult();
-		return processInstance != null && processInstance.getEndTime() != null;
-	}
-
-	/**
-	 * Checks to see if the specified process is ended.
-	 *
-	 * @param processInstanceId the process Instance Id
-	 * @return true if the process is ended
-	 */
-	protected boolean isProcessEndedByProcessInstanceId(String processInstanceId) {
-		HistoricProcessInstance processInstance = historyService
-				.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
-		return processInstance != null && processInstance.getEndTime() != null;
-	}
-
-	/**
-	 * Checks to see if the specified process is ended.
-	 *
-	 * @author cb645j
-	 */
-	//TODO combine into 1
-	private boolean isProcessEnded(String businessKey, String processName) {
-		HistoricProcessInstance processInstance = historyService
-			.createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).processDefinitionName(processName).singleResult();
-		return processInstance != null && processInstance.getEndTime() != null;
-	}
-
-	/**
-	 * Gets a variable value from a historical process instance. The business key must be unique.
-	 *
-	 * @param businessKey the process business key
-	 * @param variableName the variable name
-	 * @return the variable value or null if the variable does not exist
-	 */
-	protected Object getVariableFromHistory(String businessKey, String variableName) {
-		try {
-			HistoricProcessInstance processInstance = historyService
-				.createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).singleResult();
-
-			if (processInstance == null) {
-				return null;
-			}
-
-			HistoricVariableInstance v = historyService
-				.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId())
-				.variableName(variableName).singleResult();
-			return v == null ? null : v.getValue();
-		} catch (Exception e) {
-			logger.debug("Error retrieving variable {} from historical process with business key {}: ", variableName, businessKey,
-					e);
-			return null;
-		}
-	}
-
-	/**
-	 * Gets a variable value from a process instance based on businessKey and process name.
-	 * Must be used when multiple instances exist with the same business key such as when
-	 * business key is passed to subflows or shared across multiple processes. This method
-	 * can obtain variables from mainflows and from subflows.
-	 *
-	 * @param businessKey the process business key
-	 * @param processName the process definition name
-	 * @param variableName the variable name
-	 * @return the variable value or null if the variable does not exist
-	 * @author cb645j
-	 */
-	protected Object getVariableFromHistory(String businessKey, String processName, String variableName){
-		try{
-			HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).processDefinitionName(processName)
-					.singleResult();
-
-			if(processInstance == null){
-				return null;
-			}
-			HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()).variableName(variableName).singleResult();
-
-			return variable == null ? null : variable.getValue();
-		}catch(ProcessEngineException e){
-			logger.debug("Multiple proccess instances exist with process name {} and business key {}. Must pass instance "
-				+ "index as a parameter.", processName, businessKey);
-			return null;
-		}catch(Exception e){
-			logger.debug("Error retrieving variable {} from historical process for process {} with business key {}: ",
-				variableName, processName, businessKey, e);
-			return null;
-		}
-	}
-
-	/**
-	 * Gets the value of a process variable from x instance of y process. Must be used when
-	 * multiple instances exist with the same business key AND process name. This method
-	 * shall be used primarily for obtaining subflow variables when the business key is
-	 * passed to the subflow AND the subflow is called multiple times in a given flow.
-	 *
-	 * @param businessKey the process business key
-	 * @param processName the name of the subflow that contains the variable
-	 * @param variableName the variable name
-	 * @param processInstanceIndex the instance in which the subprocess was called
-	 * @return the variable value or null if the variable does not exist
-	 * @author cb645j
-	 */
-	protected Object getVariableFromHistory(String businessKey, int subflowInstanceIndex, String processName, String variableName){
-		try{
-			List<HistoricProcessInstance> processInstanceList = historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).processDefinitionName(processName)
-					.list();
-
-			if(processInstanceList == null){
-				return null;
-			}
-			processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime()));
-
-			HistoricProcessInstance processInstance = processInstanceList.get(subflowInstanceIndex);
-			HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId())
-					.variableName(variableName).singleResult();
-
-			return variable == null ? null : variable.getValue();
-		}catch(Exception e) {
-			logger.debug("Error retrieving variable {} from historical process for process {} with business key {}: ",
-				variableName, processName, businessKey, e);
-			return null;
-		}
-	}
-
-
-	/**
-	 * Gets the value of a subflow variable from the specified subflow's
-	 * historical process instance.
-	 *
-	 * DEPRECATED - Use method getVariableFromHistory(businessKey, processName, variableName) instead
-	 *
-	 * @param subflowName - the name of the subflow that contains the variable
-	 * @param variableName the variable name
-	 *
-	 * @return the variable value, or null if the variable could not be obtained
-	 *
-	 */
-	@Deprecated
-	protected Object getVariableFromSubflowHistory(String subflowName, String variableName) {
-		try {
-			List<HistoricProcessInstance> processInstanceList = historyService
-					.createHistoricProcessInstanceQuery().processDefinitionName(subflowName).list();
-
-			if (processInstanceList == null) {
-				return null;
-			}
-
-			processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime()));
-
-			HistoricProcessInstance processInstance = processInstanceList.get(0);
-
-			HistoricVariableInstance v = historyService
-				.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId())
-				.variableName(variableName).singleResult();
-			return v == null ? null : v.getValue();
-		} catch (Exception e) {
-			logger.debug("Error retrieving variable {} from sub flow: {}, Exception is: ", variableName, subflowName, e);
-			return null;
-		}
-	}
-
-	/**
-	 * Gets the value of a subflow variable from the subflow's
-	 * historical process x instance.
-	 *
-	 * DEPRECATED: Use method getVariableFromHistory(businessKey, processInstanceIndex, processName, variableName) instead
-	 *
-	 * @param subflowName - the name of the subflow that contains the variable
-	 * @param variableName the variable name
-	 * @param subflowInstanceIndex - the instance of the subflow (use when same subflow is called more than once from mainflow)
-	 *
-	 * @return the variable value, or null if the variable could not be obtained
-	 */
-	@Deprecated
-	protected Object getVariableFromSubflowHistory(int subflowInstanceIndex, String subflowName, String variableName) {
-		try {
-			List<HistoricProcessInstance> processInstanceList = historyService.createHistoricProcessInstanceQuery().processDefinitionName(subflowName).list();
-
-			if (processInstanceList == null) {
-				return null;
-			}
-
-			processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime()));
-
-			HistoricProcessInstance processInstance = processInstanceList.get(subflowInstanceIndex);
-
-			HistoricVariableInstance v = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId())
-				.variableName(variableName).singleResult();
-			return v == null ? null : v.getValue();
-		} catch (Exception e) {
-			logger.debug("Error retrieving variable {} from {} instance index of sub flow: {}, Exception is: ", variableName,
-				subflowInstanceIndex, subflowName, e);
-			return null;
-		}
-	}
-
-	/**
-	 * Extracts text from an XML element. This method is not namespace aware
-	 * (namespaces are ignored).  The first matching element is selected.
-	 * @param xml the XML document or fragment
-	 * @param tag the desired element, e.g. "<name>"
-	 * @return the element text, or null if the element was not found
-	 */
-	protected String getXMLTextElement(String xml, String tag) {
-		xml = removeXMLNamespaces(xml);
-
-		if (!tag.startsWith("<")) {
-			tag = "<" + tag + ">";
-		}
-
-		int start = xml.indexOf(tag);
-
-		if (start == -1) {
-			return null;
-		}
-
-		int end = xml.indexOf('<', start + tag.length());
-
-		if (end == -1) {
-			return null;
-		}
-
-		return xml.substring(start + tag.length(), end);
-	}
-
-	/**
-	 * Removes namespace definitions and prefixes from XML, if any.
-	 */
-	private String removeXMLNamespaces(String xml) {
-		// remove xmlns declaration
-		xml = xml.replaceAll("xmlns.*?(\"|\').*?(\"|\')", "");
-
-		// remove opening tag prefix
-		xml = xml.replaceAll("(<)(\\w+:)(.*?>)", "$1$3");
-
-		// remove closing tags prefix
-		xml = xml.replaceAll("(</)(\\w+:)(.*?>)", "$1$3");
-
-		// remove extra spaces left when xmlns declarations are removed
-		xml = xml.replaceAll("\\s+>", ">");
-
-		return xml;
-	}
-
-	/**
-	 * Asserts that two XML documents are semantically equivalent.  Differences
-	 * in whitespace or in namespace usage do not affect the comparison.
-	 * @param expected the expected XML
-	 * @param actual the XML to test
-	 * @throws SAXException
-	 * @throws IOException
-	 */
-    public static void assertXMLEquals(String expected, String actual)
-    		throws SAXException, IOException {
-    	XMLUnit.setIgnoreWhitespace(true);
-    	XMLUnit.setIgnoreAttributeOrder(true);
-    	DetailedDiff diff = new DetailedDiff(XMLUnit.compareXML(expected, actual));
-    	List<?> allDifferences = diff.getAllDifferences();
-    	assertEquals("Differences found: " + diff.toString(), 0, allDifferences.size());
+    /**
+     * Logs a test start method.
+     */
+    protected void logStart() {
+        logger.debug("STARTED TEST");
     }
 
-	/**
-	 * A test implementation of AsynchronousResponse.
-	 */
-	public class TestAsyncResponse {
-		Response response = null;
+    /**
+     * Logs a test end method.
+     */
+    protected void logEnd() {
+        logger.debug("ENDED TEST");
+    }
 
-		/**
-		 * {@inheritDoc}
-		 */
-		public synchronized void setResponse(Response response) {
-			this.response = response;
-		}
+    /**
+     * Invokes a subprocess.
+     * 
+     * @param processKey the process key
+     * @param businessKey a unique key that will identify the process instance
+     * @param injectedVariables variables to inject into the process
+     */
+    protected void invokeSubProcess(String processKey, String businessKey, Map<String, Object> injectedVariables) {
+        RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
+        List<String> arguments = runtimeMxBean.getInputArguments();
+        logger.debug("JVM args = {}", arguments);
 
-		/**
-		 * Gets the response.
-		 * @return the response, or null if none has been produced yet
-		 */
-		public synchronized Response getResponse() {
-			return response;
-		}
-	}
+        msoRequestId = (String) injectedVariables.get("mso-request-id");
+        String requestId = (String) injectedVariables.get("msoRequestId");
 
-	/**
-	 * An object that contains callback data for a "program".
-	 */
-	public class CallbackSet {
-		private final Map<String, CallbackData> map = new HashMap<>();
+        if (msoRequestId == null && requestId == null) {
+            String msg = "mso-request-id variable was not provided";
+            logger.debug(msg);
+            fail(msg);
+        }
 
-		/**
-		 * Add untyped callback data to the set.
-		 * @param action the action with which the data is associated
-		 * @param content the callback data
-		 */
-		public void put(String action, String content) {
-			map.put(action, new CallbackData(null, null, content));
-		}
+        // Note: some scenarios don't have a service-instance-id, may be null
+        msoServiceInstanceId = (String) injectedVariables.get("mso-service-instance-id");
 
-		/**
-		 * Add callback data to the set.
-		 * @param action the action with which the data is associated
-		 * @param messageType the callback message type
-		 * @param content the callback data
-		 */
-		public void put(String action, String messageType, String content) {
-			map.put(action, new CallbackData(null, messageType, content));
-		}
 
-		/**
-		 * Add callback data to the set.
-		 * @param action the action with which the data is associated
-		 * @param contentType the callback HTTP content type
-		 * @param messageType the callback message type
-		 * @param content the callback data
-		 */
-		public void put(String action, String contentType, String messageType, String content) {
-			map.put(action, new CallbackData(contentType, messageType, content));
-		}
+        runtimeService.startProcessInstanceByKey(processKey, businessKey, injectedVariables);
+    }
 
-		/**
-		 * Retrieve callback data from the set.
-		 * @param action the action with which the data is associated
-		 * @return the callback data, or null if there is none for the specified operation
-		 */
-		public CallbackData get(String action) {
-			return map.get(action);
-		}
-	}
+    protected String invokeSubProcess(String processKey, Map<String, Object> injectedVariables) {
+        RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
+        List<String> arguments = runtimeMxBean.getInputArguments();
+        logger.debug("JVM args = {}", arguments);
 
-	/**
-	 * Represents a callback data item.
-	 */
-	public class CallbackData {
-		private final String contentType;
-		private final String messageType;
-		private final String content;
+        msoRequestId = (String) injectedVariables.get("mso-request-id");
+        String requestId = (String) injectedVariables.get("msoRequestId");
 
-		/**
-		 * Constructor
-		 * @param contentType the HTTP content type (optional)
-		 * @param messageType the callback message type (optional)
-		 * @param content the content
-		 */
-		public CallbackData(String contentType, String messageType, String content) {
-			this.contentType = contentType;
-			this.messageType = messageType;
-			this.content = content;
-		}
+        if (msoRequestId == null && requestId == null) {
+            String msg = "mso-request-id variable was not provided";
+            logger.debug(msg);
+            fail(msg);
+        }
 
-		/**
-		 * Gets the callback HTTP content type, possibly null.
-		 */
-		public String getContentType() {
-			return contentType;
-		}
+        // Note: some scenarios don't have a service-instance-id, may be null
+        msoServiceInstanceId = (String) injectedVariables.get("mso-service-instance-id");
 
-		/**
-		 * Gets the callback message type, possibly null.
-		 */
-		public String getMessageType() {
-			return messageType;
-		}
 
-		/**
-		 * Gets the callback content.
-		 */
-		public String getContent() {
-			return content;
-		}
-	}
+        ProcessInstance processInstance =
+                runtimeService.startProcessInstanceByKey(processKey, msoRequestId, injectedVariables);
+        return processInstance.getId();
+    }
 
-	/**
-	 * A tool for evaluating XPath expressions.
-	 */
-	protected class XPathTool {
-		private final DocumentBuilderFactory factory;
-		private final SimpleNamespaceContext context = new SimpleNamespaceContext();
-		private final XPath xpath = XPathFactory.newInstance().newXPath();
-		private String xml = null;
-		private Document doc = null;
+    /**
+     * Invokes an asynchronous process. Errors are handled with junit assertions and will cause the test to fail.
+     * 
+     * @param processKey the process key
+     * @param schemaVersion the API schema version, e.g. "v1"
+     * @param businessKey a unique key that will identify the process instance
+     * @param request the request
+     * @return a TestAsyncResponse object associated with the test
+     * @throws InterruptedException
+     */
+    protected TestAsyncResponse invokeAsyncProcess(String processKey, String schemaVersion, String businessKey,
+            String request) throws InterruptedException {
+        return invokeAsyncProcess(processKey, schemaVersion, businessKey, request, null);
+    }
 
-		/**
-		 * Constructor.
-		 */
-		public XPathTool() {
-			factory = DocumentBuilderFactory.newInstance();
-			factory.setNamespaceAware(true);
-			xpath.setNamespaceContext(context);
-		}
+    /**
+     * Invokes an asynchronous process. Errors are handled with junit assertions and will cause the test to fail.
+     * 
+     * @param processKey the process key
+     * @param schemaVersion the API schema version, e.g. "v1"
+     * @param businessKey a unique key that will identify the process instance
+     * @param request the request
+     * @param injectedVariables optional variables to inject into the process
+     * @return a TestAsyncResponse object associated with the test
+     * @throws InterruptedException
+     */
+    protected TestAsyncResponse invokeAsyncProcess(String processKey, String schemaVersion, String businessKey,
+            String request, Map<String, Object> injectedVariables) {
 
-		/**
-		 * Adds a namespace.
-		 * @param prefix the namespace prefix
-		 * @param uri the namespace uri
-		 */
-		public synchronized void addNamespace(String prefix, String uri) {
-			context.add(prefix, uri);
-		}
+        RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
+        List<String> arguments = runtimeMxBean.getInputArguments();
+        logger.debug("JVM args = {}", arguments);
 
-		/**
-		 * Sets the XML content to be operated on.
-		 * @param xml the XML content
-		 */
-		public synchronized void setXML(String xml) {
-			this.xml = xml;
-			this.doc = null;
-		}
+        Map<String, Object> variables = createVariables(schemaVersion, businessKey, request, injectedVariables, false);
+        VariableMapImpl variableMapImpl = createVariableMapImpl(variables);
 
-		/**
-		 * Returns the document object.
-		 * @return the document object, or null if XML has not been set
-		 * @throws SAXException
-		 * @throws IOException
-		 * @throws ParserConfigurationException
-		 */
-		public synchronized Document getDocument()
-				throws ParserConfigurationException, IOException, SAXException {
-			if (xml == null) {
-				return null;
-			}
+        logger.debug("Sending {} to {} process", request, processKey);
 
-			buildDocument();
-			return doc;
-		}
+        TestAsyncResponse asyncResponse = new TestAsyncResponse();
 
-		/**
-		 * Evaluates the specified XPath expression and returns a string result.
-		 * This method throws exceptions on error.
-		 * @param expression the expression
-		 * @return the result object
-		 * @throws ParserConfigurationException
-		 * @throws IOException
-		 * @throws SAXException
-		 * @throws XPathExpressionException on error
-		 */
-		public synchronized String evaluate(String expression)
-				throws ParserConfigurationException, SAXException,
-				IOException, XPathExpressionException {
-			return (String) evaluate(expression, XPathConstants.STRING);
-		}
+        asyncResponse.setResponse(workflowResource.startProcessInstanceByKey(processKey, variableMapImpl));
 
-		/**
-		 * Evaluates the specified XPath expression.
-		 * This method throws exceptions on error.
-		 * @param expression the expression
-		 * @param returnType the return type
-		 * @return the result object
-		 * @throws ParserConfigurationException
-		 * @throws IOException
-		 * @throws SAXException
-		 * @throws XPathExpressionException on error
-		 */
-		public synchronized Object evaluate(String expression, QName returnType)
-				throws ParserConfigurationException, SAXException,
-				IOException, XPathExpressionException {
+        return asyncResponse;
+    }
 
-			buildDocument();
-			XPathExpression expr = xpath.compile(expression);
-			return expr.evaluate(doc, returnType);
-		}
+    /**
+     * Invokes an asynchronous process. Errors are handled with junit assertions and will cause the test to fail.
+     * 
+     * @param processKey the process key
+     * @param schemaVersion the API schema version, e.g. "v1"
+     * @param businessKey a unique key that will identify the process instance
+     * @param request the request
+     * @param injectedVariables optional variables to inject into the process
+     * @param serviceInstantiationModel indicates whether this method is being invoked for a flow that is designed using
+     *        the service instantiation model
+     * @return a TestAsyncResponse object associated with the test
+     * @throws InterruptedException
+     */
+    protected Response invokeAsyncProcess(String processKey, String schemaVersion, String businessKey, String request,
+            Map<String, Object> injectedVariables, boolean serviceInstantiationModel) {
 
-		/**
-		 * Private helper method that builds the document object.
-		 * Assumes the calling method is synchronized.
-		 * @throws ParserConfigurationException
-		 * @throws IOException
-		 * @throws SAXException
-		 */
-		private void buildDocument() throws ParserConfigurationException,
-				IOException, SAXException {
-			if (doc == null) {
-				if (xml == null) {
-					throw new IOException("XML input is null");
-				}
+        RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
+        List<String> arguments = runtimeMxBean.getInputArguments();
+        logger.debug("JVM args = {}", arguments);
 
-				DocumentBuilder builder = factory.newDocumentBuilder();
-				InputSource source = new InputSource(new StringReader(xml));
-				doc = builder.parse(source);
-			}
-		}
-	}
+        Map<String, Object> variables =
+                createVariables(schemaVersion, businessKey, request, injectedVariables, serviceInstantiationModel);
+        VariableMapImpl variableMapImpl = createVariableMapImpl(variables);
 
-	/**
-	 * A NamespaceContext class based on a Map.
-	 */
-	private class SimpleNamespaceContext implements NamespaceContext {
-		private Map<String, String> prefixMap = new HashMap<>();
-		private Map<String, String> uriMap = new HashMap<>();
+        logger.debug("Sending {} to {} process", request, processKey);
 
-		public synchronized void add(String prefix, String uri) {
-			prefixMap.put(prefix, uri);
-			uriMap.put(uri, prefix);
-		}
+        return workflowResource.startProcessInstanceByKey(processKey, variableMapImpl);
 
-		@Override
-		public synchronized String getNamespaceURI(String prefix) {
-			return prefixMap.get(prefix);
-		}
+    }
 
-		@Override
-		public Iterator<String> getPrefixes(String uri) {
-			List<String> list = new ArrayList<>();
-			String prefix = uriMap.get(uri);
-			if (prefix != null) {
-				list.add(prefix);
-			}
-			return list.iterator();
-		}
+    /**
+     * Private helper method that creates a variable map for a request. Errors are handled with junit assertions and
+     * will cause the test to fail.
+     * 
+     * @param schemaVersion the API schema version, e.g. "v1"
+     * @param businessKey a unique key that will identify the process instance
+     * @param request the request
+     * @param injectedVariables optional variables to inject into the process
+     * @param serviceInstantiationModel indicates whether this method is being invoked for a flow that is designed using
+     *        the service instantiation model
+     * @return a variable map
+     */
+    private Map<String, Object> createVariables(String schemaVersion, String businessKey, String request,
+            Map<String, Object> injectedVariables, boolean serviceInstantiationModel) {
 
-		@Override
-		public String getPrefix(String uri) {
-			return uriMap.get(uri);
-		}
-	}
+        Map<String, Object> variables = new HashMap<>();
 
-	/**
-	 * A VnfNotify XPathTool.
-	 */
-	protected class VnfNotifyXPathTool extends XPathTool {
-		public VnfNotifyXPathTool() {
-			addNamespace("tns", "http://org.onap.so/vnfNotify");
-		}
-	}
+        // These variables may be overridded by injected variables.
+        variables.put("mso-service-request-timeout", "180");
+        variables.put("isDebugLogEnabled", "true");
 
-	/**
-	 * Helper class to make it easier to create this type.
-	 */
-	private static class CreateVnfNotificationOutputs
-			extends CreateVnfNotification.Outputs {
-		public void add(String key, String value) {
-			Entry entry = new Entry();
-			entry.setKey(key);
-			entry.setValue(value);
-			getEntry().add(entry);
-		}
-	}
+        // These variables may not be overridded by injected variables.
+        String[] notAllowed = new String[] {"mso-schema-version", "mso-business-key", "bpmnRequest", "mso-request-id",
+                "mso-service-instance-id"};
 
-	/**
-	 * Helper class to make it easier to create this type.
-	 */
-	private static class UpdateVnfNotificationOutputs
-			extends UpdateVnfNotification.Outputs {
-		public void add(String key, String value) {
-			Entry entry = new Entry();
-			entry.setKey(key);
-			entry.setValue(value);
-			getEntry().add(entry);
-		}
-	}
+        if (injectedVariables != null) {
+            for (String key : injectedVariables.keySet()) {
+                for (String var : notAllowed) {
+                    if (var.equals(key)) {
+                        String msg = "Cannot specify " + var + " in injected variables";
+                        logger.debug(msg);
+                        fail(msg);
+                    }
+                }
+
+                variables.put(key, injectedVariables.get(key));
+            }
+        }
+
+        variables.put("mso-schema-version", schemaVersion);
+        variables.put("mso-business-key", businessKey);
+        variables.put("bpmnRequest", request);
+
+        if (serviceInstantiationModel) {
+
+            /*
+             * The request ID and the service instance ID are generated for flows that follow the service instantiation
+             * model unless "requestId" and "serviceInstanceId" are injected variables.
+             */
+
+            try {
+                msoRequestId = (String) injectedVariables.get("requestId");
+                variables.put("mso-request-id", msoRequestId);
+                msoServiceInstanceId = (String) injectedVariables.get("serviceInstanceId");
+                variables.put("mso-service-instance-id", msoServiceInstanceId);
+            } catch (Exception e) {
+            }
+            if (msoRequestId == null || msoRequestId.trim().equals("")) {
+                logger.debug("No requestId element in injectedVariables");
+                variables.put("mso-request-id", UUID.randomUUID().toString());
+            }
+            if (msoServiceInstanceId == null || msoServiceInstanceId.trim().equals("")) {
+                logger.debug("No seviceInstanceId element in injectedVariables");
+                variables.put("mso-service-instance-id", UUID.randomUUID().toString());
+            }
+
+        } else {
+            msoRequestId = getXMLTextElement(request, "request-id");
+
+            if (msoRequestId == null) {
+                // check in injected variables
+                try {
+                    msoRequestId = (String) injectedVariables.get("requestId");
+                } catch (Exception e) {
+                }
+                if (msoRequestId == null || msoRequestId.trim().equals("")) {
+                    String msg = "No request-id element in " + request;
+                    logger.debug(msg);
+                    fail(msg);
+                }
+            }
+
+            variables.put("mso-request-id", msoRequestId);
+
+            // Note: some request types don't have a service-instance-id
+            msoServiceInstanceId = getXMLTextElement(request, "service-instance-id");
+
+            if (msoServiceInstanceId != null) {
+                variables.put("mso-service-instance-id", msoServiceInstanceId);
+            }
+        }
+
+        return variables;
+    }
+
+    /**
+     * Private helper method that creates a camunda VariableMapImpl from a simple variable map.
+     * 
+     * @param variables the simple variable map
+     * @return a VariableMap
+     */
+    private VariableMapImpl createVariableMapImpl(Map<String, Object> variables) {
+        Map<String, Object> wrappedVariables = new HashMap<>();
+
+        for (String key : variables.keySet()) {
+            Object value = variables.get(key);
+            wrappedVariables.put(key, wrapVariableValue(value));
+        }
+
+        VariableMapImpl variableMapImpl = new VariableMapImpl();
+        variableMapImpl.put("variables", wrappedVariables);
+        return variableMapImpl;
+    }
+
+    /**
+     * Private helper method that wraps a variable value for inclusion in a camunda VariableMapImpl.
+     * 
+     * @param value the variable value
+     * @return the wrapped variable
+     */
+    private Map<String, Object> wrapVariableValue(Object value) {
+        HashMap<String, Object> valueMap = new HashMap<>();
+        valueMap.put("value", value);
+        return valueMap;
+    }
+
+    /**
+     * Receives a response from an asynchronous process. Errors are handled with junit assertions and will cause the
+     * test to fail.
+     * 
+     * @param businessKey the process business key
+     * @param asyncResponse the TestAsyncResponse object associated with the test
+     * @param timeout the timeout in milliseconds
+     * @return the WorkflowResponse
+     */
+    protected WorkflowResponse receiveResponse(String businessKey, TestAsyncResponse asyncResponse, long timeout) {
+        logger.debug("Waiting {}ms for process with business key {} to send a response", timeout, businessKey);
+
+        long now = System.currentTimeMillis() + timeout;
+        long endTime = now + timeout;
+
+        while (now <= endTime) {
+            Response response = asyncResponse.getResponse();
+
+            if (response != null) {
+                logger.debug("Received a response from process with business key {}", businessKey);
+
+                Object entity = response.getEntity();
+
+                if (!(entity instanceof WorkflowResponse)) {
+                    String msg = "Response entity is " + (entity == null ? "null" : entity.getClass().getName())
+                            + ", expected WorkflowResponse";
+                    logger.debug(msg);
+                    fail(msg);
+                    return null; // unreachable
+                }
+
+                return (WorkflowResponse) entity;
+            }
+
+            try {
+                Thread.sleep(200);
+            } catch (InterruptedException e) {
+                String msg = "Interrupted waiting for a response from process with business key " + businessKey;
+                logger.debug(msg);
+                fail(msg);
+                return null; // unreachable
+            }
+
+            now = System.currentTimeMillis();
+        }
+
+        String msg = "No response received from process with business key " + businessKey + " within " + timeout + "ms";
+        logger.debug(msg);
+        fail("Process with business key " + businessKey + " did not end within 10000ms");
+        return null; // unreachable
+    }
+
+    /**
+     * Runs a program to inject SDNC callback data into the test environment. A program is essentially just a list of
+     * keys that identify callback data to be injected, in sequence. An example program:
+     * 
+     * <pre>
+     *     reserve, assign, delete:ERR
+     * </pre>
+     * 
+     * Errors are handled with junit assertions and will cause the test to fail.
+     * 
+     * @param callbacks an object containing callback data for the program
+     * @param program the program to execute
+     */
+    protected void injectSDNCRestCallbacks(CallbackSet callbacks, String program) {
+
+        String[] cmds = program.replaceAll("\\s+", "").split(",");
+
+        for (String cmd : cmds) {
+            String action = cmd;
+            String modifier = "STD";
+
+            if (cmd.contains(":")) {
+                String[] parts = cmd.split(":");
+                action = parts[0];
+                modifier = parts[1];
+            }
+
+            String content = null;
+            String contentType = null;
+
+            if ("STD".equals(modifier)) {
+                CallbackData callbackData = callbacks.get(action);
+
+                if (callbackData == null) {
+                    String msg = "No callback defined for '" + action + "' SDNC request";
+                    logger.debug(msg);
+                    fail(msg);
+                }
+
+                content = callbackData.getContent();
+                contentType = callbackData.getContentType();
+            } else if ("ERR".equals(modifier)) {
+                content =
+                        "{\"SDNCServiceError\":{\"sdncRequestId\":\"((REQUEST-ID))\",\"responseCode\":\"500\",\"responseMessage\":\"SIMULATED ERROR FROM SDNC ADAPTER\",\"ackFinalIndicator\":\"Y\"}}";
+                contentType = JSON;
+            } else {
+                String msg = "Invalid SDNC program modifier: '" + modifier + "'";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            if (contentType == null) {
+                // Default for backward compatibility with existing tests.
+                contentType = JSON;
+            }
+
+            if (!injectSDNCRestCallback(contentType, content, 10000)) {
+                fail("Failed to inject SDNC '" + action + "' callback");
+            }
+
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+                fail("Interrupted after injection of SDNC '" + action + "' callback");
+            }
+        }
+    }
+
+    /**
+     * Runs a program to inject SDNC events into the test environment. A program is essentially just a list of keys that
+     * identify event data to be injected, in sequence. An example program:
+     * 
+     * <pre>
+     *     event1, event2
+     * </pre>
+     * 
+     * NOTE: Each callback must have a message type associated with it, e.g. "SDNCAEvent". Errors are handled with junit
+     * assertions and will cause the test to fail.
+     * 
+     * @param callbacks an object containing event data for the program
+     * @param program the program to execute
+     */
+    protected void injectSDNCEvents(CallbackSet callbacks, String program) {
+        injectWorkflowMessages(callbacks, program);
+    }
+
+    /**
+     * Runs a program to inject SDNC callback data into the test environment. A program is essentially just a list of
+     * keys that identify callback data to be injected, in sequence. An example program:
+     * 
+     * <pre>
+     *     reserve, assign, delete:ERR
+     * </pre>
+     * 
+     * Errors are handled with junit assertions and will cause the test to fail. Uses the static/default timeout value
+     * for backward compatibility.
+     * 
+     * @param callbacks an object containing callback data for the program
+     * @param program the program to execute
+     */
+    protected void injectSDNCCallbacks(CallbackSet callbacks, String program) {
+        injectSDNCCallbacks(callbacks, program, timeout);
+    }
+
+    /**
+     * Runs a program to inject SDNC callback data into the test environment. A program is essentially just a list of
+     * keys that identify callback data to be injected, in sequence. An example program:
+     * 
+     * <pre>
+     *     reserve, assign, delete:ERR
+     * </pre>
+     * 
+     * Errors are handled with junit assertions and will cause the test to fail.
+     * 
+     * @param callbacks an object containing callback data for the program
+     * @param program the program to execute
+     * @param timeout a timeout value to wait for the callback
+     */
+    protected void injectSDNCCallbacks(CallbackSet callbacks, String program, int timeout) {
+
+        String[] cmds = program.replaceAll("\\s+", "").split(",");
+
+        for (String cmd : cmds) {
+            String action = cmd;
+            String modifier = "STD";
+
+            if (cmd.contains(":")) {
+                String[] parts = cmd.split(":");
+                action = parts[0];
+                modifier = parts[1];
+            }
+
+            String content = null;
+            int respCode = 200;
+            String respMsg = "OK";
+
+            if ("STD".equals(modifier)) {
+                CallbackData callbackData = callbacks.get(action);
+
+                if (callbackData == null) {
+                    String msg = "No callback defined for '" + action + "' SDNC request";
+                    logger.debug(msg);
+                    fail(msg);
+                }
+
+                content = callbackData.getContent();
+                respCode = 200;
+                respMsg = "OK";
+            } else if ("CREATED".equals(modifier)) {
+                CallbackData callbackData = callbacks.get(action);
+
+                if (callbackData == null) {
+                    String msg = "No callback defined for '" + action + "' SDNC request";
+                    logger.debug(msg);
+                    fail(msg);
+                }
+
+                content = callbackData.getContent();
+                respCode = 201;
+                respMsg = "Created";
+            } else if ("ERR".equals(modifier)) {
+                content =
+                        "<svc-request-id>((REQUEST-ID))</svc-request-id><response-code>500</response-code><response-message>SIMULATED ERROR FROM SDNC ADAPTER</response-message>";
+                respCode = 500;
+                respMsg = "SERVER ERROR";
+            } else {
+                String msg = "Invalid SDNC program modifier: '" + modifier + "'";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            if (!injectSDNCCallback(respCode, respMsg, content, 10000)) {
+                fail("Failed to inject SDNC '" + action + "' callback");
+            }
+
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+                fail("Interrupted after injection of SDNC '" + action + "' callback");
+            }
+        }
+    }
+
+    /**
+     * Runs a program to inject VNF adapter REST callback data into the test environment. A program is essentially just
+     * a list of keys that identify callback data to be injected, in sequence. An example program:
+     * 
+     * <pre>
+     *     create, rollback
+     * </pre>
+     * 
+     * Errors are handled with junit assertions and will cause the test to fail.
+     * 
+     * @param callbacks an object containing callback data for the program
+     * @param program the program to execute
+     */
+    protected void injectVNFRestCallbacks(CallbackSet callbacks, String program) {
+
+        String[] cmds = program.replaceAll("\\s+", "").split(",");
+
+        for (String cmd : cmds) {
+            String action = cmd;
+            String modifier = "STD";
+
+            if (cmd.contains(":")) {
+                String[] parts = cmd.split(":");
+                action = parts[0];
+                modifier = parts[1];
+            }
+
+            String content = null;
+            String contentType = null;
+
+            if ("STD".equals(modifier)) {
+                CallbackData callbackData = callbacks.get(action);
+
+                if (callbackData == null) {
+                    String msg = "No callback defined for '" + action + "' VNF REST request";
+                    logger.debug(msg);
+                    fail(msg);
+                }
+
+                content = callbackData.getContent();
+                contentType = callbackData.getContentType();
+            } else if ("ERR".equals(modifier)) {
+                content = "SIMULATED ERROR FROM VNF ADAPTER";
+                contentType = "text/plain";
+            } else {
+                String msg = "Invalid VNF REST program modifier: '" + modifier + "'";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            if (contentType == null) {
+                // Default for backward compatibility with existing tests.
+                contentType = XML;
+            }
+
+            if (!injectVnfAdapterRestCallback(contentType, content, 10000)) {
+                fail("Failed to inject VNF REST '" + action + "' callback");
+            }
+
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+                fail("Interrupted after injection of VNF REST '" + action + "' callback");
+            }
+        }
+    }
+
+    /**
+     * Runs a program to inject VNF callback data into the test environment. A program is essentially just a list of
+     * keys that identify callback data to be injected, in sequence. An example program:
+     * 
+     * <pre>
+     *     createVnf, deleteVnf
+     * </pre>
+     * 
+     * Errors are handled with junit assertions and will cause the test to fail.
+     * 
+     * @param callbacks an object containing callback data for the program
+     * @param program the program to execute
+     */
+    protected void injectVNFCallbacks(CallbackSet callbacks, String program) {
+
+        String[] cmds = program.replaceAll("\\s+", "").split(",");
+
+        for (String cmd : cmds) {
+            String action = cmd;
+            String modifier = "STD";
+
+            if (cmd.contains(":")) {
+                String[] parts = cmd.split(":");
+                action = parts[0];
+                modifier = parts[1];
+            }
+
+            String content = null;
+
+            if ("STD".equals(modifier)) {
+                CallbackData callbackData = callbacks.get(action);
+
+                if (callbackData == null) {
+                    String msg = "No callback defined for '" + action + "' VNF request";
+                    logger.debug(msg);
+                    fail(msg);
+                }
+
+                content = callbackData.getContent();
+            } else if ("ERR".equals(modifier)) {
+                String msg = "Currently unsupported VNF program modifier: '" + modifier + "'";
+                logger.debug(msg);
+                fail(msg);
+            } else {
+                String msg = "Invalid VNF program modifier: '" + modifier + "'";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            boolean injected = false;
+
+            if (content.contains("createVnfNotification")) {
+                injected = injectCreateVNFCallback(content, 10000);
+            } else if (content.contains("deleteVnfNotification")) {
+                injected = injectDeleteVNFCallback(content, 10000);
+            } else if (content.contains("updateVnfNotification")) {
+                injected = injectUpdateVNFCallback(content, 10000);
+            }
+
+            if (!injected) {
+                String msg = "Failed to inject VNF '" + action + "' callback";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+                fail("Interrupted after injection of VNF '" + action + "' callback");
+            }
+        }
+    }
+
+    /**
+     * Waits for the number of running processes with the specified process definition key to equal a particular count.
+     * 
+     * @param processKey the process definition key
+     * @param count the desired count
+     * @param timeout the timeout in milliseconds
+     */
+    protected void waitForRunningProcessCount(String processKey, int count, long timeout) {
+        logger.debug("Waiting {}ms for there to be {} {} instances", timeout, count, processKey);
+
+        long now = System.currentTimeMillis() + timeout;
+        long endTime = now + timeout;
+        int last = -1;
+
+        while (now <= endTime) {
+            int actual = runtimeService.createProcessInstanceQuery().processDefinitionKey(processKey).list().size();
+
+            if (actual != last) {
+                logger.debug("There are now {} {} instances", actual, processKey);
+                last = actual;
+            }
+
+            if (actual == count) {
+                return;
+            }
+
+            try {
+                Thread.sleep(200);
+            } catch (InterruptedException e) {
+                String msg = "Interrupted waiting for there to be " + count + " " + processKey + " instances";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            now = System.currentTimeMillis();
+        }
+
+        String msg = "Timed out waiting for there to be " + count + " " + processKey + " instances";
+        logger.debug(msg);
+        fail(msg);
+    }
+
+    /**
+     * Waits for the specified process variable to be set.
+     * 
+     * @param processKey the process definition key
+     * @param variable the variable name
+     * @param timeout the timeout in milliseconds
+     * @return the variable value, or null if it cannot be obtained in the specified time
+     */
+    protected Object getProcessVariable(String processKey, String variable, long timeout) {
+
+        logger.debug("Waiting " + timeout + "ms for " + processKey + "." + variable + " to be set");
+
+        long now = System.currentTimeMillis() + timeout;
+        long endTime = now + timeout;
+
+        ProcessInstance processInstance = null;
+        Object value = null;
+
+        while (value == null) {
+            if (now > endTime) {
+                if (processInstance == null) {
+                    logger.debug("Timed out waiting for " + processKey + " to start");
+                } else {
+                    logger.debug("Timed out waiting for " + processKey + "[" + processInstance.getId() + "]." + variable
+                            + " to be set");
+                }
+
+                return null;
+            }
+
+            ProcessInstanceQuery processInstanceQuery = null;
+            if (processInstance == null) {
+                processInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionKey(processKey);
+            }
+
+            if (processInstanceQuery.count() == 1 || processInstanceQuery.count() == 0) {
+                processInstance = processInstanceQuery.singleResult();
+            } else {
+                // TODO There shouldnt be more than one in the list but seems to be happening, need to figure out why
+                // happening and best way to get correct one from list
+                logger.debug("Process Instance Query returned {} instance. Getting the last instance in the list",
+                        processInstanceQuery.count());
+                List<ProcessInstance> processList = processInstanceQuery.list();
+                processInstance = processList.get((processList.size() - 1));
+            }
+
+
+            if (processInstance != null) {
+                value = runtimeService.getVariable(processInstance.getId(), variable);
+            }
+
+            try {
+                Thread.sleep(200);
+            } catch (InterruptedException e) {
+                logger.debug("Interrupted waiting for {}.{} to be set", processKey, variable);
+                return null;
+            }
+
+            now = System.currentTimeMillis();
+        }
+
+        logger.debug(processKey + "[" + processInstance.getId() + "]." + variable + "=" + value);
+
+        return value;
+    }
+
+    /**
+     * Injects a single SDNC adapter callback request. The specified callback data may contain the placeholder string
+     * ((REQUEST-ID)) which is replaced with the actual SDNC request ID. Note: this is not the requestId in the original
+     * MSO request.
+     * 
+     * @param contentType the HTTP content type for the callback
+     * @param content the content of the callback
+     * @param timeout the timeout in milliseconds
+     * @return true if the callback could be injected, false otherwise
+     */
+    protected boolean injectSDNCRestCallback(String contentType, String content, long timeout) {
+        String sdncRequestId = (String) getProcessVariable("SDNCAdapterRestV1", "SDNCAResponse_CORRELATOR", timeout);
+
+        if (sdncRequestId == null) {
+            sdncRequestId = (String) getProcessVariable("SDNCAdapterRestV2", "SDNCAResponse_CORRELATOR", timeout);
+        }
+
+        if (sdncRequestId == null) {
+            return false;
+        }
+
+        content = content.replace("((REQUEST-ID))", sdncRequestId);
+        // Deprecated usage. All test code should switch to the (( ... )) syntax.
+        content = content.replace("{{REQUEST-ID}}", sdncRequestId);
+
+        logger.debug("Injecting SDNC adapter callback");
+
+        Response response = workflowMessageResource.deliver(contentType, "SDNCAResponse", sdncRequestId, content);
+        logger.debug("Workflow response to SDNC adapter callback: " + response);
+        return true;
+    }
+
+    /**
+     * Injects a single SDNC adapter callback request. The specified callback data may contain the placeholder string
+     * ((REQUEST-ID)) which is replaced with the actual SDNC request ID. Note: this is not the requestId in the original
+     * MSO request.
+     * 
+     * @param content the content of the callback
+     * @param respCode the response code (normally 200)
+     * @param respMsg the response message (normally "OK")
+     * @param timeout the timeout in milliseconds
+     * @return true if the callback could be injected, false otherwise
+     */
+    protected boolean injectSDNCCallback(int respCode, String respMsg, String content, long timeout) {
+
+        String sdncRequestId = (String) getProcessVariable("sdncAdapter", "SDNCA_requestId", timeout);
+
+        if (sdncRequestId == null) {
+            return false;
+        }
+
+        content = content.replace("((REQUEST-ID))", sdncRequestId);
+        // Deprecated usage. All test code should switch to the (( ... )) syntax.
+        content = content.replace("{{REQUEST-ID}}", sdncRequestId);
+
+        // TODO this needs to be fixed. It is causing double tags and content
+        // Need to parse content before setting below since content includes not just RequestData or modify callback
+        // files to only contain RequestData contents.
+
+        logger.debug("Injecting SDNC adapter callback");
+        CallbackHeader callbackHeader = new CallbackHeader();
+        callbackHeader.setRequestId(sdncRequestId);
+        callbackHeader.setResponseCode(String.valueOf(respCode));
+        callbackHeader.setResponseMessage(respMsg);
+        SDNCAdapterCallbackRequest sdncAdapterCallbackRequest = new SDNCAdapterCallbackRequest();
+        sdncAdapterCallbackRequest.setCallbackHeader(callbackHeader);
+        sdncAdapterCallbackRequest.setRequestData(content);
+        SDNCAdapterResponse sdncAdapterResponse = callbackService.sdncAdapterCallback(sdncAdapterCallbackRequest);
+        logger.debug("Workflow response to SDNC adapter callback: " + sdncAdapterResponse);
+
+        return true;
+    }
+
+    /**
+     * Injects a single VNF adapter callback request. The specified callback data may contain the placeholder string
+     * ((MESSAGE-ID)) which is replaced with the actual message ID. Note: this is not the requestId in the original MSO
+     * request.
+     * 
+     * @param contentType the HTTP content type for the callback
+     * @param content the content of the callback
+     * @param timeout the timeout in milliseconds
+     * @return true if the callback could be injected, false otherwise
+     */
+    protected boolean injectVnfAdapterRestCallback(String contentType, String content, long timeout) {
+        String messageId = (String) getProcessVariable("vnfAdapterRestV1", "VNFAResponse_CORRELATOR", timeout);
+
+        if (messageId == null) {
+            return false;
+        }
+
+        content = content.replace("((MESSAGE-ID))", messageId);
+        // Deprecated usage. All test code should switch to the (( ... )) syntax.
+        content = content.replace("{{MESSAGE-ID}}", messageId);
+
+        logger.debug("Injecting VNF adapter callback");
+
+        Response response = workflowMessageResource.deliver(contentType, "VNFAResponse", messageId, content);
+        logger.debug("Workflow response to VNF adapter callback: {}", response);
+        return true;
+    }
+
+    /**
+     * Injects a Create VNF adapter callback request. The specified callback data may contain the placeholder string
+     * ((MESSAGE-ID)) which is replaced with the actual message ID. It may also contain the placeholder string
+     * ((REQUEST-ID)) which is replaced request ID of the original MSO request.
+     * 
+     * @param content the content of the callback
+     * @param timeout the timeout in milliseconds
+     * @return true if the callback could be injected, false otherwise
+     * @throws JAXBException if the content does not adhere to the schema
+     */
+    protected boolean injectCreateVNFCallback(String content, long timeout) {
+
+        String messageId = (String) getProcessVariable("vnfAdapterCreateV1", "VNFC_messageId", timeout);
+
+        if (messageId == null) {
+            return false;
+        }
+
+        content = content.replace("((MESSAGE-ID))", messageId);
+        // Deprecated usage. All test code should switch to the (( ... )) syntax.
+        content = content.replace("{{MESSAGE-ID}}", messageId);
+
+        if (content.contains("((REQUEST-ID))")) {
+            content = content.replace("((REQUEST-ID))", msoRequestId);
+            // Deprecated usage. All test code should switch to the (( ... )) syntax.
+            content = content.replace("{{REQUEST-ID}}", msoRequestId);
+        }
+
+        logger.debug("Injecting VNF adapter callback");
+
+        // Is it possible to unmarshal this with JAXB? I couldn't.
+
+        CreateVnfNotification createVnfNotification = new CreateVnfNotification();
+        XPathTool xpathTool = new VnfNotifyXPathTool();
+        xpathTool.setXML(content);
+
+        try {
+            String completed = xpathTool.evaluate("/tns:createVnfNotification/tns:completed/text()");
+            createVnfNotification.setCompleted("true".equals(completed));
+
+            String vnfId = xpathTool.evaluate("/tns:createVnfNotification/tns:vnfId/text()");
+            createVnfNotification.setVnfId(vnfId);
+
+            NodeList entries = (NodeList) xpathTool.evaluate("/tns:createVnfNotification/tns:outputs/tns:entry",
+                    XPathConstants.NODESET);
+
+            CreateVnfNotificationOutputs outputs = new CreateVnfNotificationOutputs();
+
+            for (int i = 0; i < entries.getLength(); i++) {
+                Node node = entries.item(i);
+
+                if (node.getNodeType() == Node.ELEMENT_NODE) {
+                    Element entry = (Element) node;
+                    String key = entry.getElementsByTagNameNS("*", "key").item(0).getTextContent();
+                    String value = entry.getElementsByTagNameNS("*", "value").item(0).getTextContent();
+                    outputs.add(key, value);
+                }
+            }
+
+            createVnfNotification.setOutputs(outputs);
+
+            VnfRollback rollback = new VnfRollback();
+
+            String cloudSiteId = xpathTool.evaluate("/tns:createVnfNotification/tns:rollback/tns:cloudSiteId/text()");
+            rollback.setCloudSiteId(cloudSiteId);
+
+            String cloudOwner = xpathTool.evaluate("/tns:createVnfNotification/tns:rollback/tns:cloudOwner/text()");
+            rollback.setCloudOwner(cloudOwner);
+
+            String requestId =
+                    xpathTool.evaluate("/tns:createVnfNotification/tns:rollback/tns:msoRequest/tns:requestId/text()");
+            String serviceInstanceId = xpathTool
+                    .evaluate("/tns:createVnfNotification/tns:rollback/tns:msoRequest/tns:serviceInstanceId/text()");
+
+            if (requestId != null || serviceInstanceId != null) {
+                MsoRequest msoRequest = new MsoRequest();
+                msoRequest.setRequestId(requestId);
+                msoRequest.setServiceInstanceId(serviceInstanceId);
+                rollback.setMsoRequest(msoRequest);
+            }
+
+            String tenantCreated =
+                    xpathTool.evaluate("/tns:createVnfNotification/tns:rollback/tns:tenantCreated/text()");
+            rollback.setTenantCreated("true".equals(tenantCreated));
+
+            String tenantId = xpathTool.evaluate("/tns:createVnfNotification/tns:rollback/tns:tenantId/text()");
+            rollback.setTenantId(tenantId);
+
+            String vnfCreated = xpathTool.evaluate("/tns:createVnfNotification/tns:rollback/tns:vnfCreated/text()");
+            rollback.setVnfCreated("true".equals(vnfCreated));
+
+            String rollbackVnfId = xpathTool.evaluate("/tns:createVnfNotification/tns:rollback/tns:vnfId/text()");
+            rollback.setVnfId(rollbackVnfId);
+
+            createVnfNotification.setRollback(rollback);
+
+        } catch (Exception e) {
+            logger.debug("Failed to unmarshal VNF callback content:");
+            logger.debug(content);
+            return false;
+        }
+
+        VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl();
+
+
+        notifyService.createVnfNotification(messageId, createVnfNotification.isCompleted(),
+                createVnfNotification.getException(), createVnfNotification.getErrorMessage(),
+                createVnfNotification.getVnfId(), createVnfNotification.getOutputs(),
+                createVnfNotification.getRollback());
+
+        return true;
+    }
+
+    /**
+     * Injects a Delete VNF adapter callback request. The specified callback data may contain the placeholder string
+     * ((MESSAGE-ID)) which is replaced with the actual message ID. It may also contain the placeholder string
+     * ((REQUEST-ID)) which is replaced request ID of the original MSO request.
+     * 
+     * @param content the content of the callback
+     * @param timeout the timeout in milliseconds
+     * @return true if the callback could be injected, false otherwise
+     * @throws JAXBException if the content does not adhere to the schema
+     */
+    protected boolean injectDeleteVNFCallback(String content, long timeout) {
+
+        String messageId = (String) getProcessVariable("vnfAdapterDeleteV1", "VNFDEL_uuid", timeout);
+
+        if (messageId == null) {
+            return false;
+        }
+
+        content = content.replace("((MESSAGE-ID))", messageId);
+        // Deprecated usage. All test code should switch to the (( ... )) syntax.
+        content = content.replace("{{MESSAGE-ID}}", messageId);
+
+        logger.debug("Injecting VNF adapter delete callback");
+
+        // Is it possible to unmarshal this with JAXB? I couldn't.
+
+        DeleteVnfNotification deleteVnfNotification = new DeleteVnfNotification();
+        XPathTool xpathTool = new VnfNotifyXPathTool();
+        xpathTool.setXML(content);
+
+        try {
+            String completed = xpathTool.evaluate("/tns:deleteVnfNotification/tns:completed/text()");
+            deleteVnfNotification.setCompleted("true".equals(completed));
+            // if notification failure, set the exception and error message
+            if (deleteVnfNotification.isCompleted() == false) {
+                deleteVnfNotification.setException(MsoExceptionCategory.INTERNAL);
+                deleteVnfNotification
+                        .setErrorMessage(xpathTool.evaluate("/tns:deleteVnfNotification/tns:errorMessage/text()"));
+            }
+
+        } catch (Exception e) {
+            logger.debug("Failed to unmarshal VNF Delete callback content:");
+            logger.debug(content);
+            return false;
+        }
+
+        VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl();
+
+
+        notifyService.deleteVnfNotification(messageId, deleteVnfNotification.isCompleted(),
+                deleteVnfNotification.getException(), deleteVnfNotification.getErrorMessage());
+
+        return true;
+    }
+
+    /**
+     * Injects a Update VNF adapter callback request. The specified callback data may contain the placeholder string
+     * ((MESSAGE-ID)) which is replaced with the actual message ID. It may also contain the placeholder string
+     * ((REQUEST-ID)) which is replaced request ID of the original MSO request.
+     * 
+     * @param content the content of the callback
+     * @param timeout the timeout in milliseconds
+     * @return true if the callback could be injected, false otherwise
+     * @throws JAXBException if the content does not adhere to the schema
+     */
+    protected boolean injectUpdateVNFCallback(String content, long timeout) {
+
+        String messageId = (String) getProcessVariable("vnfAdapterUpdate", "VNFU_messageId", timeout);
+
+        if (messageId == null) {
+            return false;
+        }
+
+        content = content.replace("((MESSAGE-ID))", messageId);
+        // Deprecated usage. All test code should switch to the (( ... )) syntax.
+        content = content.replace("{{MESSAGE-ID}}", messageId);
+
+        content = content.replace("((REQUEST-ID))", msoRequestId);
+        // Deprecated usage. All test code should switch to the (( ... )) syntax.
+        content = content.replace("{{REQUEST-ID}}", msoRequestId);
+
+        logger.debug("Injecting VNF adapter callback");
+
+        // Is it possible to unmarshal this with JAXB? I couldn't.
+
+        UpdateVnfNotification updateVnfNotification = new UpdateVnfNotification();
+        XPathTool xpathTool = new VnfNotifyXPathTool();
+        xpathTool.setXML(content);
+
+        try {
+            String completed = xpathTool.evaluate("/tns:updateVnfNotification/tns:completed/text()");
+            updateVnfNotification.setCompleted("true".equals(completed));
+
+            NodeList entries = (NodeList) xpathTool.evaluate("/tns:updateVnfNotification/tns:outputs/tns:entry",
+                    XPathConstants.NODESET);
+
+            UpdateVnfNotificationOutputs outputs = new UpdateVnfNotificationOutputs();
+
+            for (int i = 0; i < entries.getLength(); i++) {
+                Node node = entries.item(i);
+
+                if (node.getNodeType() == Node.ELEMENT_NODE) {
+                    Element entry = (Element) node;
+                    String key = entry.getElementsByTagNameNS("*", "key").item(0).getTextContent();
+                    String value = entry.getElementsByTagNameNS("*", "value").item(0).getTextContent();
+                    outputs.add(key, value);
+                }
+            }
+
+            updateVnfNotification.setOutputs(outputs);
+
+            VnfRollback rollback = new VnfRollback();
+
+            String cloudSiteId = xpathTool.evaluate("/tns:updateVnfNotification/tns:rollback/tns:cloudSiteId/text()");
+            rollback.setCloudSiteId(cloudSiteId);
+
+            String cloudOwner = xpathTool.evaluate("/tns:updateVnfNotification/tns:rollback/tns:cloudOwner/text()");
+            rollback.setCloudOwner(cloudOwner);
+
+            String requestId =
+                    xpathTool.evaluate("/tns:updateVnfNotification/tns:rollback/tns:msoRequest/tns:requestId/text()");
+            String serviceInstanceId = xpathTool
+                    .evaluate("/tns:updateVnfNotification/tns:rollback/tns:msoRequest/tns:serviceInstanceId/text()");
+
+            if (requestId != null || serviceInstanceId != null) {
+                MsoRequest msoRequest = new MsoRequest();
+                msoRequest.setRequestId(requestId);
+                msoRequest.setServiceInstanceId(serviceInstanceId);
+                rollback.setMsoRequest(msoRequest);
+            }
+
+            String tenantCreated =
+                    xpathTool.evaluate("/tns:updateVnfNotification/tns:rollback/tns:tenantCreated/text()");
+            rollback.setTenantCreated("true".equals(tenantCreated));
+
+            String tenantId = xpathTool.evaluate("/tns:updateVnfNotification/tns:rollback/tns:tenantId/text()");
+            rollback.setTenantId(tenantId);
+
+            String vnfCreated = xpathTool.evaluate("/tns:updateVnfNotification/tns:rollback/tns:vnfCreated/text()");
+            rollback.setVnfCreated("true".equals(vnfCreated));
+
+            String rollbackVnfId = xpathTool.evaluate("/tns:updateVnfNotification/tns:rollback/tns:vnfId/text()");
+            rollback.setVnfId(rollbackVnfId);
+
+            updateVnfNotification.setRollback(rollback);
+
+        } catch (Exception e) {
+            logger.debug("Failed to unmarshal VNF callback content:");
+            logger.debug(content);
+            return false;
+        }
+
+        VnfAdapterNotifyServiceImpl notifyService = new VnfAdapterNotifyServiceImpl();
+
+
+        notifyService.updateVnfNotification(messageId, updateVnfNotification.isCompleted(),
+                updateVnfNotification.getException(), updateVnfNotification.getErrorMessage(),
+                updateVnfNotification.getOutputs(), updateVnfNotification.getRollback());
+
+        return true;
+    }
+
+    /**
+     * Runs a program to inject workflow messages into the test environment. A program is essentially just a list of
+     * keys that identify event data to be injected, in sequence. An example program:
+     * 
+     * <pre>
+     *     event1, event2
+     * </pre>
+     * 
+     * Errors are handled with junit assertions and will cause the test to fail. NOTE: Each callback must have a
+     * workflow message type associated with it.
+     * 
+     * @param callbacks an object containing event data for the program
+     * @param program the program to execute
+     */
+    protected void injectWorkflowMessages(CallbackSet callbacks, String program) {
+
+        String[] cmds = program.replaceAll("\\s+", "").split(",");
+
+        for (String cmd : cmds) {
+            String action = cmd;
+            String modifier = "STD";
+
+            if (cmd.contains(":")) {
+                String[] parts = cmd.split(":");
+                action = parts[0];
+                modifier = parts[1];
+            }
+
+            String messageType = null;
+            String content = null;
+            String contentType = null;
+
+            if ("STD".equals(modifier)) {
+                CallbackData callbackData = callbacks.get(action);
+
+                if (callbackData == null) {
+                    String msg = "No '" + action + "' workflow message callback is defined";
+                    logger.debug(msg);
+                    fail(msg);
+                }
+
+                messageType = callbackData.getMessageType();
+
+                if (messageType == null || messageType.trim().equals("")) {
+                    String msg = "No workflow message type is defined in the '" + action + "' callback";
+                    logger.debug(msg);
+                    fail(msg);
+                }
+
+                content = callbackData.getContent();
+                contentType = callbackData.getContentType();
+            } else {
+                String msg = "Invalid workflow message program modifier: '" + modifier + "'";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            if (!injectWorkflowMessage(contentType, messageType, content, 10000)) {
+                fail("Failed to inject '" + action + "' workflow message");
+            }
+
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+                fail("Interrupted after injection of '" + action + "' workflow message");
+            }
+        }
+    }
+
+    /**
+     * Injects a workflow message. The specified callback data may contain the placeholder string ((CORRELATOR)) which
+     * is replaced with the actual correlator value.
+     * 
+     * @param contentType the HTTP contentType for the message (possibly null)
+     * @param messageType the message type
+     * @param content the message content (possibly null)
+     * @param timeout the timeout in milliseconds
+     * @return true if the message could be injected, false otherwise
+     */
+    protected boolean injectWorkflowMessage(String contentType, String messageType, String content, long timeout) {
+        String correlator = (String) getProcessVariable("ReceiveWorkflowMessage", messageType + "_CORRELATOR", timeout);
+
+        if (correlator == null) {
+            return false;
+        }
+
+        if (content != null) {
+            content = content.replace("((CORRELATOR))", correlator);
+        }
+
+        logger.debug("Injecting " + messageType + " message");
+
+        Response response = workflowMessageResource.deliver(contentType, messageType, correlator, content);
+        logger.debug("Workflow response to {} message: {}", messageType, response);
+        return true;
+    }
+
+    /**
+     * Runs a program to inject sniro workflow messages into the test environment. A program is essentially just a list
+     * of keys that identify event data to be injected, in sequence. For more details, see injectSNIROCallbacks(String
+     * contentType, String messageType, String content, long timeout)
+     *
+     * Errors are handled with junit assertions and will cause the test to fail. NOTE: Each callback must have a
+     * workflow message type associated with it.
+     *
+     * @param callbacks an object containing event data for the program
+     * @param program the program to execute
+     */
+    protected void injectSNIROCallbacks(CallbackSet callbacks, String program) {
+
+        String[] cmds = program.replaceAll("\\s+", "").split(",");
+
+        for (String cmd : cmds) {
+            String action = cmd;
+            String modifier = "STD";
+
+            if (cmd.contains(":")) {
+                String[] parts = cmd.split(":");
+                action = parts[0];
+                modifier = parts[1];
+            }
+
+            String messageType = null;
+            String content = null;
+            String contentType = null;
+
+            if ("STD".equals(modifier)) {
+                CallbackData callbackData = callbacks.get(action);
+
+                if (callbackData == null) {
+                    String msg = "No '" + action + "' workflow message callback is defined";
+                    logger.debug(msg);
+                    fail(msg);
+                }
+
+                messageType = callbackData.getMessageType();
+
+                if (messageType == null || messageType.trim().equals("")) {
+                    String msg = "No workflow message type is defined in the '" + action + "' callback";
+                    logger.debug(msg);
+                    fail(msg);
+                }
+
+                content = callbackData.getContent();
+                contentType = callbackData.getContentType();
+            } else {
+                String msg = "Invalid workflow message program modifier: '" + modifier + "'";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            if (!injectSNIROCallbacks(contentType, messageType, content, 10000)) {
+                fail("Failed to inject '" + action + "' workflow message");
+            }
+
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+                fail("Interrupted after injection of '" + action + "' workflow message");
+            }
+        }
+    }
+
+    /**
+     * Injects a sniro workflow message. The specified callback response may contain the placeholder strings
+     * ((CORRELATOR)) and ((SERVICE_RESOURCE_ID)) The ((CORRELATOR)) is replaced with the actual correlator value from
+     * the request. The ((SERVICE_RESOURCE_ID)) is replaced with the actual serviceResourceId value from the sniro
+     * request. Currently this only works with sniro request that contain only 1 resource.
+     *
+     * @param contentType the HTTP contentType for the message (possibly null)
+     * @param messageType the message type
+     * @param content the message content (possibly null)
+     * @param timeout the timeout in milliseconds
+     * @return true if the message could be injected, false otherwise
+     */
+    protected boolean injectSNIROCallbacks(String contentType, String messageType, String content, long timeout) {
+        String correlator = (String) getProcessVariable("ReceiveWorkflowMessage", messageType + "_CORRELATOR", timeout);
+
+        if (correlator == null) {
+            return false;
+        }
+        if (content != null) {
+            content = content.replace("((CORRELATOR))", correlator);
+            if (messageType.equalsIgnoreCase("SNIROResponse")) {
+                ServiceDecomposition decomp =
+                        (ServiceDecomposition) getProcessVariable("Homing", "serviceDecomposition", timeout);
+                List<Resource> resourceList = decomp.getServiceResources();
+                if (resourceList.size() == 1) {
+                    String resourceId = "";
+                    for (Resource resource : resourceList) {
+                        resourceId = resource.getResourceId();
+                    }
+                    String homingList = getJsonValue(content, "solutionInfo.placementInfo");
+                    JSONArray placementArr = null;
+                    try {
+                        placementArr = new JSONArray(homingList);
+                    } catch (Exception e) {
+                        return false;
+                    }
+                    if (placementArr.length() == 1) {
+                        content = content.replace("((SERVICE_RESOURCE_ID))", resourceId);
+                    }
+                    String licenseInfoList = getJsonValue(content, "solutionInfo.licenseInfo");
+                    JSONArray licenseArr = null;
+                    try {
+                        licenseArr = new JSONArray(licenseInfoList);
+                    } catch (Exception e) {
+                        return false;
+                    }
+                    if (licenseArr.length() == 1) {
+                        content = content.replace("((SERVICE_RESOURCE_ID))", resourceId);
+                    }
+                } else {
+                    try {
+                        String homingList = getJsonValue(content, "solutionInfo.placementInfo");
+                        String licenseInfoList = getJsonValue(content, "solutionInfo.licenseInfo");
+                        JSONArray placementArr = new JSONArray(homingList);
+                        JSONArray licenseArr = new JSONArray(licenseInfoList);
+                        for (Resource resource : resourceList) {
+                            String resourceModuleName = resource.getModelInfo().getModelInstanceName();
+                            String resourceId = resource.getResourceId();
+
+                            for (int i = 0; i < placementArr.length(); i++) {
+                                JSONObject placementObj = placementArr.getJSONObject(i);
+                                String placementModuleName = placementObj.getString("resourceModuleName");
+                                if (placementModuleName.equalsIgnoreCase(resourceModuleName)) {
+                                    String placementString = placementObj.toString();
+                                    placementString = placementString.replace("((SERVICE_RESOURCE_ID))", resourceId);
+                                    JSONObject newPlacementObj = new JSONObject(placementString);
+                                    placementArr.put(i, newPlacementObj);
+                                }
+                            }
+
+                            for (int i = 0; i < licenseArr.length(); i++) {
+                                JSONObject licenseObj = licenseArr.getJSONObject(i);
+                                String licenseModuleName = licenseObj.getString("resourceModuleName");
+                                if (licenseModuleName.equalsIgnoreCase(resourceModuleName)) {
+                                    String licenseString = licenseObj.toString();
+                                    licenseString = licenseString.replace("((SERVICE_RESOURCE_ID))", resourceId);
+                                    JSONObject newLicenseObj = new JSONObject(licenseString);
+                                    licenseArr.put(i, newLicenseObj);
+                                }
+                            }
+                        }
+                        String newPlacementInfos = placementArr.toString();
+                        String newLicenseInfos = licenseArr.toString();
+                        content = updJsonValue(content, "solutionInfo.placementInfo", newPlacementInfos);
+                        content = updJsonValue(content, "solutionInfo.licenseInfo", newLicenseInfos);
+                    } catch (Exception e) {
+                        return false;
+                    }
+
+                }
+            }
+        }
+        logger.debug("Injecting " + messageType + " message");
+
+        Response response = workflowMessageResource.deliver(contentType, messageType, correlator, content);
+        logger.debug("Workflow response to {} message: {}", messageType, response);
+        return true;
+    }
+
+
+    /**
+     * Wait for the process to end.
+     * 
+     * @param businessKey the process business key
+     * @param timeout the amount of time to wait, in milliseconds
+     */
+    protected void waitForProcessEnd(String businessKey, long timeout) {
+        logger.debug("Waiting {}ms for process with business key {} to end", timeout, businessKey);
+
+        long now = System.currentTimeMillis() + timeout;
+        long endTime = now + timeout;
+
+        while (now <= endTime) {
+            if (isProcessEnded(businessKey)) {
+                logger.debug("Process with business key {} has ended", businessKey);
+                return;
+            }
+
+            try {
+                Thread.sleep(200);
+            } catch (InterruptedException e) {
+                String msg = "Interrupted waiting for process with business key " + businessKey + " to end";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            now = System.currentTimeMillis();
+        }
+
+        String msg = "Process with business key " + businessKey + " did not end within " + timeout + "ms";
+        logger.debug(msg);
+        fail(msg);
+    }
+
+    /**
+     * Wait for the process to end. Must be used when multiple process instances exist with this same business key such
+     * as when its passed to subflows or shared across multiple processes.
+     *
+     * @param businessKey the process business key
+     * @param processName the process definition name
+     * @param timeout the amount of time to wait, in milliseconds
+     * @author cb645j
+     */
+    protected void waitForProcessEnd(String businessKey, String processName, long timeout) {
+        logger.debug("Waiting {}ms for process with business key {} to end", timeout, businessKey);
+
+        long now = System.currentTimeMillis() + timeout;
+        long endTime = now + timeout;
+
+        while (now <= endTime) {
+            if (isProcessEnded(businessKey, processName)) {
+                logger.debug("Process with business key {} has ended", businessKey);
+                return;
+            }
+
+            try {
+                Thread.sleep(200);
+            } catch (InterruptedException e) {
+                String msg = "Interrupted waiting for process with business key " + businessKey + " to end";
+                logger.debug(msg);
+                fail(msg);
+            }
+
+            now = System.currentTimeMillis();
+        }
+
+        String msg = "Process with business key " + businessKey + " did not end within " + timeout + "ms";
+        logger.debug(msg);
+        fail(msg);
+    }
+
+    /**
+     * Verifies that the specified historic process variable has the specified value. If the variable does not have the
+     * specified value, the test is failed.
+     *
+     * @param businessKey the process business key
+     * @param variable the variable name
+     * @param value the expected variable value
+     */
+    protected void checkVariable(String businessKey, String variable, Object value) {
+        if (!isProcessEnded(businessKey)) {
+            fail("Cannot get historic variable " + variable + " because process with business key " + businessKey
+                    + " has not ended");
+        }
+
+        Object variableValue = getVariableFromHistory(businessKey, variable);
+        assertEquals(value, variableValue);
+    }
+
+    /**
+     * Checks to see if the specified process is ended.
+     * 
+     * @param businessKey the process business Key
+     * @return true if the process is ended
+     */
+    protected boolean isProcessEnded(String businessKey) {
+        HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery()
+                .processInstanceBusinessKey(businessKey).singleResult();
+        return processInstance != null && processInstance.getEndTime() != null;
+    }
+
+    /**
+     * Checks to see if the specified process is ended.
+     *
+     * @param processInstanceId the process Instance Id
+     * @return true if the process is ended
+     */
+    protected boolean isProcessEndedByProcessInstanceId(String processInstanceId) {
+        HistoricProcessInstance processInstance =
+                historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
+        return processInstance != null && processInstance.getEndTime() != null;
+    }
+
+    /**
+     * Checks to see if the specified process is ended.
+     *
+     * @author cb645j
+     */
+    // TODO combine into 1
+    private boolean isProcessEnded(String businessKey, String processName) {
+        HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery()
+                .processInstanceBusinessKey(businessKey).processDefinitionName(processName).singleResult();
+        return processInstance != null && processInstance.getEndTime() != null;
+    }
+
+    /**
+     * Gets a variable value from a historical process instance. The business key must be unique.
+     *
+     * @param businessKey the process business key
+     * @param variableName the variable name
+     * @return the variable value or null if the variable does not exist
+     */
+    protected Object getVariableFromHistory(String businessKey, String variableName) {
+        try {
+            HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery()
+                    .processInstanceBusinessKey(businessKey).singleResult();
+
+            if (processInstance == null) {
+                return null;
+            }
+
+            HistoricVariableInstance v = historyService.createHistoricVariableInstanceQuery()
+                    .processInstanceId(processInstance.getId()).variableName(variableName).singleResult();
+            return v == null ? null : v.getValue();
+        } catch (Exception e) {
+            logger.debug("Error retrieving variable {} from historical process with business key {}: ", variableName,
+                    businessKey, e);
+            return null;
+        }
+    }
+
+    /**
+     * Gets a variable value from a process instance based on businessKey and process name. Must be used when multiple
+     * instances exist with the same business key such as when business key is passed to subflows or shared across
+     * multiple processes. This method can obtain variables from mainflows and from subflows.
+     *
+     * @param businessKey the process business key
+     * @param processName the process definition name
+     * @param variableName the variable name
+     * @return the variable value or null if the variable does not exist
+     * @author cb645j
+     */
+    protected Object getVariableFromHistory(String businessKey, String processName, String variableName) {
+        try {
+            HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery()
+                    .processInstanceBusinessKey(businessKey).processDefinitionName(processName).singleResult();
+
+            if (processInstance == null) {
+                return null;
+            }
+            HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery()
+                    .processInstanceId(processInstance.getId()).variableName(variableName).singleResult();
+
+            return variable == null ? null : variable.getValue();
+        } catch (ProcessEngineException e) {
+            logger.debug(
+                    "Multiple proccess instances exist with process name {} and business key {}. Must pass instance "
+                            + "index as a parameter.",
+                    processName, businessKey);
+            return null;
+        } catch (Exception e) {
+            logger.debug("Error retrieving variable {} from historical process for process {} with business key {}: ",
+                    variableName, processName, businessKey, e);
+            return null;
+        }
+    }
+
+    /**
+     * Gets the value of a process variable from x instance of y process. Must be used when multiple instances exist
+     * with the same business key AND process name. This method shall be used primarily for obtaining subflow variables
+     * when the business key is passed to the subflow AND the subflow is called multiple times in a given flow.
+     *
+     * @param businessKey the process business key
+     * @param processName the name of the subflow that contains the variable
+     * @param variableName the variable name
+     * @param processInstanceIndex the instance in which the subprocess was called
+     * @return the variable value or null if the variable does not exist
+     * @author cb645j
+     */
+    protected Object getVariableFromHistory(String businessKey, int subflowInstanceIndex, String processName,
+            String variableName) {
+        try {
+            List<HistoricProcessInstance> processInstanceList = historyService.createHistoricProcessInstanceQuery()
+                    .processInstanceBusinessKey(businessKey).processDefinitionName(processName).list();
+
+            if (processInstanceList == null) {
+                return null;
+            }
+            processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime()));
+
+            HistoricProcessInstance processInstance = processInstanceList.get(subflowInstanceIndex);
+            HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery()
+                    .processInstanceId(processInstance.getId()).variableName(variableName).singleResult();
+
+            return variable == null ? null : variable.getValue();
+        } catch (Exception e) {
+            logger.debug("Error retrieving variable {} from historical process for process {} with business key {}: ",
+                    variableName, processName, businessKey, e);
+            return null;
+        }
+    }
+
+
+    /**
+     * Gets the value of a subflow variable from the specified subflow's historical process instance.
+     *
+     * DEPRECATED - Use method getVariableFromHistory(businessKey, processName, variableName) instead
+     *
+     * @param subflowName - the name of the subflow that contains the variable
+     * @param variableName the variable name
+     *
+     * @return the variable value, or null if the variable could not be obtained
+     *
+     */
+    @Deprecated
+    protected Object getVariableFromSubflowHistory(String subflowName, String variableName) {
+        try {
+            List<HistoricProcessInstance> processInstanceList =
+                    historyService.createHistoricProcessInstanceQuery().processDefinitionName(subflowName).list();
+
+            if (processInstanceList == null) {
+                return null;
+            }
+
+            processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime()));
+
+            HistoricProcessInstance processInstance = processInstanceList.get(0);
+
+            HistoricVariableInstance v = historyService.createHistoricVariableInstanceQuery()
+                    .processInstanceId(processInstance.getId()).variableName(variableName).singleResult();
+            return v == null ? null : v.getValue();
+        } catch (Exception e) {
+            logger.debug("Error retrieving variable {} from sub flow: {}, Exception is: ", variableName, subflowName,
+                    e);
+            return null;
+        }
+    }
+
+    /**
+     * Gets the value of a subflow variable from the subflow's historical process x instance.
+     *
+     * DEPRECATED: Use method getVariableFromHistory(businessKey, processInstanceIndex, processName, variableName)
+     * instead
+     *
+     * @param subflowName - the name of the subflow that contains the variable
+     * @param variableName the variable name
+     * @param subflowInstanceIndex - the instance of the subflow (use when same subflow is called more than once from
+     *        mainflow)
+     *
+     * @return the variable value, or null if the variable could not be obtained
+     */
+    @Deprecated
+    protected Object getVariableFromSubflowHistory(int subflowInstanceIndex, String subflowName, String variableName) {
+        try {
+            List<HistoricProcessInstance> processInstanceList =
+                    historyService.createHistoricProcessInstanceQuery().processDefinitionName(subflowName).list();
+
+            if (processInstanceList == null) {
+                return null;
+            }
+
+            processInstanceList.sort((m1, m2) -> m1.getStartTime().compareTo(m2.getStartTime()));
+
+            HistoricProcessInstance processInstance = processInstanceList.get(subflowInstanceIndex);
+
+            HistoricVariableInstance v = historyService.createHistoricVariableInstanceQuery()
+                    .processInstanceId(processInstance.getId()).variableName(variableName).singleResult();
+            return v == null ? null : v.getValue();
+        } catch (Exception e) {
+            logger.debug("Error retrieving variable {} from {} instance index of sub flow: {}, Exception is: ",
+                    variableName, subflowInstanceIndex, subflowName, e);
+            return null;
+        }
+    }
+
+    /**
+     * Extracts text from an XML element. This method is not namespace aware (namespaces are ignored). The first
+     * matching element is selected.
+     * 
+     * @param xml the XML document or fragment
+     * @param tag the desired element, e.g. "<name>"
+     * @return the element text, or null if the element was not found
+     */
+    protected String getXMLTextElement(String xml, String tag) {
+        xml = removeXMLNamespaces(xml);
+
+        if (!tag.startsWith("<")) {
+            tag = "<" + tag + ">";
+        }
+
+        int start = xml.indexOf(tag);
+
+        if (start == -1) {
+            return null;
+        }
+
+        int end = xml.indexOf('<', start + tag.length());
+
+        if (end == -1) {
+            return null;
+        }
+
+        return xml.substring(start + tag.length(), end);
+    }
+
+    /**
+     * Removes namespace definitions and prefixes from XML, if any.
+     */
+    private String removeXMLNamespaces(String xml) {
+        // remove xmlns declaration
+        xml = xml.replaceAll("xmlns.*?(\"|\').*?(\"|\')", "");
+
+        // remove opening tag prefix
+        xml = xml.replaceAll("(<)(\\w+:)(.*?>)", "$1$3");
+
+        // remove closing tags prefix
+        xml = xml.replaceAll("(</)(\\w+:)(.*?>)", "$1$3");
+
+        // remove extra spaces left when xmlns declarations are removed
+        xml = xml.replaceAll("\\s+>", ">");
+
+        return xml;
+    }
+
+    /**
+     * Asserts that two XML documents are semantically equivalent. Differences in whitespace or in namespace usage do
+     * not affect the comparison.
+     * 
+     * @param expected the expected XML
+     * @param actual the XML to test
+     * @throws SAXException
+     * @throws IOException
+     */
+    public static void assertXMLEquals(String expected, String actual) throws SAXException, IOException {
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLUnit.setIgnoreAttributeOrder(true);
+        DetailedDiff diff = new DetailedDiff(XMLUnit.compareXML(expected, actual));
+        List<?> allDifferences = diff.getAllDifferences();
+        assertEquals("Differences found: " + diff.toString(), 0, allDifferences.size());
+    }
+
+    /**
+     * A test implementation of AsynchronousResponse.
+     */
+    public class TestAsyncResponse {
+        Response response = null;
+
+        /**
+         * {@inheritDoc}
+         */
+        public synchronized void setResponse(Response response) {
+            this.response = response;
+        }
+
+        /**
+         * Gets the response.
+         * 
+         * @return the response, or null if none has been produced yet
+         */
+        public synchronized Response getResponse() {
+            return response;
+        }
+    }
+
+    /**
+     * An object that contains callback data for a "program".
+     */
+    public class CallbackSet {
+        private final Map<String, CallbackData> map = new HashMap<>();
+
+        /**
+         * Add untyped callback data to the set.
+         * 
+         * @param action the action with which the data is associated
+         * @param content the callback data
+         */
+        public void put(String action, String content) {
+            map.put(action, new CallbackData(null, null, content));
+        }
+
+        /**
+         * Add callback data to the set.
+         * 
+         * @param action the action with which the data is associated
+         * @param messageType the callback message type
+         * @param content the callback data
+         */
+        public void put(String action, String messageType, String content) {
+            map.put(action, new CallbackData(null, messageType, content));
+        }
+
+        /**
+         * Add callback data to the set.
+         * 
+         * @param action the action with which the data is associated
+         * @param contentType the callback HTTP content type
+         * @param messageType the callback message type
+         * @param content the callback data
+         */
+        public void put(String action, String contentType, String messageType, String content) {
+            map.put(action, new CallbackData(contentType, messageType, content));
+        }
+
+        /**
+         * Retrieve callback data from the set.
+         * 
+         * @param action the action with which the data is associated
+         * @return the callback data, or null if there is none for the specified operation
+         */
+        public CallbackData get(String action) {
+            return map.get(action);
+        }
+    }
+
+    /**
+     * Represents a callback data item.
+     */
+    public class CallbackData {
+        private final String contentType;
+        private final String messageType;
+        private final String content;
+
+        /**
+         * Constructor
+         * 
+         * @param contentType the HTTP content type (optional)
+         * @param messageType the callback message type (optional)
+         * @param content the content
+         */
+        public CallbackData(String contentType, String messageType, String content) {
+            this.contentType = contentType;
+            this.messageType = messageType;
+            this.content = content;
+        }
+
+        /**
+         * Gets the callback HTTP content type, possibly null.
+         */
+        public String getContentType() {
+            return contentType;
+        }
+
+        /**
+         * Gets the callback message type, possibly null.
+         */
+        public String getMessageType() {
+            return messageType;
+        }
+
+        /**
+         * Gets the callback content.
+         */
+        public String getContent() {
+            return content;
+        }
+    }
+
+    /**
+     * A tool for evaluating XPath expressions.
+     */
+    protected class XPathTool {
+        private final DocumentBuilderFactory factory;
+        private final SimpleNamespaceContext context = new SimpleNamespaceContext();
+        private final XPath xpath = XPathFactory.newInstance().newXPath();
+        private String xml = null;
+        private Document doc = null;
+
+        /**
+         * Constructor.
+         */
+        public XPathTool() {
+            factory = DocumentBuilderFactory.newInstance();
+            factory.setNamespaceAware(true);
+            xpath.setNamespaceContext(context);
+        }
+
+        /**
+         * Adds a namespace.
+         * 
+         * @param prefix the namespace prefix
+         * @param uri the namespace uri
+         */
+        public synchronized void addNamespace(String prefix, String uri) {
+            context.add(prefix, uri);
+        }
+
+        /**
+         * Sets the XML content to be operated on.
+         * 
+         * @param xml the XML content
+         */
+        public synchronized void setXML(String xml) {
+            this.xml = xml;
+            this.doc = null;
+        }
+
+        /**
+         * Returns the document object.
+         * 
+         * @return the document object, or null if XML has not been set
+         * @throws SAXException
+         * @throws IOException
+         * @throws ParserConfigurationException
+         */
+        public synchronized Document getDocument() throws ParserConfigurationException, IOException, SAXException {
+            if (xml == null) {
+                return null;
+            }
+
+            buildDocument();
+            return doc;
+        }
+
+        /**
+         * Evaluates the specified XPath expression and returns a string result. This method throws exceptions on error.
+         * 
+         * @param expression the expression
+         * @return the result object
+         * @throws ParserConfigurationException
+         * @throws IOException
+         * @throws SAXException
+         * @throws XPathExpressionException on error
+         */
+        public synchronized String evaluate(String expression)
+                throws ParserConfigurationException, SAXException, IOException, XPathExpressionException {
+            return (String) evaluate(expression, XPathConstants.STRING);
+        }
+
+        /**
+         * Evaluates the specified XPath expression. This method throws exceptions on error.
+         * 
+         * @param expression the expression
+         * @param returnType the return type
+         * @return the result object
+         * @throws ParserConfigurationException
+         * @throws IOException
+         * @throws SAXException
+         * @throws XPathExpressionException on error
+         */
+        public synchronized Object evaluate(String expression, QName returnType)
+                throws ParserConfigurationException, SAXException, IOException, XPathExpressionException {
+
+            buildDocument();
+            XPathExpression expr = xpath.compile(expression);
+            return expr.evaluate(doc, returnType);
+        }
+
+        /**
+         * Private helper method that builds the document object. Assumes the calling method is synchronized.
+         * 
+         * @throws ParserConfigurationException
+         * @throws IOException
+         * @throws SAXException
+         */
+        private void buildDocument() throws ParserConfigurationException, IOException, SAXException {
+            if (doc == null) {
+                if (xml == null) {
+                    throw new IOException("XML input is null");
+                }
+
+                DocumentBuilder builder = factory.newDocumentBuilder();
+                InputSource source = new InputSource(new StringReader(xml));
+                doc = builder.parse(source);
+            }
+        }
+    }
+
+    /**
+     * A NamespaceContext class based on a Map.
+     */
+    private class SimpleNamespaceContext implements NamespaceContext {
+        private Map<String, String> prefixMap = new HashMap<>();
+        private Map<String, String> uriMap = new HashMap<>();
+
+        public synchronized void add(String prefix, String uri) {
+            prefixMap.put(prefix, uri);
+            uriMap.put(uri, prefix);
+        }
+
+        @Override
+        public synchronized String getNamespaceURI(String prefix) {
+            return prefixMap.get(prefix);
+        }
+
+        @Override
+        public Iterator<String> getPrefixes(String uri) {
+            List<String> list = new ArrayList<>();
+            String prefix = uriMap.get(uri);
+            if (prefix != null) {
+                list.add(prefix);
+            }
+            return list.iterator();
+        }
+
+        @Override
+        public String getPrefix(String uri) {
+            return uriMap.get(uri);
+        }
+    }
+
+    /**
+     * A VnfNotify XPathTool.
+     */
+    protected class VnfNotifyXPathTool extends XPathTool {
+        public VnfNotifyXPathTool() {
+            addNamespace("tns", "http://org.onap.so/vnfNotify");
+        }
+    }
+
+    /**
+     * Helper class to make it easier to create this type.
+     */
+    private static class CreateVnfNotificationOutputs extends CreateVnfNotification.Outputs {
+        public void add(String key, String value) {
+            Entry entry = new Entry();
+            entry.setKey(key);
+            entry.setValue(value);
+            getEntry().add(entry);
+        }
+    }
+
+    /**
+     * Helper class to make it easier to create this type.
+     */
+    private static class UpdateVnfNotificationOutputs extends UpdateVnfNotification.Outputs {
+        public void add(String key, String value) {
+            Entry entry = new Entry();
+            entry.setKey(key);
+            entry.setValue(value);
+            getEntry().add(entry);
+        }
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowTestTransformer.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowTestTransformer.java
index dbad35a..794e772 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowTestTransformer.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/WorkflowTestTransformer.java
@@ -26,16 +26,15 @@
 import java.lang.annotation.Target;
 
 /**
- * Allows a subclass of WorkflowTest to specify one or more WireMock
- * response transformers.  A transformer must be declared as a public
- * static field in the subclass.  For example:
+ * Allows a subclass of WorkflowTest to specify one or more WireMock response transformers. A transformer must be
+ * declared as a public static field in the subclass. For example:
+ * 
  * <pre>
- *     @WorkflowTestTransformer
- *     public static final ResponseTransformer sdncAdapterMockTransformer =
- *         new SDNCAdapterMockTransformer();
+ * &#64;WorkflowTestTransformer
+ * public static final ResponseTransformer sdncAdapterMockTransformer = new SDNCAdapterMockTransformer();
  * </pre>
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.FIELD)
 public @interface WorkflowTestTransformer {
-}
\ No newline at end of file
+}
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/adapter/sdnc/ObjectFactoryTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/adapter/sdnc/ObjectFactoryTest.java
index bdc4839..d95a588 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/adapter/sdnc/ObjectFactoryTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/adapter/sdnc/ObjectFactoryTest.java
@@ -20,7 +20,6 @@
 package org.onap.so.bpmn.common.adapter.sdnc;
 
 import static org.junit.Assert.assertEquals;
-
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/CallbackHandlerServiceTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/CallbackHandlerServiceTest.java
index 051107b..c58af6b 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/CallbackHandlerServiceTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/CallbackHandlerServiceTest.java
@@ -23,7 +23,6 @@
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncResourceExceptionHandlingTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncResourceExceptionHandlingTest.java
index ff5e18c..62b582e 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncResourceExceptionHandlingTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/common/workflow/service/WorkflowAsyncResourceExceptionHandlingTest.java
@@ -16,20 +16,17 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  * ============LICENSE_END========================================================= 
- */ 
+ */
 
 package org.onap.so.bpmn.common.workflow.service;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import javax.ws.rs.core.Response;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.camunda.bpm.engine.variable.impl.VariableMapImpl;
 import org.junit.Test;
@@ -38,41 +35,41 @@
 
 public class WorkflowAsyncResourceExceptionHandlingTest {
 
-	@Test
-	@Deployment(resources = { "testAsyncResource.bpmn" })
-	public void asyncRequestSuccess() throws InterruptedException {
-		VariableMapImpl variableMap = new VariableMapImpl();
+    @Test
+    @Deployment(resources = {"testAsyncResource.bpmn"})
+    public void asyncRequestSuccess() throws InterruptedException {
+        VariableMapImpl variableMap = new VariableMapImpl();
 
-		Map<String, Object> variableValueType = new HashMap<>();
+        Map<String, Object> variableValueType = new HashMap<>();
 
-		Map<String, Object> requestMsg = new HashMap<>();
-		requestMsg.put("value", "");
-		requestMsg.put("type", "String");
+        Map<String, Object> requestMsg = new HashMap<>();
+        requestMsg.put("value", "");
+        requestMsg.put("type", "String");
 
-		Map<String, Object> msorequestId = new HashMap<>();
-		msorequestId.put("type", "String");
-		msorequestId.put("value",UUID.randomUUID().toString());
+        Map<String, Object> msorequestId = new HashMap<>();
+        msorequestId.put("type", "String");
+        msorequestId.put("value", UUID.randomUUID().toString());
 
-		Map<String, Object> timeout = new HashMap<>();
-		timeout.put("type", "String");
-		timeout.put("value","5");
+        Map<String, Object> timeout = new HashMap<>();
+        timeout.put("type", "String");
+        timeout.put("value", "5");
 
-		variableValueType.put("testAsyncRequestMsg", requestMsg);
-		variableValueType.put("mso-request-id", msorequestId);
-		variableValueType.put("mso-service-request-timeout", timeout);
+        variableValueType.put("testAsyncRequestMsg", requestMsg);
+        variableValueType.put("mso-request-id", msorequestId);
+        variableValueType.put("mso-service-request-timeout", timeout);
 
-		variableMap.put("variables", variableValueType);
-		WorkflowAsyncResource workflowAsyncResource = new WorkflowAsyncResource();
-		workflowAsyncResource.setProcessor(new WorkflowProcessor());
-		Response res = workflowAsyncResource.startProcessInstanceByKey("randomKey", variableMap);
-		assertEquals(500,res.getStatus());
-		WorkflowResponse workflowResponse = (WorkflowResponse)res.getEntity();
-		assertNotNull(workflowResponse);
-		assertEquals(500, workflowResponse.getMessageCode());
-		assertTrue(workflowResponse.getResponse().startsWith("Error occurred while executing the process:"));
-		assertEquals("Fail", workflowResponse.getMessage());
+        variableMap.put("variables", variableValueType);
+        WorkflowAsyncResource workflowAsyncResource = new WorkflowAsyncResource();
+        workflowAsyncResource.setProcessor(new WorkflowProcessor());
+        Response res = workflowAsyncResource.startProcessInstanceByKey("randomKey", variableMap);
+        assertEquals(500, res.getStatus());
+        WorkflowResponse workflowResponse = (WorkflowResponse) res.getEntity();
+        assertNotNull(workflowResponse);
+        assertEquals(500, workflowResponse.getMessageCode());
+        assertTrue(workflowResponse.getResponse().startsWith("Error occurred while executing the process:"));
+        assertEquals("Fail", workflowResponse.getMessage());
 
 
-	}
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/FlakyTests.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/FlakyTests.java
index 5b5e17c..1c3583d 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/FlakyTests.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/FlakyTests.java
@@ -21,5 +21,5 @@
 package org.onap.so.bpmn.infrastructure;
 
 public interface FlakyTests {
-	 /* category marker */ 
+    /* category marker */
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java
index 5cc0281..3734510 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java
@@ -25,10 +25,8 @@
 import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareAssertions.assertThat;
 import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_CORRELATION_ID;
 import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_UUID;
-
 import java.util.HashMap;
 import java.util.Map;
-
 import java.util.UUID;
 import org.assertj.core.api.Assertions;
 import org.assertj.core.data.MapEntry;
@@ -64,25 +62,17 @@
         // given
         variables.put(PNF_CORRELATION_ID, PnfManagementTestImpl.ID_WITH_ENTRY);
         // when
-        ProcessInstance instance = runtimeService
-                .startProcessInstanceByKey("CreateAndActivatePnfResource", "businessKey", variables);
+        ProcessInstance instance =
+                runtimeService.startProcessInstanceByKey("CreateAndActivatePnfResource", "businessKey", variables);
         assertThat(instance).isWaitingAt("WaitForDmaapPnfReadyNotification").isWaitingFor("WorkflowMessage");
         dmaapClientTestImpl.sendMessage();
 
         // then
-        assertThat(instance).isEnded().hasPassedInOrder(
-                "CreateAndActivatePnf_StartEvent",
-                "CheckInputs",
-                "CheckAiiForPnfCorrelationId",
-                "DoesAaiContainInfoAboutPnf",
-                "AaiEntryExists",
-                "InformDmaapClient",
-                "WaitForDmaapPnfReadyNotification",
-                "CreateRelationId",
-                "AaiEntryUpdated"
-        );
-        Assertions.assertThat(pnfManagementTest.getServiceAndPnfRelationMap()).
-                containsOnly(MapEntry.entry(SERVICE_INSTANCE_ID, PnfManagementTestImpl.ID_WITH_ENTRY));
+        assertThat(instance).isEnded().hasPassedInOrder("CreateAndActivatePnf_StartEvent", "CheckInputs",
+                "CheckAiiForPnfCorrelationId", "DoesAaiContainInfoAboutPnf", "AaiEntryExists", "InformDmaapClient",
+                "WaitForDmaapPnfReadyNotification", "CreateRelationId", "AaiEntryUpdated");
+        Assertions.assertThat(pnfManagementTest.getServiceAndPnfRelationMap())
+                .containsOnly(MapEntry.entry(SERVICE_INSTANCE_ID, PnfManagementTestImpl.ID_WITH_ENTRY));
     }
 
     @Test
@@ -90,26 +80,17 @@
         // given
         variables.put(PNF_CORRELATION_ID, PnfManagementTestImpl.ID_WITHOUT_ENTRY);
         // when
-        ProcessInstance instance = runtimeService
-                .startProcessInstanceByKey("CreateAndActivatePnfResource", "businessKey", variables);
+        ProcessInstance instance =
+                runtimeService.startProcessInstanceByKey("CreateAndActivatePnfResource", "businessKey", variables);
         assertThat(instance).isWaitingAt("WaitForDmaapPnfReadyNotification").isWaitingFor("WorkflowMessage");
         dmaapClientTestImpl.sendMessage();
 
         // then
-        assertThat(instance).isEnded().hasPassedInOrder(
-                "CreateAndActivatePnf_StartEvent",
-                "CheckInputs",
-                "CheckAiiForPnfCorrelationId",
-                "DoesAaiContainInfoAboutPnf",
-                "CreatePnfEntryInAai",
-                "AaiEntryExists",
-                "InformDmaapClient",
-                "WaitForDmaapPnfReadyNotification",
-                "CreateRelationId",
-                "AaiEntryUpdated"
-        );
+        assertThat(instance).isEnded().hasPassedInOrder("CreateAndActivatePnf_StartEvent", "CheckInputs",
+                "CheckAiiForPnfCorrelationId", "DoesAaiContainInfoAboutPnf", "CreatePnfEntryInAai", "AaiEntryExists",
+                "InformDmaapClient", "WaitForDmaapPnfReadyNotification", "CreateRelationId", "AaiEntryUpdated");
         Assertions.assertThat(pnfManagementTest.getCreated()).containsOnlyKeys(PnfManagementTestImpl.ID_WITHOUT_ENTRY);
-        Assertions.assertThat(pnfManagementTest.getServiceAndPnfRelationMap()).
-                containsOnly(MapEntry.entry(SERVICE_INSTANCE_ID, PnfManagementTestImpl.ID_WITHOUT_ENTRY));
+        Assertions.assertThat(pnfManagementTest.getServiceAndPnfRelationMap())
+                .containsOnly(MapEntry.entry(SERVICE_INSTANCE_ID, PnfManagementTestImpl.ID_WITHOUT_ENTRY));
     }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/DmaapClientTestImpl.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/DmaapClientTestImpl.java
index 6a5f9fa..e7ff69a 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/DmaapClientTestImpl.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/DmaapClientTestImpl.java
@@ -21,7 +21,6 @@
 package org.onap.so.bpmn.infrastructure.pnf.delegate;
 
 import java.util.Objects;
-
 import org.onap.so.bpmn.infrastructure.pnf.dmaap.DmaapClient;
 import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Component;
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/AbstractTestBase.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/AbstractTestBase.java
index 8c31a02..65b1962 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/AbstractTestBase.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/AbstractTestBase.java
@@ -1,20 +1,15 @@
 /*
- * ============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
+ * ============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
+ * 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.
+ * 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=========================================================
  */
 
@@ -22,26 +17,25 @@
 
 import org.onap.so.BaseIntegrationTest;
 import org.onap.so.bpmn.infrastructure.FlakyTests;
-
 import groovy.lang.Category;
 
 
 @Category(FlakyTests.class)
 public class AbstractTestBase extends BaseIntegrationTest {
-	
-	
-	public static final String CUST = "SDN-ETHERNET-INTERNET";
-	public static final String SVC = "123456789";
-	public static final String INST = "MIS%252F1604%252F0026%252FSW_INTERNET";
-	public static final String PARENT_INST = "MIS%252F1604%252F0027%252FSW_INTERNET";
-	public static final String ARID = "arId-1";
-	public static final String ARVERS = "1490627351232";
 
-	public static final String DEC_INST = "MIS%2F1604%2F0026%2FSW_INTERNET";
-	public static final String DEC_PARENT_INST = "MIS%2F1604%2F0027%2FSW_INTERNET";
 
-	public static final String VAR_SUCCESS_IND = "SuccessIndicator";
-	public static final String VAR_WFEX = "SavedWorkflowException1";
-	public static final String VAR_RESP_CODE = "CMSO_ResponseCode";
-	public static final String VAR_COMP_REQ = "CompleteMsoProcessRequest";
+    public static final String CUST = "SDN-ETHERNET-INTERNET";
+    public static final String SVC = "123456789";
+    public static final String INST = "MIS%252F1604%252F0026%252FSW_INTERNET";
+    public static final String PARENT_INST = "MIS%252F1604%252F0027%252FSW_INTERNET";
+    public static final String ARID = "arId-1";
+    public static final String ARVERS = "1490627351232";
+
+    public static final String DEC_INST = "MIS%2F1604%2F0026%2FSW_INTERNET";
+    public static final String DEC_PARENT_INST = "MIS%2F1604%2F0027%2FSW_INTERNET";
+
+    public static final String VAR_SUCCESS_IND = "SuccessIndicator";
+    public static final String VAR_WFEX = "SavedWorkflowException1";
+    public static final String VAR_RESP_CODE = "CMSO_ResponseCode";
+    public static final String VAR_COMP_REQ = "CompleteMsoProcessRequest";
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/CreateVcpeResCustServiceIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/CreateVcpeResCustServiceIT.java
index aa65474..bdc2487 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/CreateVcpeResCustServiceIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/CreateVcpeResCustServiceIT.java
@@ -1,20 +1,15 @@
 /*
- * ============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
+ * ============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
+ * 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.
+ * 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=========================================================
  */
 
@@ -50,12 +45,10 @@
 import static org.onap.so.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
 import static org.onap.so.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
 import static org.onap.so.bpmn.mock.StubResponseVNFAdapter.mockVNFPost;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.onap.so.bpmn.common.BPMNUtil;
@@ -65,58 +58,68 @@
 
 public class CreateVcpeResCustServiceIT extends AbstractTestBase {
 
-	private static final String PROCNAME = "CreateVcpeResCustService";
-	private static final String Prefix = "CVRCS_";
-	
-	private final CallbackSet callbacks = new CallbackSet();
-	private final String request;
-	
-	@Before
-	public void init(){
-		BPMNUtil.cleanHistory(processEngine);
-	}
-	
-	public CreateVcpeResCustServiceIT() throws IOException {
+    private static final String PROCNAME = "CreateVcpeResCustService";
+    private static final String Prefix = "CVRCS_";
 
-        callbacks.put("oof", JSON, "oofResponse", FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/oofCallbackInfraVnf.json"));
-		callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml"));
-		callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml"));
-		callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml"));
-		callbacks.put("queryTXC", FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryTXCCallback.xml"));
-		callbacks.put("queryBRG", FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryBRGCallback.xml"));
-		callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
-		callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
-		callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
+    private final CallbackSet callbacks = new CallbackSet();
+    private final String request;
 
-		callbacks.put("query", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyQueryCallback.xml"));
-		callbacks.put("queryVnf", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml"));
-		callbacks.put("queryModuleNoVnf", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml"));
-		callbacks.put("queryModule", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml"));
-		callbacks.put("vnfCreate", FileUtil.readResourceFile("__files/VfModularity/VNFAdapterRestCreateCallback.xml"));
+    @Before
+    public void init() {
+        BPMNUtil.cleanHistory(processEngine);
+    }
 
-		request = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/requestNoSIName.json");
-	}
-	
-	@Test
-	public void testCreateVcpeResCustService_Success() throws Exception {
-		System.out.println("starting:  testCreateVcpeResCustService_Success\n");
-		MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "2","VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
-		MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
-		MockGetCustomer(wireMockServer, CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml");
-		StubResponseOof.mockOof(wireMockServer);
-		// TODO: the SI should NOT have to be URL-encoded yet again!
-		MockPutServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
-		
-		MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, PARENT_INST, "GenericFlows/getParentSIUrlById.xml");		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+    public CreateVcpeResCustServiceIT() throws IOException {
+
+        callbacks.put("oof", JSON, "oofResponse",
+                FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/oofCallbackInfraVnf.json"));
+        callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml"));
+        callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml"));
+        callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml"));
+        callbacks.put("queryTXC",
+                FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryTXCCallback.xml"));
+        callbacks.put("queryBRG",
+                FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/SDNCTopologyQueryBRGCallback.xml"));
+        callbacks.put("deactivate",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
+        callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
+        callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
+
+        callbacks.put("query", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyQueryCallback.xml"));
+        callbacks.put("queryVnf", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml"));
+        callbacks.put("queryModuleNoVnf",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml"));
+        callbacks.put("queryModule",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml"));
+        callbacks.put("vnfCreate", FileUtil.readResourceFile("__files/VfModularity/VNFAdapterRestCreateCallback.xml"));
+
+        request = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/requestNoSIName.json");
+    }
+
+    @Test
+    public void testCreateVcpeResCustService_Success() throws Exception {
+        System.out.println("starting:  testCreateVcpeResCustService_Success\n");
+        MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "2",
+                "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
+        MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef",
+                "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
+        MockGetCustomer(wireMockServer, CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml");
+        StubResponseOof.mockOof(wireMockServer);
+        // TODO: the SI should NOT have to be URL-encoded yet again!
+        MockPutServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"),
+                "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"),
+                "GenericFlows/getServiceInstance.xml");
+
+        MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
         MockGetGenericVnfByIdWithDepth(wireMockServer, ".*", 1, "VCPE/CreateVcpeResCustService/GenericVnf.xml");
 
-		MockPutGenericVnf(wireMockServer, ".*");
+        MockPutGenericVnf(wireMockServer, ".*");
         MockPatchGenericVnf(wireMockServer, ".*");
 
         MockGetGenericVnfByIdWithPriority(wireMockServer, ".*", ".*", 200, "VfModularity/VfModule-new.xml", 5);
@@ -124,46 +127,52 @@
         MockPutVfModuleIdNoResponse(wireMockServer, ".*", "PCRF", ".*");
         MockPutNetwork(wireMockServer, ".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);
 
-		MockGetNetworkPolicyfqdn(wireMockServer, ".*","CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml",200);
-		MockNodeQueryServiceInstanceByName_404(wireMockServer, ".*");
+        MockGetNetworkPolicyfqdn(wireMockServer, ".*",
+                "CreateNetworkV2/createNetwork_queryNetworkPolicy_AAIResponse_Success.xml", 200);
+        MockNodeQueryServiceInstanceByName_404(wireMockServer, ".*");
 
-		mockVNFPost(wireMockServer, "", 202, ".*");
+        mockVNFPost(wireMockServer, "", 202, ".*");
 
-        wireMockServer.stubFor(post(urlMatching("/services/rest/v1/vnfs" + ".*" + "/vf-modules" )).willReturn(aResponse().withStatus(202)));
-		wireMockServer.stubFor(get(urlMatching(".*/business/owning-entities?.*")).willReturn(aResponse().withStatus(404)));
-		wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/.*")).willReturn(aResponse().withStatus(200)));
-		wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/038d99af-0427-42c2-9d15-971b99b9b489/relationship-list/relationship")).willReturn(aResponse().withStatus(200)));
-		wireMockServer.stubFor(put(urlMatching(".*/query?.*")).willReturn(aResponse().withStatus(200)));
-		MockPostRequestDB(wireMockServer);	
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		mockSDNCAdapter(wireMockServer, 200);
-		
-		Map<String, Object> variables = setupVariables();
+        wireMockServer.stubFor(post(urlMatching("/services/rest/v1/vnfs" + ".*" + "/vf-modules"))
+                .willReturn(aResponse().withStatus(202)));
+        wireMockServer
+                .stubFor(get(urlMatching(".*/business/owning-entities?.*")).willReturn(aResponse().withStatus(404)));
+        wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/.*"))
+                .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(put(urlMatching(
+                ".*/business/owning-entities/owning-entity/038d99af-0427-42c2-9d15-971b99b9b489/relationship-list/relationship"))
+                        .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(put(urlMatching(".*/query?.*")).willReturn(aResponse().withStatus(200)));
+        MockPostRequestDB(wireMockServer);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        mockSDNCAdapter(wireMockServer, 200);
 
-		String businessKey = UUID.randomUUID().toString();
-		invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
+        Map<String, Object> variables = setupVariables();
+
+        String businessKey = UUID.randomUUID().toString();
+        invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
 
         injectWorkflowMessages(callbacks, "oof");
-		// for SI
-		injectSDNCCallbacks(callbacks, "assign");
-		// for TXC
-		injectSDNCCallbacks(callbacks, "assign");
-		injectSDNCCallbacks(callbacks, "create");
-		injectSDNCCallbacks(callbacks, "activate");
-		injectSDNCCallbacks(callbacks, "queryTXC");
+        // for SI
+        injectSDNCCallbacks(callbacks, "assign");
+        // for TXC
+        injectSDNCCallbacks(callbacks, "assign");
+        injectSDNCCallbacks(callbacks, "create");
+        injectSDNCCallbacks(callbacks, "activate");
+        injectSDNCCallbacks(callbacks, "queryTXC");
 
         // For VNF
         injectSDNCCallbacks(callbacks, "assign");
         injectSDNCCallbacks(callbacks, "assign");
         injectSDNCCallbacks(callbacks, "queryModule");
         injectSDNCCallbacks(callbacks, "activate");
-        //VF Module
+        // VF Module
         injectSDNCCallbacks(callbacks, "queryModule");
         injectSDNCCallbacks(callbacks, "assign");
         injectSDNCCallbacks(callbacks, "queryModule");
         injectSDNCCallbacks(callbacks, "queryModule");
-		injectSDNCCallbacks(callbacks, "assign");
-		injectSDNCCallbacks(callbacks, "queryModuleNoVnf");
+        injectSDNCCallbacks(callbacks, "assign");
+        injectSDNCCallbacks(callbacks, "queryModuleNoVnf");
         injectVNFRestCallbacks(callbacks, "vnfCreate");
         injectSDNCCallbacks(callbacks, "activate");
 
@@ -173,208 +182,233 @@
         injectSDNCCallbacks(callbacks, "activate");
         injectSDNCCallbacks(callbacks, "queryBRG");
 
-		waitForProcessEnd(businessKey, 10000);
+        waitForProcessEnd(businessKey, 10000);
 
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		System.out.println("workflowException:\n" + workflowException);
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        System.out.println("workflowException:\n" + workflowException);
 
-		String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+VAR_COMP_REQ);
-		System.out.println("completionReq:\n" + completionReq);
-		
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME+VAR_SUCCESS_IND));
-		assertEquals("200", BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
-		assertEquals(null, workflowException);
-		assertTrue(completionReq.indexOf("request-id>testRequestId<") >= 0);
-		assertTrue(completionReq.indexOf("action>CREATE<") >= 0);
-		assertTrue(completionReq.indexOf("source>VID<") >= 0);
+        String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + VAR_COMP_REQ);
+        System.out.println("completionReq:\n" + completionReq);
 
-		assertEquals("1", BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+"VnfsCreatedCount"));
-	}
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME + VAR_SUCCESS_IND));
+        assertEquals("200", BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
+        assertEquals(null, workflowException);
+        assertTrue(completionReq.indexOf("request-id>testRequestId<") >= 0);
+        assertTrue(completionReq.indexOf("action>CREATE<") >= 0);
+        assertTrue(completionReq.indexOf("source>VID<") >= 0);
 
-	@Test
-	public void testCreateVcpeResCustService_NoParts() throws Exception {
-		System.out.println("starting: testCreateVcpeResCustService_NoParts\n"  );
-		MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesNoData.json");
-		MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesNoData.json");
-		MockGetCustomer(wireMockServer, CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml");
-		
-		// TODO: the SI should NOT have to be URL-encoded yet again!
-		MockPutServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
-		
-		MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		
-		// TODO: should these really be PARENT_INST, or should they be INST?
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        assertEquals("1", BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + "VnfsCreatedCount"));
+    }
 
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+    @Test
+    public void testCreateVcpeResCustService_NoParts() throws Exception {
+        System.out.println("starting: testCreateVcpeResCustService_NoParts\n");
+        MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "2",
+                "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesNoData.json");
+        MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef",
+                "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesNoData.json");
+        MockGetCustomer(wireMockServer, CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml");
+
+        // TODO: the SI should NOT have to be URL-encoded yet again!
+        MockPutServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"),
+                "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"),
+                "GenericFlows/getServiceInstance.xml");
+
+        MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+
+        // TODO: should these really be PARENT_INST, or should they be INST?
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
         StubResponseOof.mockOof(wireMockServer);
-        wireMockServer.stubFor(get(urlMatching(".*/business/owning-entities?.*")).willReturn(aResponse().withStatus(404)));
-        wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/.*")).willReturn(aResponse().withStatus(200)));
-        wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/038d99af-0427-42c2-9d15-971b99b9b489/relationship-list/relationship")).willReturn(aResponse().withStatus(200)));
+        wireMockServer
+                .stubFor(get(urlMatching(".*/business/owning-entities?.*")).willReturn(aResponse().withStatus(404)));
+        wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/.*"))
+                .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(put(urlMatching(
+                ".*/business/owning-entities/owning-entity/038d99af-0427-42c2-9d15-971b99b9b489/relationship-list/relationship"))
+                        .willReturn(aResponse().withStatus(200)));
         wireMockServer.stubFor(put(urlMatching(".*/query?.*")).willReturn(aResponse().withStatus(200)));
         MockPostRequestDB(wireMockServer);
         mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		Map<String, Object> variables = setupVariables();
 
-		String businessKey = UUID.randomUUID().toString();
-		invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
+        Map<String, Object> variables = setupVariables();
+
+        String businessKey = UUID.randomUUID().toString();
+        invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
 
         injectWorkflowMessages(callbacks, "oof");
-		// for SI
-		injectSDNCCallbacks(callbacks, "assign");
-		
-		waitForProcessEnd(businessKey, 10000);
+        // for SI
+        injectSDNCCallbacks(callbacks, "assign");
 
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		System.out.println("workflowException:\n" + workflowException);
+        waitForProcessEnd(businessKey, 10000);
 
-		String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+VAR_COMP_REQ);
-		System.out.println("completionReq:\n" + completionReq);
-		
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME+VAR_SUCCESS_IND));
-		assertEquals("200", BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
-		assertEquals(null, workflowException);
-		assertTrue(completionReq.indexOf("request-id>testRequestId<") >= 0);
-		assertTrue(completionReq.indexOf("action>CREATE<") >= 0);
-		assertTrue(completionReq.indexOf("source>VID<") >= 0);
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        System.out.println("workflowException:\n" + workflowException);
 
-		assertEquals("0", BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+"VnfsCreatedCount"));
-	}
-	
-	@Test
-	public void testCreateVcpeResCustService_Fault_NoRollback() throws Exception {
-		System.out.println("starting:  testCreateVcpeResCustService_Fault_NoRollback\n");
-		MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
-		MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
-		MockGetCustomer(wireMockServer, CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml");
-		
-		// TODO: the SI should NOT have to be URL-encoded yet again!
-		MockPutServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
-		
-		MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, PARENT_INST, "GenericFlows/getParentSIUrlById.xml");		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance_500(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + VAR_COMP_REQ);
+        System.out.println("completionReq:\n" + completionReq);
 
-		mockSDNCAdapter(wireMockServer, 404);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME + VAR_SUCCESS_IND));
+        assertEquals("200", BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
+        assertEquals(null, workflowException);
+        assertTrue(completionReq.indexOf("request-id>testRequestId<") >= 0);
+        assertTrue(completionReq.indexOf("action>CREATE<") >= 0);
+        assertTrue(completionReq.indexOf("source>VID<") >= 0);
+
+        assertEquals("0", BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + "VnfsCreatedCount"));
+    }
+
+    @Test
+    public void testCreateVcpeResCustService_Fault_NoRollback() throws Exception {
+        System.out.println("starting:  testCreateVcpeResCustService_Fault_NoRollback\n");
+        MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "2",
+                "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
+        MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef",
+                "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
+        MockGetCustomer(wireMockServer, CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml");
+
+        // TODO: the SI should NOT have to be URL-encoded yet again!
+        MockPutServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"),
+                "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"),
+                "GenericFlows/getServiceInstance.xml");
+
+        MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance_500(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+
+        mockSDNCAdapter(wireMockServer, 404);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
         StubResponseOof.mockOof(wireMockServer);
-        wireMockServer.stubFor(get(urlMatching(".*/business/owning-entities?.*")).willReturn(aResponse().withStatus(404)));
-        wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/.*")).willReturn(aResponse().withStatus(200)));
-        wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/038d99af-0427-42c2-9d15-971b99b9b489/relationship-list/relationship")).willReturn(aResponse().withStatus(200)));
+        wireMockServer
+                .stubFor(get(urlMatching(".*/business/owning-entities?.*")).willReturn(aResponse().withStatus(404)));
+        wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/.*"))
+                .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(put(urlMatching(
+                ".*/business/owning-entities/owning-entity/038d99af-0427-42c2-9d15-971b99b9b489/relationship-list/relationship"))
+                        .willReturn(aResponse().withStatus(200)));
         wireMockServer.stubFor(put(urlMatching(".*/query?.*")).willReturn(aResponse().withStatus(200)));
         MockPostRequestDB(wireMockServer);
-		
-		Map<String, Object> variables = setupVariables();
 
-		String businessKey = UUID.randomUUID().toString();
-		invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
+        Map<String, Object> variables = setupVariables();
+
+        String businessKey = UUID.randomUUID().toString();
+        invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
 
         injectWorkflowMessages(callbacks, "oof");
-		
-		waitForProcessEnd(businessKey, 100000);
 
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		System.out.println("workflowException:\n" + workflowException);
+        waitForProcessEnd(businessKey, 100000);
 
-		String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+VAR_COMP_REQ);
-		System.out.println("completionReq:\n" + completionReq);
-		
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME+VAR_SUCCESS_IND));
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
-		assertNotNull(workflowException);
-		
-		BPMNUtil.assertNoProcessInstance(processEngine, "DoCreateAllottedResourceBRGRollback");
-		BPMNUtil.assertNoProcessInstance(processEngine, "DoCreateVnfAndModulesRollback");
-		BPMNUtil.assertNoProcessInstance(processEngine, "DoCreateAllottedResourceTXCRollback");
-	}
-	
-	@Test
-	public void testCreateVcpeResCustService_Fault_Rollback() throws Exception {
-		System.out.println("starting:  testCreateVcpeResCustService_Fault_Rollback\n");
-		MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "2", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
-		MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
-		MockGetCustomer(wireMockServer, CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml");
-		
-		// TODO: the SI should NOT have to be URL-encoded yet again!
-		MockPutServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"), "GenericFlows/getServiceInstance.xml");
-		
-		MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, PARENT_INST, "GenericFlows/getParentSIUrlById.xml");		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/CreateVcpeResCustService/arGetById.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID, "VCPE/CreateVcpeResCustService/arGetById.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID, ARVERS);
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        System.out.println("workflowException:\n" + workflowException);
 
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + VAR_COMP_REQ);
+        System.out.println("completionReq:\n" + completionReq);
 
-		StubResponseOof.mockOof(wireMockServer);
-		wireMockServer.stubFor(get(urlMatching(".*/business/owning-entities?.*")).willReturn(aResponse().withStatus(404)));
-		wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/.*")).willReturn(aResponse().withStatus(200)));
-		wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/038d99af-0427-42c2-9d15-971b99b9b489/relationship-list/relationship")).willReturn(aResponse().withStatus(200)));
-		wireMockServer.stubFor(put(urlMatching(".*/query?.*")).willReturn(aResponse().withStatus(200)));
-		MockPostRequestDB(wireMockServer);
-		String req = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/requestRollback.json");
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME + VAR_SUCCESS_IND));
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
+        assertNotNull(workflowException);
 
-		Map<String, Object> variables = setupVariables();
+        BPMNUtil.assertNoProcessInstance(processEngine, "DoCreateAllottedResourceBRGRollback");
+        BPMNUtil.assertNoProcessInstance(processEngine, "DoCreateVnfAndModulesRollback");
+        BPMNUtil.assertNoProcessInstance(processEngine, "DoCreateAllottedResourceTXCRollback");
+    }
 
-		String businessKey = UUID.randomUUID().toString();
-		invokeAsyncProcess(PROCNAME, "v1", businessKey, req, variables);
+    @Test
+    public void testCreateVcpeResCustService_Fault_Rollback() throws Exception {
+        System.out.println("starting:  testCreateVcpeResCustService_Fault_Rollback\n");
+        MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef", "2",
+                "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
+        MockGetServiceResourcesCatalogData(wireMockServer, "uuid-miu-svc-011-abcdef",
+                "VCPE/CreateVcpeResCustService/getCatalogServiceResourcesData.json");
+        MockGetCustomer(wireMockServer, CUST, "VCPE/CreateVcpeResCustService/getCustomer.xml");
 
-		injectWorkflowMessages(callbacks, "oof");
-		// for SI
-		injectSDNCCallbacks(callbacks, "assign");
-		
-		// for TXC
-		injectSDNCCallbacks(callbacks, "assign");
-		injectSDNCCallbacks(callbacks, "create");
-		
-		waitForProcessEnd(businessKey, 10000);
+        // TODO: the SI should NOT have to be URL-encoded yet again!
+        MockPutServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"),
+                "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST.replace("%", "%25"),
+                "GenericFlows/getServiceInstance.xml");
 
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		System.out.println("workflowException:\n" + workflowException);
+        MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/CreateVcpeResCustService/arGetById.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID,
+                "VCPE/CreateVcpeResCustService/arGetById.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID, ARVERS);
 
-		String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+VAR_COMP_REQ);
-		System.out.println("completionReq:\n" + completionReq);
-		
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME+VAR_SUCCESS_IND));
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
-		assertEquals(null, completionReq);
-		assertNotNull(workflowException);
-		
-		BPMNUtil.assertAnyProcessInstanceFinished(processEngine, "DoCreateServiceInstanceRollback");
-	}
-	
-	// *****************
-	// Utility Section
-	// *****************
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-	// Success Scenario
-	private Map<String, Object> setupVariables() {
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("requestId", "testRequestId");
-		variables.put("request-id", "testRequestId");
-		variables.put("serviceInstanceId", DEC_INST);
-		variables.put("allottedResourceId", ARID);
-		variables.put("URN_mso_workflow_aai_distribution_delay", "PT5S");
-		return variables;
+        StubResponseOof.mockOof(wireMockServer);
+        wireMockServer
+                .stubFor(get(urlMatching(".*/business/owning-entities?.*")).willReturn(aResponse().withStatus(404)));
+        wireMockServer.stubFor(put(urlMatching(".*/business/owning-entities/owning-entity/.*"))
+                .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(put(urlMatching(
+                ".*/business/owning-entities/owning-entity/038d99af-0427-42c2-9d15-971b99b9b489/relationship-list/relationship"))
+                        .willReturn(aResponse().withStatus(200)));
+        wireMockServer.stubFor(put(urlMatching(".*/query?.*")).willReturn(aResponse().withStatus(200)));
+        MockPostRequestDB(wireMockServer);
+        String req = FileUtil.readResourceFile("__files/VCPE/CreateVcpeResCustService/requestRollback.json");
 
-	}
+        Map<String, Object> variables = setupVariables();
+
+        String businessKey = UUID.randomUUID().toString();
+        invokeAsyncProcess(PROCNAME, "v1", businessKey, req, variables);
+
+        injectWorkflowMessages(callbacks, "oof");
+        // for SI
+        injectSDNCCallbacks(callbacks, "assign");
+
+        // for TXC
+        injectSDNCCallbacks(callbacks, "assign");
+        injectSDNCCallbacks(callbacks, "create");
+
+        waitForProcessEnd(businessKey, 10000);
+
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        System.out.println("workflowException:\n" + workflowException);
+
+        String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + VAR_COMP_REQ);
+        System.out.println("completionReq:\n" + completionReq);
+
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME + VAR_SUCCESS_IND));
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
+        assertEquals(null, completionReq);
+        assertNotNull(workflowException);
+
+        BPMNUtil.assertAnyProcessInstanceFinished(processEngine, "DoCreateServiceInstanceRollback");
+    }
+
+    // *****************
+    // Utility Section
+    // *****************
+
+    // Success Scenario
+    private Map<String, Object> setupVariables() {
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("requestId", "testRequestId");
+        variables.put("request-id", "testRequestId");
+        variables.put("serviceInstanceId", DEC_INST);
+        variables.put("allottedResourceId", ARID);
+        variables.put("URN_mso_workflow_aai_distribution_delay", "PT5S");
+        return variables;
+
+    }
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DeleteVcpeResCustServiceIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DeleteVcpeResCustServiceIT.java
index aaabf59..4a03aa9 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DeleteVcpeResCustServiceIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DeleteVcpeResCustServiceIT.java
@@ -1,20 +1,15 @@
 /*
- * ============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
+ * ============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
+ * 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.
+ * 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=========================================================
  */
 
@@ -37,255 +32,244 @@
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockQueryAllottedResourceById;
 import static org.onap.so.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
 import static org.onap.so.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
-
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.onap.so.bpmn.common.BPMNUtil;
 import org.onap.so.bpmn.mock.FileUtil;
-
 import com.github.tomakehurst.wiremock.stubbing.Scenario;
 
 public class DeleteVcpeResCustServiceIT extends AbstractTestBase {
 
-	private static final String PROCNAME = "DeleteVcpeResCustService";
-	private static final String Prefix = "DVRCS_";
-	private static final String AR_BRG_ID = "ar-brgB";
-	private static final String AR_TXC_ID = "ar-txcA";
+    private static final String PROCNAME = "DeleteVcpeResCustService";
+    private static final String Prefix = "DVRCS_";
+    private static final String AR_BRG_ID = "ar-brgB";
+    private static final String AR_TXC_ID = "ar-txcA";
 
-	private final CallbackSet callbacks = new CallbackSet();
-	private final String request;
+    private final CallbackSet callbacks = new CallbackSet();
+    private final String request;
 
-	public DeleteVcpeResCustServiceIT() throws IOException {
-		callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
-		callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
-		callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
+    public DeleteVcpeResCustServiceIT() throws IOException {
+        callbacks.put("deactivate",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
+        callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
+        callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
 
-		request = FileUtil.readResourceFile("__files/VCPE/DeleteVcpeResCustService/request.json");
-	}
+        request = FileUtil.readResourceFile("__files/VCPE/DeleteVcpeResCustService/request.json");
+    }
 
-	@Before
-	public void init(){
-		BPMNUtil.cleanHistory(processEngine);
-	}
+    @Before
+    public void init() {
+        BPMNUtil.cleanHistory(processEngine);
+    }
 
-	@Test
-	public void testDeleteVcpeResCustService_Success() throws Exception {
-		logStart();
-		MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
+    @Test
+    public void testDeleteVcpeResCustService_Success() throws Exception {
+        logStart();
+        MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
 
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * Seems to be a bug as they
-		 * fail to URL-encode the SI id before performing the query so we'll
-		 * add a stub for that case, too.
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        // TODO: use INST instead of DEC_INST
+        /*
+         * Seems to be a bug as they fail to URL-encode the SI id before performing the query so we'll add a stub for
+         * that case, too.
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
 
-		/*
-		 * cannot use MockGetServiceInstance(wireMockServer, ), because we need to return
-		 * different responses as we traverse through the flow
-		 */
+        /*
+         * cannot use MockGetServiceInstance(wireMockServer, ), because we need to return different responses as we
+         * traverse through the flow
+         */
 
-		// initially, the SI includes the ARs
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST))
-				.inScenario("SI retrieval")
-				.whenScenarioStateIs(Scenario.STARTED)
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBodyFile("VCPE/DeleteVcpeResCustService/getSI.xml"))
-				.willSetStateTo("ARs Deleted"));
+        // initially, the SI includes the ARs
+        wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + CUST
+                + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST))
+                        .inScenario("SI retrieval").whenScenarioStateIs(Scenario.STARTED)
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml")
+                                .withBodyFile("VCPE/DeleteVcpeResCustService/getSI.xml"))
+                        .willSetStateTo("ARs Deleted"));
 
-		// once the ARs have been deleted, the SI should be empty
-		wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST))
-				.inScenario("SI retrieval")
-				.whenScenarioStateIs("ARs Deleted")
-				.willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withBodyFile("VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml")));
+        // once the ARs have been deleted, the SI should be empty
+        wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/business/customers/customer/" + CUST
+                + "/service-subscriptions/service-subscription/" + SVC + "/service-instances/service-instance/" + INST))
+                        .inScenario("SI retrieval").whenScenarioStateIs("ARs Deleted")
+                        .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml")
+                                .withBodyFile("VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml")));
 
-		// for BRG
-		MockQueryAllottedResourceById(wireMockServer, AR_BRG_ID, "VCPE/DeleteVcpeResCustService/getBRGArUrlById.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, AR_BRG_ID, "VCPE/DeleteVcpeResCustService/arGetBRGById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, AR_BRG_ID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, AR_BRG_ID, ARVERS);
+        // for BRG
+        MockQueryAllottedResourceById(wireMockServer, AR_BRG_ID, "VCPE/DeleteVcpeResCustService/getBRGArUrlById.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, AR_BRG_ID,
+                "VCPE/DeleteVcpeResCustService/arGetBRGById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, AR_BRG_ID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, AR_BRG_ID, ARVERS);
 
-		// for TXC
-		MockQueryAllottedResourceById(wireMockServer, AR_TXC_ID, "VCPE/DeleteVcpeResCustService/getTXCArUrlById.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, AR_TXC_ID, "VCPE/DeleteVcpeResCustService/arGetTXCById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, AR_TXC_ID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, AR_TXC_ID, ARVERS);
+        // for TXC
+        MockQueryAllottedResourceById(wireMockServer, AR_TXC_ID, "VCPE/DeleteVcpeResCustService/getTXCArUrlById.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, AR_TXC_ID,
+                "VCPE/DeleteVcpeResCustService/arGetTXCById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, AR_TXC_ID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, AR_TXC_ID, ARVERS);
 
-        //MockGetGenericVnfById("vnfX.*", "GenericFlows/getGenericVnfByNameResponse.xml");
+        // MockGetGenericVnfById("vnfX.*", "GenericFlows/getGenericVnfByNameResponse.xml");
         wireMockServer.stubFor(get(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*"))
-                .willReturn(aResponse()
-                        .withStatus(200)
-                        .withHeader("Content-Type", "text/xml")
+                .willReturn(aResponse().withStatus(200).withHeader("Content-Type", "text/xml")
                         .withBodyFile("GenericFlows/getGenericVnfByNameResponse.xml")));
 
 
-		wireMockServer.stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*"))
-				.willReturn(aResponse()
-						.withStatus(204)
-						.withHeader("Content-Type", "text/xml")));
+        wireMockServer.stubFor(delete(urlMatching("/aai/v[0-9]+/network/generic-vnfs/generic-vnf/.*"))
+                .willReturn(aResponse().withStatus(204).withHeader("Content-Type", "text/xml")));
 
-        MockDeleteServiceInstance(wireMockServer, CUST,SVC,INST,SVC);
+        MockDeleteServiceInstance(wireMockServer, CUST, SVC, INST, SVC);
 
         mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = setupVariables(businessKey);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = setupVariables(businessKey);
 
-		invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
+        invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
 
-		// for BRG
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "delete");
-		injectSDNCCallbacks(callbacks, "unassign");
+        // for BRG
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "delete");
+        injectSDNCCallbacks(callbacks, "unassign");
 
-		// for VNF1
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "unassign");
+        // for VNF1
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "unassign");
 
-		// for VNF2
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "unassign");
+        // for VNF2
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "unassign");
 
-		// for TXC
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "delete");
-		injectSDNCCallbacks(callbacks, "unassign");
+        // for TXC
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "delete");
+        injectSDNCCallbacks(callbacks, "unassign");
 
-		// for SI
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "delete");
+        // for SI
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "delete");
 
-		waitForProcessEnd(businessKey, 70000);
-		assertTrue(isProcessEnded(businessKey));
+        waitForProcessEnd(businessKey, 70000);
+        assertTrue(isProcessEnded(businessKey));
 
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		System.out.println("workflowException:\n" + workflowException);
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        System.out.println("workflowException:\n" + workflowException);
 
-		String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+VAR_COMP_REQ);
-		System.out.println("completionReq:\n" + completionReq);
+        String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + VAR_COMP_REQ);
+        System.out.println("completionReq:\n" + completionReq);
 
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME+VAR_SUCCESS_IND));
-		assertEquals("200", BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
-		assertNull(workflowException);
-		assertTrue(completionReq.contains("<request-id>"+businessKey+"<"));
-		assertTrue(completionReq.contains("<action>DELETE<"));
-		assertTrue(completionReq.contains("<source>VID<"));
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME + VAR_SUCCESS_IND));
+        assertEquals("200", BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
+        assertNull(workflowException);
+        assertTrue(completionReq.contains("<request-id>" + businessKey + "<"));
+        assertTrue(completionReq.contains("<action>DELETE<"));
+        assertTrue(completionReq.contains("<source>VID<"));
 
-		assertEquals("2", BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+"vnfsDeletedCount"));
+        assertEquals("2", BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + "vnfsDeletedCount"));
 
-		BPMNUtil.assertAnyProcessInstanceFinished(processEngine, "DoDeleteVnfAndModules");
-		logEnd();
-	}
+        BPMNUtil.assertAnyProcessInstanceFinished(processEngine, "DoDeleteVnfAndModules");
+        logEnd();
+    }
 
-	@Test
-	public void testDeleteVcpeResCustService_NoBRG_NoTXC_NoVNF() throws Exception {
-		logStart();
-		MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
+    @Test
+    public void testDeleteVcpeResCustService_NoBRG_NoTXC_NoVNF() throws Exception {
+        logStart();
+        MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
 
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * Seems to be a bug  as they
-		 * fail to URL-encode the SI id before performing the query so we'll
-		 * add a stub for that case, too.
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        // TODO: use INST instead of DEC_INST
+        /*
+         * Seems to be a bug as they fail to URL-encode the SI id before performing the query so we'll add a stub for
+         * that case, too.
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
 
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml");
 
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = setupVariables(businessKey);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = setupVariables(businessKey);
 
 
-		invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
+        invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
 
-		// for SI
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "delete");
+        // for SI
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "delete");
 
-		waitForProcessEnd(businessKey, 70000);
+        waitForProcessEnd(businessKey, 70000);
 
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		System.out.println("workflowException:\n" + workflowException);
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        System.out.println("workflowException:\n" + workflowException);
 
-		String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+VAR_COMP_REQ);
-		System.out.println("completionReq:\n" + completionReq);
+        String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + VAR_COMP_REQ);
+        System.out.println("completionReq:\n" + completionReq);
 
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME+VAR_SUCCESS_IND));
-		assertEquals("200", BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
-		assertNull( workflowException);
-		assertTrue(completionReq.contains("<request-id>"+businessKey+"<"));
-		assertTrue(completionReq.contains("<action>DELETE<"));
-		assertTrue(completionReq.contains("<source>VID<"));
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME + VAR_SUCCESS_IND));
+        assertEquals("200", BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
+        assertNull(workflowException);
+        assertTrue(completionReq.contains("<request-id>" + businessKey + "<"));
+        assertTrue(completionReq.contains("<action>DELETE<"));
+        assertTrue(completionReq.contains("<source>VID<"));
 
-		assertEquals("0", BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+"vnfsDeletedCount"));
+        assertEquals("0", BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + "vnfsDeletedCount"));
 
-		BPMNUtil.assertNoProcessInstance(processEngine, "DoDeleteVnfAndModules");
-		logEnd();
-	}
+        BPMNUtil.assertNoProcessInstance(processEngine, "DoDeleteVnfAndModules");
+        logEnd();
+    }
 
-	@Test
-	public void testDeleteVcpeResCustService_Fault() throws Exception {
-		logStart();
-		MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
+    @Test
+    public void testDeleteVcpeResCustService_Fault() throws Exception {
+        logStart();
+        MockNodeQueryServiceInstanceById(wireMockServer, INST, "GenericFlows/getSIUrlById.xml");
 
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * Seems to be a bug as they
-		 * fail to URL-encode the SI id before performing the query so we'll
-		 * add a stub for that case, too.
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        // TODO: use INST instead of DEC_INST
+        /*
+         * Seems to be a bug as they fail to URL-encode the SI id before performing the query so we'll add a stub for
+         * that case, too.
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
 
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "VCPE/DeleteVcpeResCustService/getSIAfterDelArs.xml");
 
-		// generate failure
-		mockSDNCAdapter(wireMockServer, 404);
+        // generate failure
+        mockSDNCAdapter(wireMockServer, 404);
 
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = setupVariables(businessKey);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = setupVariables(businessKey);
 
-		invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
+        invokeAsyncProcess(PROCNAME, "v1", businessKey, request, variables);
 
-		waitForProcessEnd(businessKey, 70000);
+        waitForProcessEnd(businessKey, 70000);
 
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		System.out.println("workflowException:\n" + workflowException);
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        System.out.println("workflowException:\n" + workflowException);
 
-		String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix+VAR_COMP_REQ);
-		System.out.println("completionReq:\n" + completionReq);
+        String completionReq = BPMNUtil.getVariable(processEngine, PROCNAME, Prefix + VAR_COMP_REQ);
+        System.out.println("completionReq:\n" + completionReq);
 
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME+VAR_SUCCESS_IND));
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
-		assertNotNull(workflowException);
-		logEnd();
-	}
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, PROCNAME + VAR_SUCCESS_IND));
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, VAR_RESP_CODE));
+        assertNotNull(workflowException);
+        logEnd();
+    }
 
-	private Map<String, Object> setupVariables(String requestId) throws UnsupportedEncodingException {
-		Map<String, Object> variables = new HashMap<>();
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("requestId", requestId);
-		variables.put("serviceInstanceId", DEC_INST);
-		variables.put("sdncVersion", "1802");
-		variables.put("serviceInstanceName", "some-junk-name");
-		return variables;
-	}
+    private Map<String, Object> setupVariables(String requestId) throws UnsupportedEncodingException {
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("requestId", requestId);
+        variables.put("serviceInstanceId", DEC_INST);
+        variables.put("sdncVersion", "1802");
+        variables.put("serviceInstanceName", "some-junk-name");
+        return variables;
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceBRGIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceBRGIT.java
index da9b45c..291613b 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceBRGIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceBRGIT.java
@@ -1,20 +1,15 @@
 /*
- * ============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
+ * ============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
+ * 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.
+ * 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=========================================================
  */
 
@@ -29,10 +24,8 @@
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutAllottedResource;
 import static org.onap.so.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
 import static org.onap.so.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
-
 import java.util.HashMap;
 import java.util.Map;
-
 import org.junit.Test;
 import org.onap.so.bpmn.common.BPMNUtil;
 import org.onap.so.bpmn.mock.FileUtil;
@@ -40,227 +33,223 @@
 
 public class DoCreateAllottedResourceBRGIT extends AbstractTestBase {
 
-	private static final String PROCNAME = "DoCreateAllottedResourceBRG";
-	private final CallbackSet callbacks = new CallbackSet();
+    private static final String PROCNAME = "DoCreateAllottedResourceBRG";
+    private final CallbackSet callbacks = new CallbackSet();
 
-	public DoCreateAllottedResourceBRGIT() {
-		callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml"));
-		callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml"));
-		callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml"));
-		callbacks.put("query", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml"));
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRG_Success() throws InterruptedException {
-		logStart();
+    public DoCreateAllottedResourceBRGIT() {
+        callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml"));
+        callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml"));
+        callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml"));
+        callbacks.put("query",
+                FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRG/SDNCTopologyQueryCallback.xml"));
+    }
 
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
+    @Test
+    public void testDoCreateAllottedResourceBRG_Success() throws InterruptedException {
+        logStart();
 
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables,"testRequestId123");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		String processId = invokeSubProcess(PROCNAME, variables);
-		
-		injectSDNCCallbacks(callbacks, "assign");
-		injectSDNCCallbacks(callbacks, "create");
-		injectSDNCCallbacks(callbacks, "activate");
-		injectSDNCCallbacks(callbacks, "query");
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId123");
 
-		waitForWorkflowToFinish(processEngine,processId);
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		assertNull(workflowException);
-		
-		assertEquals("namefromrequest", BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRG_NoSI() throws Exception{
-		logStart();
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getNotFound.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
+        injectSDNCCallbacks(callbacks, "assign");
+        injectSDNCCallbacks(callbacks, "create");
+        injectSDNCCallbacks(callbacks, "activate");
+        injectSDNCCallbacks(callbacks, "query");
 
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables,"testRequestId124");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        waitForWorkflowToFinish(processEngine, processId);
 
-		waitForWorkflowToFinish(processEngine,processId);
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        assertNull(workflowException);
 
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		assertNotNull(workflowException);
-		
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRG_ActiveAr() throws Exception{
-		logStart();
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
-		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "VCPE/DoCreateAllottedResourceBRG/getSIandAR.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRG/getArBrg2.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        assertEquals("namefromrequest",
+                BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        logEnd();
+    }
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables,"testRequestId125");
+    @Test
+    public void testDoCreateAllottedResourceBRG_NoSI() throws Exception {
+        logStart();
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getNotFound.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
 
-		variables.put("failExists", "false");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		String processId = invokeSubProcess(PROCNAME, variables);
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId124");
 
-		
-		
-		injectSDNCCallbacks(callbacks, "query");
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		waitForWorkflowToFinish(processEngine,processId);
+        waitForWorkflowToFinish(processEngine, processId);
 
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		assertNull( workflowException);
-		
-		assertEquals("namefromrequest", BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRG_NoParentSI() throws Exception{
-		logStart();
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getNotFound.xml");
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        assertNotNull(workflowException);
 
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        logEnd();
+    }
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables,"testRequestId126");
+    @Test
+    public void testDoCreateAllottedResourceBRG_ActiveAr() throws Exception {
+        logStart();
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
 
-		String processId = invokeSubProcess(PROCNAME, variables);
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "VCPE/DoCreateAllottedResourceBRG/getSIandAR.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceBRG/getArBrg2.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		waitForWorkflowToFinish(processEngine,processId);
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId125");
 
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		assertNotNull(workflowException);
-		
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRG_SubProcessError() throws Exception{
-		logStart();
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
-		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 404);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        variables.put("failExists", "false");
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables,"testRequestId127");
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		String processId = invokeSubProcess(PROCNAME, variables);
 
-		waitForWorkflowToFinish(processEngine,processId);
 
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		assertNotNull(workflowException);
+        injectSDNCCallbacks(callbacks, "query");
 
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		logEnd();
-	}
+        waitForWorkflowToFinish(processEngine, processId);
 
-	private void setVariablesSuccess(Map<String, Object> variables, String requestId) {
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("failExists", "true");
-		variables.put("disableRollback", "true");
-		variables.put("msoRequestId", requestId);
-		variables.put("mso-request-id", "requestId");
-		variables.put("sourceNetworkId", "snId");
-		variables.put("sourceNetworkRole", "snRole");
-		variables.put("allottedResourceRole", "txc");
-		variables.put("allottedResourceType", "BRG");
-		variables.put("allottedResourceId", ARID);
-		variables.put("vni", "BRG");
-		variables.put("vgmuxBearerIP", "bearerip");
-		variables.put("brgWanMacAddress", "wanmac");
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        assertNull(workflowException);
 
-		variables.put("serviceInstanceId", DEC_INST);
-		variables.put("parentServiceInstanceId", DEC_PARENT_INST);
-		
-		variables.put("serviceChainServiceInstanceId", "scsiId");
-		
-		String arModelInfo = "{ "+ "\"modelType\": \"allotted-resource\"," +
-				"\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," +
-				"\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," +
-				"\"modelName\": \"vSAMP12\"," +
-				"\"modelVersion\": \"1.0\"," +
-				"\"modelCustomizationUuid\": \"MODEL-ID-1234\"," +
-				"}";
-		variables.put("allottedResourceModelInfo", arModelInfo);
-	}
+        assertEquals("namefromrequest",
+                BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceBRG_NoParentSI() throws Exception {
+        logStart();
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getNotFound.xml");
+
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId126");
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        assertNotNull(workflowException);
+
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceBRG_SubProcessError() throws Exception {
+        logStart();
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
+
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 404);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId127");
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        assertNotNull(workflowException);
+
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        logEnd();
+    }
+
+    private void setVariablesSuccess(Map<String, Object> variables, String requestId) {
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("failExists", "true");
+        variables.put("disableRollback", "true");
+        variables.put("msoRequestId", requestId);
+        variables.put("mso-request-id", "requestId");
+        variables.put("sourceNetworkId", "snId");
+        variables.put("sourceNetworkRole", "snRole");
+        variables.put("allottedResourceRole", "txc");
+        variables.put("allottedResourceType", "BRG");
+        variables.put("allottedResourceId", ARID);
+        variables.put("vni", "BRG");
+        variables.put("vgmuxBearerIP", "bearerip");
+        variables.put("brgWanMacAddress", "wanmac");
+
+        variables.put("serviceInstanceId", DEC_INST);
+        variables.put("parentServiceInstanceId", DEC_PARENT_INST);
+
+        variables.put("serviceChainServiceInstanceId", "scsiId");
+
+        String arModelInfo = "{ " + "\"modelType\": \"allotted-resource\","
+                + "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\","
+                + "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," + "\"modelName\": \"vSAMP12\","
+                + "\"modelVersion\": \"1.0\"," + "\"modelCustomizationUuid\": \"MODEL-ID-1234\"," + "}";
+        variables.put("allottedResourceModelInfo", arModelInfo);
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceBRGRollbackIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceBRGRollbackIT.java
index f0d275c..cd7004e 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceBRGRollbackIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceBRGRollbackIT.java
@@ -1,20 +1,15 @@
 /*
- * ============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
+ * ============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
+ * 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.
+ * 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=========================================================
  */
 
@@ -24,12 +19,10 @@
 import org.onap.so.bpmn.common.BPMNUtil;
 import org.onap.so.bpmn.core.RollbackData;
 import org.onap.so.bpmn.mock.FileUtil;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
@@ -43,281 +36,295 @@
 
 public class DoCreateAllottedResourceBRGRollbackIT extends AbstractTestBase {
 
-	private static final String PROCNAME = "DoCreateAllottedResourceBRGRollback";
-	private static final String RbType = "DCARBRG_";
-	private final CallbackSet callbacks = new CallbackSet();
+    private static final String PROCNAME = "DoCreateAllottedResourceBRGRollback";
+    private static final String RbType = "DCARBRG_";
+    private final CallbackSet callbacks = new CallbackSet();
 
-	public DoCreateAllottedResourceBRGRollbackIT() throws IOException {
-		callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
-		callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
-		callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRGRollback_Success() throws Exception {
+    public DoCreateAllottedResourceBRGRollbackIT() throws IOException {
+        callbacks.put("deactivate",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
+        callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
+        callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceBRGRollback_Success() throws Exception {
         logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, businessKey);
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
-		
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "delete");
-		injectSDNCCallbacks(callbacks, "unassign");
-		
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRGRollback_skipRollback() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		rollbackData.put(RbType, "rollbackAAI", "false");
-		rollbackData.put(RbType, "rollbackSDNCassign", "false");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, businessKey);
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRGRollback_DoNotRollBack() throws Exception {
-		logStart();
-	    MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		// this will cause "rollbackSDNC" to be set to false
-		rollbackData.put(RbType, "rollbackSDNCassign", "false");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "delete");
+        injectSDNCCallbacks(callbacks, "unassign");
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-	    logEnd();
-	}
+        waitForWorkflowToFinish(processEngine, processId);
 
-	@Test
-	public void testDoCreateAllottedResourceBRGRollback_NoDeactivate() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
 
-		rollbackData.put(RbType, "rollbackSDNCactivate", "false");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+    @Test
+    public void testDoCreateAllottedResourceBRGRollback_skipRollback() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		injectSDNCCallbacks(callbacks, "delete");
-		injectSDNCCallbacks(callbacks, "unassign");
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
+        rollbackData.put(RbType, "rollbackAAI", "false");
+        rollbackData.put(RbType, "rollbackSDNCassign", "false");
 
-	@Test
-	public void testDoCreateAllottedResourceBRGRollback_NoDelete() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		rollbackData.put(RbType, "rollbackSDNCcreate", "false");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        waitForWorkflowToFinish(processEngine, processId);
 
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "unassign");
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRGRollback_NoUnassign() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+    @Test
+    public void testDoCreateAllottedResourceBRGRollback_DoNotRollBack() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		rollbackData.put(RbType, "rollbackSDNCassign", "false");
-		
-		/*
-		 * Note: if assign == false then the flow/script will set
-		 * "skipRollback" to false, which will cause ALL of the SDNC steps
-		 * to be skipped, not just the unassign step.
-		 */
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-	    logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRGRollback_SubProcessError() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        // this will cause "rollbackSDNC" to be set to false
+        rollbackData.put(RbType, "rollbackSDNCassign", "false");
 
-		mockSDNCAdapter(wireMockServer, 404);
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, businessKey);
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("false", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNotNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-	    logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceBRGRollback_JavaException() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, businessKey);
+        waitForWorkflowToFinish(processEngine, processId);
 
-		variables.put("rollbackData", "string instead of rollback data");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("false", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNotNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-	    logEnd();
-	}
+    @Test
+    public void testDoCreateAllottedResourceBRGRollback_NoDeactivate() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-	private RollbackData setVariablesSuccess(Map<String, Object> variables, String requestId) {
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("failNotFound", "true");
-		variables.put("msoRequestId", requestId);
-		variables.put("mso-request-id", "requestId");
-		variables.put("allottedResourceId", ARID);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
 
-		variables.put("serviceInstanceId", DEC_INST);
-		variables.put("parentServiceInstanceId", DEC_PARENT_INST);
-		
-		RollbackData rollbackData = new RollbackData();
+        rollbackData.put(RbType, "rollbackSDNCactivate", "false");
 
-		rollbackData.put(RbType, "serviceInstanceId", DEC_INST);
-		rollbackData.put(RbType, "serviceSubscriptionType", SVC);
-		rollbackData.put(RbType, "disablerollback", "false");
-		rollbackData.put(RbType, "rollbackAAI", "true");
-		rollbackData.put(RbType, "rollbackSDNCassign", "true");
-		rollbackData.put(RbType, "rollbackSDNCactivate", "true");
-		rollbackData.put(RbType, "rollbackSDNCcreate", "true");
-		rollbackData.put(RbType, "aaiARPath", "business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID);
-		
-		rollbackData.put(RbType, "sdncActivateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncActivateRollbackReq.xml"));
-		rollbackData.put(RbType, "sdncCreateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncCreateRollbackReq.xml")); 
-		rollbackData.put(RbType, "sdncAssignRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncAssignRollbackReq.xml"));
-		
-		variables.put("rollbackData",rollbackData);
-		
-		return rollbackData;
-	}
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        injectSDNCCallbacks(callbacks, "delete");
+        injectSDNCCallbacks(callbacks, "unassign");
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceBRGRollback_NoDelete() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+
+        rollbackData.put(RbType, "rollbackSDNCcreate", "false");
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "unassign");
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceBRGRollback_NoUnassign() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+
+        rollbackData.put(RbType, "rollbackSDNCassign", "false");
+
+        /*
+         * Note: if assign == false then the flow/script will set "skipRollback" to false, which will cause ALL of the
+         * SDNC steps to be skipped, not just the unassign step.
+         */
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceBRGRollback_SubProcessError() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        mockSDNCAdapter(wireMockServer, 404);
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, businessKey);
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("false", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNotNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceBRGRollback_JavaException() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceBRGRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, businessKey);
+
+        variables.put("rollbackData", "string instead of rollback data");
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("false", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNotNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    private RollbackData setVariablesSuccess(Map<String, Object> variables, String requestId) {
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("failNotFound", "true");
+        variables.put("msoRequestId", requestId);
+        variables.put("mso-request-id", "requestId");
+        variables.put("allottedResourceId", ARID);
+
+        variables.put("serviceInstanceId", DEC_INST);
+        variables.put("parentServiceInstanceId", DEC_PARENT_INST);
+
+        RollbackData rollbackData = new RollbackData();
+
+        rollbackData.put(RbType, "serviceInstanceId", DEC_INST);
+        rollbackData.put(RbType, "serviceSubscriptionType", SVC);
+        rollbackData.put(RbType, "disablerollback", "false");
+        rollbackData.put(RbType, "rollbackAAI", "true");
+        rollbackData.put(RbType, "rollbackSDNCassign", "true");
+        rollbackData.put(RbType, "rollbackSDNCactivate", "true");
+        rollbackData.put(RbType, "rollbackSDNCcreate", "true");
+        rollbackData.put(RbType, "aaiARPath",
+                "business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC
+                        + "/service-instances/service-instance/" + INST + "/allotted-resources/allotted-resource/"
+                        + ARID);
+
+        rollbackData.put(RbType, "sdncActivateRollbackReq", FileUtil
+                .readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncActivateRollbackReq.xml"));
+        rollbackData.put(RbType, "sdncCreateRollbackReq", FileUtil
+                .readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncCreateRollbackReq.xml"));
+        rollbackData.put(RbType, "sdncAssignRollbackReq", FileUtil
+                .readResourceFile("__files/VCPE/DoCreateAllottedResourceBRGRollback/sdncAssignRollbackReq.xml"));
+
+        variables.put("rollbackData", rollbackData);
+
+        return rollbackData;
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceTXCIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceTXCIT.java
index 6ecec32..80c3fa1 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceTXCIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceTXCIT.java
@@ -1,20 +1,15 @@
 /*
- * ============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
+ * ============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
+ * 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.
+ * 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=========================================================
  */
 
@@ -31,12 +26,10 @@
 import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutAllottedResource;
 import static org.onap.so.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
 import static org.onap.so.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import org.camunda.bpm.engine.test.Deployment;
 import org.junit.Assert;
 import org.junit.Ignore;
@@ -46,231 +39,227 @@
 
 public class DoCreateAllottedResourceTXCIT extends AbstractTestBase {
 
-	private static final String PROCNAME = "DoCreateAllottedResourceTXC";
-	private final CallbackSet callbacks = new CallbackSet();
+    private static final String PROCNAME = "DoCreateAllottedResourceTXC";
+    private final CallbackSet callbacks = new CallbackSet();
 
-	public DoCreateAllottedResourceTXCIT() throws IOException {
-		callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml"));
-		callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml"));
-		callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml"));
-		callbacks.put("query", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml"));
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXC_Success() throws Exception{
-		logStart();
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
-		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+    public DoCreateAllottedResourceTXCIT() throws IOException {
+        callbacks.put("assign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyAssignCallback.xml"));
+        callbacks.put("create", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyCreateCallback.xml"));
+        callbacks.put("activate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyActivateCallback.xml"));
+        callbacks.put("query",
+                FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml"));
+    }
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, "testRequestId123");
+    @Test
+    public void testDoCreateAllottedResourceTXC_Success() throws Exception {
+        logStart();
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
 
-		String processId = invokeSubProcess(PROCNAME, variables);
-		
-		injectSDNCCallbacks(callbacks, "assign");
-		injectSDNCCallbacks(callbacks, "create");
-		injectSDNCCallbacks(callbacks, "activate");
-		injectSDNCCallbacks(callbacks, "query");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		assertEquals(null, workflowException);
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId123");
 
-		assertEquals("namefromrequest", BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		assertEquals("my-vni", BPMNUtil.getVariable(processEngine, PROCNAME, "vni",processId));
-		assertEquals("my-bearer-ip", BPMNUtil.getVariable(processEngine, PROCNAME, "vgmuxBearerIP",processId));
-		assertEquals("my-lan-ip", BPMNUtil.getVariable(processEngine, PROCNAME, "vgmuxLanIP",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXC_NoSI() throws Exception{
-		logStart();
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getNotFound.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
-		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, "testRequestId123");
+        injectSDNCCallbacks(callbacks, "assign");
+        injectSDNCCallbacks(callbacks, "create");
+        injectSDNCCallbacks(callbacks, "activate");
+        injectSDNCCallbacks(callbacks, "query");
 
-		String processId = invokeSubProcess(PROCNAME, variables);
+        waitForWorkflowToFinish(processEngine, processId);
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		assertNotNull(workflowException);
-		
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXC_ActiveAr() throws Exception{
-		logStart();
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
-		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "VCPE/DoCreateAllottedResourceTXC/getSIandAR.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXC/getArTxc2.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, "testRequestId123");
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        assertEquals(null, workflowException);
 
-		variables.put("failExists", "false");
+        assertEquals("namefromrequest",
+                BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        assertEquals("my-vni", BPMNUtil.getVariable(processEngine, PROCNAME, "vni", processId));
+        assertEquals("my-bearer-ip", BPMNUtil.getVariable(processEngine, PROCNAME, "vgmuxBearerIP", processId));
+        assertEquals("my-lan-ip", BPMNUtil.getVariable(processEngine, PROCNAME, "vgmuxLanIP", processId));
+        logEnd();
+    }
 
-		String processId = invokeSubProcess(PROCNAME, variables);
-		
-		injectSDNCCallbacks(callbacks, "query");
+    @Test
+    public void testDoCreateAllottedResourceTXC_NoSI() throws Exception {
+        logStart();
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getNotFound.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		assertEquals(null, workflowException);
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		assertEquals("namefromrequest", BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		assertEquals("my-vni", BPMNUtil.getVariable(processEngine, PROCNAME, "vni",processId));
-		assertEquals("my-bearer-ip", BPMNUtil.getVariable(processEngine, PROCNAME, "vgmuxBearerIP",processId));
-		assertEquals("my-lan-ip", BPMNUtil.getVariable(processEngine, PROCNAME, "vgmuxLanIP",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXC_NoParentSI() throws Exception{
-		logStart();
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
-		
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getNotFound.xml");
-		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId123");
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, "testRequestId123");
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		String processId = invokeSubProcess(PROCNAME, variables);
+        waitForWorkflowToFinish(processEngine, processId);
 
-		waitForWorkflowToFinish(processEngine,processId);
+        Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        assertNotNull(workflowException);
 
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		assertNotNull(workflowException);
-		
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXC_SubProcessError() throws Exception{
-		logStart();
-		// TODO: use INST instead of DEC_INST
-		/*
-		 * should be INST instead of DEC_INST, but AAI utilities appear to
-		 * have a bug in that they don't URL-encode the SI id before using
-		 * it in the query
-		 */
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
-		MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
-		
-		MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
-		MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
-		MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
-		mockSDNCAdapter(wireMockServer, 404);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        logEnd();
+    }
 
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, "testRequestId123");
+    @Test
+    public void testDoCreateAllottedResourceTXC_ActiveAr() throws Exception {
+        logStart();
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
 
-		String processId = invokeSubProcess(PROCNAME, variables);
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "VCPE/DoCreateAllottedResourceTXC/getSIandAR.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceTXC/getArTxc2.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		waitForWorkflowToFinish(processEngine,processId);
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId123");
 
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		assertNotNull(workflowException);
-		
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName",processId));
-		logEnd();
-	}
+        variables.put("failExists", "false");
 
-	private void setVariablesSuccess(Map<String, Object> variables, String requestId) {
-		// TODO: need all of these?
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("failExists", "true");
-		variables.put("disableRollback", "true");
-		variables.put("msoRequestId", requestId);
-		variables.put("mso-request-id", "requestId");
-		variables.put("sourceNetworkId", "snId");
-		variables.put("sourceNetworkRole", "snRole");
-		variables.put("allottedResourceRole", "brg");
-		variables.put("allottedResourceType", "TXC");
-		variables.put("allottedResourceId", ARID);
-		variables.put("brgWanMacAddress", "wanmac");
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		variables.put("serviceInstanceId", DEC_INST);
-		variables.put("parentServiceInstanceId", DEC_PARENT_INST);
-		
-		variables.put("serviceChainServiceInstanceId", "scsiId");
-		
-		String arModelInfo = "{ "+ "\"modelType\": \"allotted-resource\"," +
-				"\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," +
-				"\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," +
-				"\"modelName\": \"vSAMP12\"," +
-				"\"modelVersion\": \"1.0\"," +
-				"\"modelCustomizationUuid\": \"MODEL-ID-1234\"," +
-				"}";
-		variables.put("allottedResourceModelInfo", arModelInfo);
-	}
+        injectSDNCCallbacks(callbacks, "query");
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        assertEquals(null, workflowException);
+
+        assertEquals("namefromrequest",
+                BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        assertEquals("my-vni", BPMNUtil.getVariable(processEngine, PROCNAME, "vni", processId));
+        assertEquals("my-bearer-ip", BPMNUtil.getVariable(processEngine, PROCNAME, "vgmuxBearerIP", processId));
+        assertEquals("my-lan-ip", BPMNUtil.getVariable(processEngine, PROCNAME, "vgmuxLanIP", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceTXC_NoParentSI() throws Exception {
+        logStart();
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getNotFound.xml");
+
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId123");
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        assertNotNull(workflowException);
+
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceTXC_SubProcessError() throws Exception {
+        logStart();
+        // TODO: use INST instead of DEC_INST
+        /*
+         * should be INST instead of DEC_INST, but AAI utilities appear to have a bug in that they don't URL-encode the
+         * SI id before using it in the query
+         */
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_INST, "GenericFlows/getSIUrlById.xml");
+        MockNodeQueryServiceInstanceById(wireMockServer, DEC_PARENT_INST, "GenericFlows/getParentSIUrlById.xml");
+
+        MockGetServiceInstance(wireMockServer, CUST, SVC, INST, "GenericFlows/getServiceInstance.xml");
+        MockGetServiceInstance(wireMockServer, CUST, SVC, PARENT_INST, "GenericFlows/getParentServiceInstance.xml");
+        MockPutAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, PARENT_INST, ARID);
+        mockSDNCAdapter(wireMockServer, 404);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, "testRequestId123");
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        assertNotNull(workflowException);
+
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "allotedResourceName", processId));
+        logEnd();
+    }
+
+    private void setVariablesSuccess(Map<String, Object> variables, String requestId) {
+        // TODO: need all of these?
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("failExists", "true");
+        variables.put("disableRollback", "true");
+        variables.put("msoRequestId", requestId);
+        variables.put("mso-request-id", "requestId");
+        variables.put("sourceNetworkId", "snId");
+        variables.put("sourceNetworkRole", "snRole");
+        variables.put("allottedResourceRole", "brg");
+        variables.put("allottedResourceType", "TXC");
+        variables.put("allottedResourceId", ARID);
+        variables.put("brgWanMacAddress", "wanmac");
+
+        variables.put("serviceInstanceId", DEC_INST);
+        variables.put("parentServiceInstanceId", DEC_PARENT_INST);
+
+        variables.put("serviceChainServiceInstanceId", "scsiId");
+
+        String arModelInfo = "{ " + "\"modelType\": \"allotted-resource\","
+                + "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\","
+                + "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," + "\"modelName\": \"vSAMP12\","
+                + "\"modelVersion\": \"1.0\"," + "\"modelCustomizationUuid\": \"MODEL-ID-1234\"," + "}";
+        variables.put("allottedResourceModelInfo", arModelInfo);
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceTXCRollbackIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceTXCRollbackIT.java
index 4f81a4f..0b64f49 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceTXCRollbackIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoCreateAllottedResourceTXCRollbackIT.java
@@ -1,20 +1,15 @@
 /*
- * ============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
+ * ============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
+ * 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.
+ * 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=========================================================
  */
 
@@ -24,12 +19,10 @@
 import org.onap.so.bpmn.common.BPMNUtil;
 import org.onap.so.bpmn.core.RollbackData;
 import org.onap.so.bpmn.mock.FileUtil;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
@@ -43,281 +36,295 @@
 
 public class DoCreateAllottedResourceTXCRollbackIT extends AbstractTestBase {
 
-	private static final String PROCNAME = "DoCreateAllottedResourceTXCRollback";
-	private static final String RbType = "DCARTXC_";
-	private final CallbackSet callbacks = new CallbackSet();
-	
-	public DoCreateAllottedResourceTXCRollbackIT() throws IOException {
-		callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
-		callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
-		callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXCRollback_Success() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, businessKey);
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
-		
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "delete");
-		injectSDNCCallbacks(callbacks, "unassign");
+    private static final String PROCNAME = "DoCreateAllottedResourceTXCRollback";
+    private static final String RbType = "DCARTXC_";
+    private final CallbackSet callbacks = new CallbackSet();
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXCRollback_skipRollback() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+    public DoCreateAllottedResourceTXCRollbackIT() throws IOException {
+        callbacks.put("deactivate",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
+        callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
+        callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
+    }
 
-		rollbackData.put(RbType, "rollbackAAI", "false");
-		rollbackData.put(RbType, "rollbackSDNCassign", "false");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+    @Test
+    public void testDoCreateAllottedResourceTXCRollback_Success() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXCRollback_DoNotRollBack() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, businessKey);
 
-		// this will cause "rollbackSDNC" to be set to false
-		rollbackData.put(RbType, "rollbackSDNCassign", "false");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXCRollback_NoDeactivate() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "delete");
+        injectSDNCCallbacks(callbacks, "unassign");
 
-		rollbackData.put(RbType, "rollbackSDNCactivate", "false");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        waitForWorkflowToFinish(processEngine, processId);
 
-		injectSDNCCallbacks(callbacks, "delete");
-		injectSDNCCallbacks(callbacks, "unassign");
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXCRollback_NoDelete() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+    @Test
+    public void testDoCreateAllottedResourceTXCRollback_skipRollback() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		rollbackData.put(RbType, "rollbackSDNCcreate", "false");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
 
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "unassign");
+        rollbackData.put(RbType, "rollbackAAI", "false");
+        rollbackData.put(RbType, "rollbackSDNCassign", "false");
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXCRollback_NoUnassign() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		rollbackData.put(RbType, "rollbackSDNCassign", "false");
-		
-		/*
-		 * Note: if assign == false then the flow/script will set
-		 * "skipRollback" to false, which will cause ALL of the SDNC steps
-		 * to be skipped, not just the unassign step.
-		 */
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        waitForWorkflowToFinish(processEngine, processId);
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXCRollback_SubProcessError() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals(null, BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
 
-		mockSDNCAdapter(wireMockServer, 404);
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, businessKey);
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+    @Test
+    public void testDoCreateAllottedResourceTXCRollback_DoNotRollBack() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("false", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNotNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
-	
-	@Test
-	public void testDoCreateAllottedResourceTXCRollback_JavaException() throws Exception {
-		logStart();
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables, businessKey);
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
 
-		variables.put("rollbackData", "string instead of rollback data");
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
+        // this will cause "rollbackSDNC" to be set to false
+        rollbackData.put(RbType, "rollbackSDNCassign", "false");
 
-		waitForWorkflowToFinish(processEngine,processId);
-		
-		assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX,processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertEquals(null, workflowException);
-		assertEquals("false", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack",processId));
-		assertNotNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError",processId));
-		logEnd();
-	}
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-	private RollbackData setVariablesSuccess(Map<String, Object> variables, String requestId) {
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("failNotFound", "true");
-		variables.put("msoRequestId", requestId);
-		variables.put("mso-request-id", "requestId");
-		variables.put("allottedResourceId", ARID);
+        waitForWorkflowToFinish(processEngine, processId);
 
-		variables.put("serviceInstanceId", DEC_INST);
-		variables.put("parentServiceInstanceId", DEC_PARENT_INST);
-		
-		RollbackData rollbackData = new RollbackData();
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
 
-		rollbackData.put(RbType, "serviceInstanceId", DEC_INST);
-		rollbackData.put(RbType, "serviceSubscriptionType", SVC);
-		rollbackData.put(RbType, "disablerollback", "false");
-		rollbackData.put(RbType, "rollbackAAI", "true");
-		rollbackData.put(RbType, "rollbackSDNCassign", "true");
-		rollbackData.put(RbType, "rollbackSDNCactivate", "true");
-		rollbackData.put(RbType, "rollbackSDNCcreate", "true");
-		rollbackData.put(RbType, "aaiARPath", "/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID);
-		
-		rollbackData.put(RbType, "sdncActivateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncActivateRollbackReq.xml"));
-		rollbackData.put(RbType, "sdncCreateRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncCreateRollbackReq.xml")); 
-		rollbackData.put(RbType, "sdncAssignRollbackReq", FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncAssignRollbackReq.xml"));
-		
-		variables.put("rollbackData",rollbackData);
-		
-		return rollbackData;
-	}
+    @Test
+    public void testDoCreateAllottedResourceTXCRollback_NoDeactivate() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+
+        rollbackData.put(RbType, "rollbackSDNCactivate", "false");
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        injectSDNCCallbacks(callbacks, "delete");
+        injectSDNCCallbacks(callbacks, "unassign");
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceTXCRollback_NoDelete() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+
+        rollbackData.put(RbType, "rollbackSDNCcreate", "false");
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "unassign");
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceTXCRollback_NoUnassign() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        RollbackData rollbackData = setVariablesSuccess(variables, businessKey);
+
+        rollbackData.put(RbType, "rollbackSDNCassign", "false");
+
+        /*
+         * Note: if assign == false then the flow/script will set "skipRollback" to false, which will cause ALL of the
+         * SDNC steps to be skipped, not just the unassign step.
+         */
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("true", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceTXCRollback_SubProcessError() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        mockSDNCAdapter(wireMockServer, 404);
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, businessKey);
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("false", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNotNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    @Test
+    public void testDoCreateAllottedResourceTXCRollback_JavaException() throws Exception {
+        logStart();
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoCreateAllottedResourceTXCRollback/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables, businessKey);
+
+        variables.put("rollbackData", "string instead of rollback data");
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        waitForWorkflowToFinish(processEngine, processId);
+
+        assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX, processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertEquals(null, workflowException);
+        assertEquals("false", BPMNUtil.getVariable(processEngine, PROCNAME, "rolledBack", processId));
+        assertNotNull(BPMNUtil.getVariable(processEngine, PROCNAME, "rollbackError", processId));
+        logEnd();
+    }
+
+    private RollbackData setVariablesSuccess(Map<String, Object> variables, String requestId) {
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("failNotFound", "true");
+        variables.put("msoRequestId", requestId);
+        variables.put("mso-request-id", "requestId");
+        variables.put("allottedResourceId", ARID);
+
+        variables.put("serviceInstanceId", DEC_INST);
+        variables.put("parentServiceInstanceId", DEC_PARENT_INST);
+
+        RollbackData rollbackData = new RollbackData();
+
+        rollbackData.put(RbType, "serviceInstanceId", DEC_INST);
+        rollbackData.put(RbType, "serviceSubscriptionType", SVC);
+        rollbackData.put(RbType, "disablerollback", "false");
+        rollbackData.put(RbType, "rollbackAAI", "true");
+        rollbackData.put(RbType, "rollbackSDNCassign", "true");
+        rollbackData.put(RbType, "rollbackSDNCactivate", "true");
+        rollbackData.put(RbType, "rollbackSDNCcreate", "true");
+        rollbackData.put(RbType, "aaiARPath",
+                "/business/customers/customer/" + CUST + "/service-subscriptions/service-subscription/" + SVC
+                        + "/service-instances/service-instance/" + INST + "/allotted-resources/allotted-resource/"
+                        + ARID);
+
+        rollbackData.put(RbType, "sdncActivateRollbackReq", FileUtil
+                .readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncActivateRollbackReq.xml"));
+        rollbackData.put(RbType, "sdncCreateRollbackReq", FileUtil
+                .readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncCreateRollbackReq.xml"));
+        rollbackData.put(RbType, "sdncAssignRollbackReq", FileUtil
+                .readResourceFile("__files/VCPE/DoCreateAllottedResourceTXCRollback/sdncAssignRollbackReq.xml"));
+
+        variables.put("rollbackData", rollbackData);
+
+        return rollbackData;
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoDeleteAllottedResourceBRGIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoDeleteAllottedResourceBRGIT.java
index 42f32b8..e4dc5ad 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoDeleteAllottedResourceBRGIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoDeleteAllottedResourceBRGIT.java
@@ -1,20 +1,15 @@
 /*
- * ============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
+ * ============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
+ * 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.
+ * 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=========================================================
  */
 
@@ -24,11 +19,9 @@
 import org.junit.Test;
 import org.onap.so.bpmn.common.BPMNUtil;
 import org.onap.so.bpmn.mock.FileUtil;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
-
 import static org.junit.Assert.*;
 import static org.onap.so.bpmn.mock.StubResponseAAI.*;
 import static org.onap.so.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
@@ -37,109 +30,114 @@
 
 public class DoDeleteAllottedResourceBRGIT extends AbstractTestBase {
 
-	private static final String PROCNAME = "DoDeleteAllottedResourceBRG";
-	private final CallbackSet callbacks = new CallbackSet();
-	
-	public DoDeleteAllottedResourceBRGIT() {
-		callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
-		callbacks.put("deactivateNF", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallbackNotFound.xml"));
-		callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
-		callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
-	}
-	
-	@Test
-	public void testDoDeleteAllottedResourceBRG_Success() {
-		logStart();
-		MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables);
-		
-		invokeSubProcess(PROCNAME, businessKey, variables);
-		
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "delete");
-		injectSDNCCallbacks(callbacks, "unassign");
+    private static final String PROCNAME = "DoDeleteAllottedResourceBRG";
+    private final CallbackSet callbacks = new CallbackSet();
 
-		waitForProcessEnd(businessKey, 10000);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		System.out.println("workflowException:\n" + workflowException);
-		assertNull(workflowException);
-		logEnd();
-	}
-	
-	@Test
-	public void testDoDeleteAllottedResourceBRG_ARNotInSDNC() {
-		logStart();
-		MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		String businessKey = UUID.randomUUID().toString();
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables);
+    public DoDeleteAllottedResourceBRGIT() {
+        callbacks.put("deactivate",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
+        callbacks.put("deactivateNF",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallbackNotFound.xml"));
+        callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
+        callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
+    }
 
-		variables.put("failNotFound", "false");
-		
-		invokeSubProcess(PROCNAME, businessKey, variables);
-		
-		injectSDNCCallbacks(callbacks, "deactivateNF");
+    @Test
+    public void testDoDeleteAllottedResourceBRG_Success() {
+        logStart();
+        MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		waitForProcessEnd(businessKey, 10000);
-		
-		Assert.assertTrue(isProcessEnded(businessKey));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
-		System.out.println("workflowException:\n" + workflowException);
-		assertNull(workflowException);
-		logEnd();
-	}
-	
-	
-	@Test
-	public void testDoDeleteAllottedResourceBRG_SubProcessError() throws Exception {
-		logStart();
-		MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables);
 
-		mockSDNCAdapter(wireMockServer, 500);
-		
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables);
+        invokeSubProcess(PROCNAME, businessKey, variables);
 
-		String processId = invokeSubProcess(PROCNAME, variables);
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "delete");
+        injectSDNCCallbacks(callbacks, "unassign");
+
+        waitForProcessEnd(businessKey, 10000);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        System.out.println("workflowException:\n" + workflowException);
+        assertNull(workflowException);
+        logEnd();
+    }
+
+    @Test
+    public void testDoDeleteAllottedResourceBRG_ARNotInSDNC() {
+        logStart();
+        MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        String businessKey = UUID.randomUUID().toString();
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables);
+
+        variables.put("failNotFound", "false");
+
+        invokeSubProcess(PROCNAME, businessKey, variables);
+
+        injectSDNCCallbacks(callbacks, "deactivateNF");
+
+        waitForProcessEnd(businessKey, 10000);
+
+        Assert.assertTrue(isProcessEnded(businessKey));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, VAR_WFEX);
+        System.out.println("workflowException:\n" + workflowException);
+        assertNull(workflowException);
+        logEnd();
+    }
 
 
-		BPMNUtil.waitForWorkflowToFinish(processEngine,processId);
+    @Test
+    public void testDoDeleteAllottedResourceBRG_SubProcessError() throws Exception {
+        logStart();
+        MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, "WorkflowException",processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertNotNull(workflowException);
-		logEnd();
-	}
+        mockSDNCAdapter(wireMockServer, 500);
 
-	private void setVariablesSuccess(Map<String, Object> variables) {
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("failNotFound", "true");
-		variables.put("msoRequestId", "testRequestId1");
-		variables.put("mso-request-id", "requestId");
-		variables.put("allottedResourceId", ARID);
-		variables.put("serviceInstanceId", DEC_INST);
-		variables.put("parentServiceInstanceId", DEC_PARENT_INST);
-	}
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables);
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+
+        BPMNUtil.waitForWorkflowToFinish(processEngine, processId);
+
+        Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, "WorkflowException", processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertNotNull(workflowException);
+        logEnd();
+    }
+
+    private void setVariablesSuccess(Map<String, Object> variables) {
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("failNotFound", "true");
+        variables.put("msoRequestId", "testRequestId1");
+        variables.put("mso-request-id", "requestId");
+        variables.put("allottedResourceId", ARID);
+        variables.put("serviceInstanceId", DEC_INST);
+        variables.put("parentServiceInstanceId", DEC_PARENT_INST);
+    }
 
 }
diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoDeleteAllottedResourceTXCIT.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoDeleteAllottedResourceTXCIT.java
index 13ca58b..106c2f0 100644
--- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoDeleteAllottedResourceTXCIT.java
+++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/vcpe/DoDeleteAllottedResourceTXCIT.java
@@ -1,20 +1,15 @@
 /*
- * ============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
+ * ============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
+ * 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.
+ * 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=========================================================
  */
 
@@ -24,10 +19,8 @@
 import org.junit.Test;
 import org.onap.so.bpmn.common.BPMNUtil;
 import org.onap.so.bpmn.mock.FileUtil;
-
 import java.util.HashMap;
 import java.util.Map;
-
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.onap.so.bpmn.mock.StubResponseAAI.*;
@@ -37,104 +30,109 @@
 
 public class DoDeleteAllottedResourceTXCIT extends AbstractTestBase {
 
-	private static final String PROCNAME = "DoDeleteAllottedResourceTXC";
-	private final CallbackSet callbacks = new CallbackSet();
-	
-	public DoDeleteAllottedResourceTXCIT() {
-		callbacks.put("deactivate", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
-		callbacks.put("deactivateNF", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallbackNotFound.xml"));
-		callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
-		callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
-	}
-	
-	@Test
-	public void testDoDeleteAllottedResourceTXC_Success() throws Exception {
-		logStart();
-		MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables);
-		
-		String processId = invokeSubProcess(PROCNAME, variables);
-		
-		injectSDNCCallbacks(callbacks, "deactivate");
-		injectSDNCCallbacks(callbacks, "delete");
-		injectSDNCCallbacks(callbacks, "unassign");
+    private static final String PROCNAME = "DoDeleteAllottedResourceTXC";
+    private final CallbackSet callbacks = new CallbackSet();
 
-		BPMNUtil.waitForWorkflowToFinish(processEngine,processId);
+    public DoDeleteAllottedResourceTXCIT() {
+        callbacks.put("deactivate",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallback.xml"));
+        callbacks.put("deactivateNF",
+                FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeactivateCallbackNotFound.xml"));
+        callbacks.put("delete", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyDeleteCallback.xml"));
+        callbacks.put("unassign", FileUtil.readResourceFile("__files/VfModularity/SDNCTopologyUnassignCallback.xml"));
+    }
 
-		Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, "WorkflowException",processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertNull(workflowException);
-		logEnd();
-	}
-	
-	@Test
-	public void testDoDeleteAllottedResourceTXC_ARNotInSDNC() throws Exception {
-		logStart();
-		MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockSDNCAdapter(wireMockServer, 200);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
-		
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables);
+    @Test
+    public void testDoDeleteAllottedResourceTXC_Success() throws Exception {
+        logStart();
+        MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		variables.put("failNotFound", "false");
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables);
 
-		String processId = invokeSubProcess(PROCNAME, variables);
-		
-		injectSDNCCallbacks(callbacks, "deactivateNF");
+        String processId = invokeSubProcess(PROCNAME, variables);
 
-		BPMNUtil.waitForWorkflowToFinish(processEngine,processId);
+        injectSDNCCallbacks(callbacks, "deactivate");
+        injectSDNCCallbacks(callbacks, "delete");
+        injectSDNCCallbacks(callbacks, "unassign");
 
-		Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
-		logEnd();
-	}
-	
-	
-	@Test
-	public void testDoDeleteAllottedResourceTXC_SubProcessError() throws Exception {
-		logStart();
-		MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
-		MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml");
-		MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
-		MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
-		mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+        BPMNUtil.waitForWorkflowToFinish(processEngine, processId);
 
-		mockSDNCAdapter(wireMockServer, 500);
-		
-		Map<String, Object> variables = new HashMap<>();
-		setVariablesSuccess(variables);
+        Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, "WorkflowException", processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertNull(workflowException);
+        logEnd();
+    }
 
-		String processId = invokeSubProcess(PROCNAME, variables);
+    @Test
+    public void testDoDeleteAllottedResourceTXC_ARNotInSDNC() throws Exception {
+        logStart();
+        MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockSDNCAdapter(wireMockServer, 200);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
 
-		BPMNUtil.waitForWorkflowToFinish(processEngine,processId);
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables);
 
-		Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
-		String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, "WorkflowException",processId);
-		System.out.println("workflowException:\n" + workflowException);
-		assertNotNull(workflowException);
-		logEnd();
-	}
+        variables.put("failNotFound", "false");
 
-	private void setVariablesSuccess(Map<String, Object> variables) {
-		variables.put("isDebugLogEnabled", "true");
-		variables.put("failNotFound", "true");
-		variables.put("msoRequestId", "testRequestId1");
-		variables.put("mso-request-id", "requestId");
-		variables.put("allottedResourceId", ARID);
-		
-		variables.put("serviceInstanceId", DEC_INST);
-		variables.put("parentServiceInstanceId", DEC_PARENT_INST);
-	}
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        injectSDNCCallbacks(callbacks, "deactivateNF");
+
+        BPMNUtil.waitForWorkflowToFinish(processEngine, processId);
+
+        Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
+        logEnd();
+    }
+
+
+    @Test
+    public void testDoDeleteAllottedResourceTXC_SubProcessError() throws Exception {
+        logStart();
+        MockQueryAllottedResourceById(wireMockServer, ARID, "GenericFlows/getARUrlById.xml");
+        MockGetAllottedResource(wireMockServer, CUST, SVC, INST, ARID,
+                "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml");
+        MockPatchAllottedResource(wireMockServer, CUST, SVC, INST, ARID);
+        MockDeleteAllottedResource(wireMockServer, CUST, SVC, INST, ARID, ARVERS);
+        mockUpdateRequestDB(wireMockServer, 200, "Database/DBUpdateResponse.xml");
+
+        mockSDNCAdapter(wireMockServer, 500);
+
+        Map<String, Object> variables = new HashMap<>();
+        setVariablesSuccess(variables);
+
+        String processId = invokeSubProcess(PROCNAME, variables);
+
+        BPMNUtil.waitForWorkflowToFinish(processEngine, processId);
+
+        Assert.assertTrue(isProcessEndedByProcessInstanceId(processId));
+        String workflowException = BPMNUtil.getVariable(processEngine, PROCNAME, "WorkflowException", processId);
+        System.out.println("workflowException:\n" + workflowException);
+        assertNotNull(workflowException);
+        logEnd();
+    }
+
+    private void setVariablesSuccess(Map<String, Object> variables) {
+        variables.put("isDebugLogEnabled", "true");
+        variables.put("failNotFound", "true");
+        variables.put("msoRequestId", "testRequestId1");
+        variables.put("mso-request-id", "requestId");
+        variables.put("allottedResourceId", ARID);
+
+        variables.put("serviceInstanceId", DEC_INST);
+        variables.put("parentServiceInstanceId", DEC_PARENT_INST);
+    }
 
 }