updated uri regular expression to support resume 74/98474/1
authorSmokowski, Steven <steve.smokowski@att.com>
Fri, 15 Nov 2019 20:24:03 +0000 (15:24 -0500)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Fri, 15 Nov 2019 20:24:03 +0000 (15:24 -0500)
updated uri regular expression to support resume

Issue-ID: SO-2522
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: I0a44a374d46c7b3892acabe31c0621d37103b37a

bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java

index c3f5a98..b5b1f5d 100644 (file)
@@ -188,9 +188,11 @@ public class WorkflowAction {
             boolean isResume = false;
             if (isUriResume(uri)) {
                 isResume = true;
-                logger.debug("replacing URI {}", uri);
-                uri = bbInputSetupUtils.loadOriginalInfraActiveRequestById(requestId).getRequestUrl();
-                logger.debug("for RESUME with original value {}", uri);
+                if (!aLaCarte) {
+                    logger.debug("replacing URI {}", uri);
+                    uri = bbInputSetupUtils.loadOriginalInfraActiveRequestById(requestId).getRequestUrl();
+                    logger.debug("for RESUME with original value {}", uri);
+                }
             }
             Resource resource = extractResourceIdAndTypeFromUri(uri);
             WorkflowType resourceType = resource.getResourceType();
@@ -1129,8 +1131,8 @@ public class WorkflowAction {
     }
 
     protected Resource extractResourceIdAndTypeFromUri(String uri) {
-        Pattern patt = Pattern.compile(
-                "[vV]\\d+.*?(?:(?:/(?<type>" + SUPPORTEDTYPES + ")(?:/(?<id>[^/]+))?)(?:/(?<action>[^/]+))?)?$");
+        Pattern patt = Pattern.compile("[vV]\\d+.*?(?:(?:/(?<type>" + SUPPORTEDTYPES
+                + ")(?:/(?<id>[^/]+))?)(?:/(?<action>[^/]+))?(?:/resume)?)?$");
         Matcher m = patt.matcher(uri);
         Boolean generated = false;
 
index be6fc94..cb5ffd6 100644 (file)
@@ -1476,6 +1476,27 @@ public class WorkflowActionTest extends BaseTaskTest {
         assertEquals(resource.getResourceId(), "33cb74cd-9cb3-4090-a3c0-1b8c8e235847");
     }
 
+    @Test
+    public void extractResourceIdAndTypeFromUriReplaceResumeTest() {
+        Resource resource = workflowAction.extractResourceIdAndTypeFromUri(
+                "http://localhost:9100/onap/so/infra/serviceInstantiation/v7/serviceInstances/4ff87c63-461b-4d83-8121-d351e6db216c/vnfs/eea9b93b-b5b9-4fad-9c35-12d52e4b683f/vfModules/33cb74cd-9cb3-4090-a3c0-1b8c8e235847/deactivateAndCloudDelete/resume");
+        assertEquals(resource.getResourceId(), "33cb74cd-9cb3-4090-a3c0-1b8c8e235847");
+    }
+
+    @Test
+    public void extractResourceIdAndTypeFromUriDeActiveResumeTest() {
+        Resource resource = workflowAction.extractResourceIdAndTypeFromUri(
+                "http://localhost:9100/onap/so/infra/serviceInstantiation/v7/serviceInstances/4ff87c63-461b-4d83-8121-d351e6db216c/vnfs/eea9b93b-b5b9-4fad-9c35-12d52e4b683f/vfModules/33cb74cd-9cb3-4090-a3c0-1b8c8e235847/replace/resume");
+        assertEquals(resource.getResourceId(), "33cb74cd-9cb3-4090-a3c0-1b8c8e235847");
+    }
+
+    @Test
+    public void extractResourceIdAndTypeFromUriResumeIdOnly() {
+        Resource resource = workflowAction.extractResourceIdAndTypeFromUri(
+                "http://localhost:9100/onap/so/infra/serviceInstantiation/v7/serviceInstances/4ff87c63-461b-4d83-8121-d351e6db216c/vnfs/eea9b93b-b5b9-4fad-9c35-12d52e4b683f/vfModules/33cb74cd-9cb3-4090-a3c0-1b8c8e235847/resume");
+        assertEquals(resource.getResourceId(), "33cb74cd-9cb3-4090-a3c0-1b8c8e235847");
+    }
+
     @Test
     public void isUriResumeTest() {
         assertTrue(workflowAction.isUriResume(