Bug fixes October 23rd 84/71084/2
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Tue, 23 Oct 2018 16:02:27 +0000 (12:02 -0400)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Tue, 23 Oct 2018 17:15:17 +0000 (13:15 -0400)
fixed the db status not being updated on delete SI
added a default sequence flow to isAsync_Gateway
Removed @Before and organized imports
Added check to prevent db query with only requestStatus
correct AAIObjectPlurals enum value name
Correct rollbackData setting and protect against null

Change-Id: Ic7c47dc968a29987c3d576da9aa50c7ddc8f28ee
Issue-ID: SO-1162
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy
mso-api-handlers/mso-requests-db-repositories/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImpl.java
mso-api-handlers/mso-requests-db-repositories/src/test/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImplTest.java

index b43a96b..ec2fed5 100644 (file)
@@ -200,6 +200,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
 
                try {
                        String requestId = execution.getVariable("msoRequestId")
+                       String serviceInstanceId = execution.getVariable("serviceInstanceId")
                        String source = execution.getVariable("source")
                        String msoCompletionRequest =
                        """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.onap/so/workflow/schema/v1"
@@ -209,8 +210,9 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro
                                                        <action>DELETE</action>
                                                        <source>${MsoUtils.xmlEscape(source)}</source>
                                                </request-info>
-                                               <aetgt:status-message>Service Instance was deleted successfully.</aetgt:status-message>
-                                               <aetgt:mso-bpel-name>DeleteGenericALaCarteServiceInstance</aetgt:mso-bpel-name>
+                                               <status-message>Service Instance was deleted successfully.</status-message>
+                                               <serviceInstanceId>${MsoUtils.xmlEscape(serviceInstanceId)}</serviceInstanceId>
+                                               <mso-bpel-name>DeleteGenericALaCarteServiceInstance</mso-bpel-name>
                                        </aetgt:MsoCompletionRequest>"""
 
                        // Format Response
index 38836c3..6d41923 100644 (file)
@@ -94,6 +94,12 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                try {
                        String requestId = execution.getVariable("msoRequestId")
                        execution.setVariable("prefix", Prefix)
+                       
+                       def rollbackData = execution.getVariable("rollbackData")
+                       if (rollbackData == null) {
+                               rollbackData = new RollbackData()
+                       }
+                       execution.setVariable("rollbackData", rollbackData)
 
                        setBasicDBAuthHeader(execution, isDebugEnabled)
                        //Inputs
@@ -409,7 +415,10 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                        throw e;
                } catch (Exception ex) {
                        //start rollback set up
-                       RollbackData rollbackData = new RollbackData()
+                       def rollbackData = execution.getVariable("rollbackData")
+                       if (rollbackData == null) {
+                               rollbackData = new RollbackData()
+                       }                       
                        def disableRollback = execution.getVariable("disableRollback")
                        rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
                        rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
@@ -506,11 +515,13 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                        def sdncRequestId3 = UUID.randomUUID().toString()
                        String sdncDeactivate = sdncDelete.replace(">delete<", ">deactivate<").replace(">${sdncRequestId2}<", ">${sdncRequestId3}<")
                        def rollbackData = execution.getVariable("rollbackData")
-                       rollbackData.put("SERVICEINSTANCE", "sdncDeactivate", sdncDeactivate)
-                       rollbackData.put("SERVICEINSTANCE", "sdncDelete", sdncDelete)
-                       execution.setVariable("rollbackData", rollbackData)
+                       if (rollbackData != null) {
+                               rollbackData.put("SERVICEINSTANCE", "sdncDeactivate", sdncDeactivate)
+                               rollbackData.put("SERVICEINSTANCE", "sdncDelete", sdncDelete)
+                               execution.setVariable("rollbackData", rollbackData)             
 
-                       msoLogger.debug("rollbackData:\n" + rollbackData.toString())
+                               msoLogger.debug("rollbackData:\n" + rollbackData.toString())
+                       }
 
                } catch (BpmnError e) {
                        throw e;
@@ -541,8 +552,10 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor {
                                msoLogger.debug("Good response from SDNC Adapter for service-instance  topology assign: \n" + response)
 
                                def rollbackData = execution.getVariable("rollbackData")
-                               rollbackData.put("SERVICEINSTANCE", "rollbackSDNC", "true")
-                               execution.setVariable("rollbackData", rollbackData)
+                               if (rollbackData != null) {
+                                       rollbackData.put("SERVICEINSTANCE", "rollbackSDNC", "true")
+                                       execution.setVariable("rollbackData", rollbackData)
+                               }
 
                        }else{
                                msoLogger.debug("Bad Response from SDNC Adapter for service-instance assign")
index d66e378..951f02e 100644 (file)
@@ -172,6 +172,7 @@ public class InfraActiveRequestsRepositoryImpl implements InfraActiveRequestsRep
         final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
         final CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
         final Root<InfraActiveRequests> tableRoot = crit.from(InfraActiveRequests.class);
+        InfraActiveRequests infraActiveRequests = null;
 
         if (instanceName != null && !instanceName.equals("")) {
 
@@ -229,18 +230,17 @@ public class InfraActiveRequestsRepositoryImpl implements InfraActiveRequestsRep
                 }
             }
         }
-
-        predicates.add(tableRoot.get(REQUEST_STATUS)
+        if(!predicates.isEmpty()){
+               predicates.add(tableRoot.get(REQUEST_STATUS)
                 .in(Arrays.asList("PENDING", "IN_PROGRESS", "TIMEOUT", "PENDING_MANUAL_TASK")));
 
-        final Order order = cb.desc(tableRoot.get(START_TIME));
-
-        final List<InfraActiveRequests> dupList = executeInfraQuery(crit, predicates, order);
-
-        InfraActiveRequests infraActiveRequests = null;
-
-        if (dupList != null && !dupList.isEmpty()) {
-            infraActiveRequests = dupList.get(0);
+               final Order order = cb.desc(tableRoot.get(START_TIME));
+       
+               final List<InfraActiveRequests> dupList = executeInfraQuery(crit, predicates, order);
+       
+               if (dupList != null && !dupList.isEmpty()) {
+                   infraActiveRequests = dupList.get(0);
+               }
         }
 
         return infraActiveRequests;
index b7eb764..4097aee 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.so.db.request.data.repository;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.onap.so.db.request.data.repository.InfraActiveRequestsRepositoryImpl.ACTION;
 import static org.onap.so.db.request.data.repository.InfraActiveRequestsRepositoryImpl.REQUEST_ID;
@@ -181,4 +182,12 @@ public class InfraActiveRequestsRepositoryImplTest {
                 objUnderTest.getInfraActiveRequests(null, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, MAX_LIMIT);
         assertTrue(actualRequests.isEmpty());
     }
+    
+    @Test
+    public void checkInstanceNameDuplicateNullInstanceNameTest(){
+       Map<String, String> instanceIdMap = new HashMap<>();
+        instanceIdMap.put("serviceInstanceId", "e05864f0-ab35-47d0-8be4-56fd9619ba3b");
+       InfraActiveRequests results = objUnderTest.checkInstanceNameDuplicate((HashMap<String, String>)instanceIdMap, null, "vnf");
+       assertNull(results);
+    }
 }