Fix OOF Config Ingestion 04/70604/1
authorMarcus G K Williams <marcus.williams@intel.com>
Tue, 16 Oct 2018 21:46:51 +0000 (14:46 -0700)
committerMarcus G K Williams <marcus.williams@intel.com>
Tue, 16 Oct 2018 21:51:09 +0000 (14:51 -0700)
Update Homing OOF Config Path

Issue-ID: SO-1127
Change-Id: I10ba6dcf23d474ba5e9832a6f4f35e52ead020b5
Signed-off-by: Marcus G K Williams <marcus.williams@intel.com>
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/AbstractServiceTaskProcessor.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy

index 9e71313..00bd8e9 100644 (file)
@@ -693,6 +693,32 @@ public abstract class AbstractServiceTaskProcessor implements ServiceTaskProcess
                        '/' + UriUtils.encodePathSegment(correlator, 'UTF-8')
        }
 
+       /**
+        * Constructs a workflow message callback URL for the specified message type and correlator.
+        * This type of callback URL is used when a workflow wants an MSO adapter (like the SDNC
+        * adapter) to call it back.  In other words, this is for callbacks internal to the MSO
+        * complex.  Use <code>createWorkflowMessageAdapterCallbackURL</code> if the callback
+        * will come from outside the MSO complex.
+        * @param endpoint endpoint address to contruct URL from
+        * @param messageType the message type (e.g. SDNCAResponse or VNFAResponse)
+        * @param correlator the correlator value (e.g. a request ID)
+        */
+       public String createCallbackURL(String endpoint, String messageType, String correlator) {
+               if (endpoint == null || endpoint.isEmpty()) {
+                       ExceptionUtil exceptionUtil = new ExceptionUtil()
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 2000,
+                                       'mso:workflow:message:endpoint was not passed in')
+               }
+
+               while (endpoint.endsWith('/')) {
+                       endpoint = endpoint.substring(0, endpoint.length()-1)
+               }
+
+               return endpoint +
+                               '/' + UriUtils.encodePathSegment(messageType, 'UTF-8') +
+                               '/' + UriUtils.encodePathSegment(correlator, 'UTF-8')
+       }
+
        /**
         *
         * Constructs a workflow message callback URL for the specified message type and correlator.
index 7028f6e..aa0d8ac 100644 (file)
@@ -152,9 +152,7 @@ class OofHoming extends AbstractServiceTaskProcessor {
                 execution.setVariable("oofRequest", oofRequest)
                 utils.log("DEBUG", "OOF Request is: " + oofRequest, isDebugEnabled)
 
-                String endpoint = UrnPropertiesReader.getVariable("mso.oof.service.agnostic.endpoint", execution)
-                String host = UrnPropertiesReader.getVariable("mso.oof.service.agnostic.host", execution)
-                String url = host + endpoint
+                String url = UrnPropertiesReader.getVariable("mso.oof.endpoint", execution)
                 utils.log("DEBUG", "Posting to OOF Url: " + url, isDebugEnabled)
 
                 logDebug("URL to be used is: " + url, isDebugEnabled)
index d957959..b1da7cf 100644 (file)
@@ -87,7 +87,9 @@ class OofUtils {
                         ArrayList requiredCandidates = null) {
         def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
         utils.log("DEBUG", "Started Building OOF Request", isDebugEnabled)
-        def callbackUrl = utils.createWorkflowMessageAdapterCallbackURL(execution, "oofResponse", requestId)
+        String callbackEndpoint = UrnPropertiesReader.getVariable("mso.oof.callbackEndpoint", execution)
+        utils.log("DEBUG", "mso.oof.callbackEndpoint is: " + callbackEndpoint, isDebugEnabled)
+        def callbackUrl = utils.createWorkflowMessageAdapterCallbackURL(callbackEndpoint, "oofResponse", requestId)
         def transactionId = requestId
         //ServiceInstance Info
         ServiceInstance serviceInstance = decomposition.getServiceInstance()