add put-aai in DoUpdateE2EServiceInstanc.groovy 03/36703/4
authorYulian Han <elaine.hanyulian@huawei.com>
Mon, 19 Mar 2018 11:16:18 +0000 (19:16 +0800)
committerYulian Han <elaine.hanyulian@huawei.com>
Tue, 20 Mar 2018 03:15:28 +0000 (03:15 +0000)
Change-Id: Idaa55084f5ecb0dd3636c232cebc14fa5f0641d8
Issue-ID: SO-419
Signed-off-by: Yulian Han <elaine.hanyulian@huawei.com>
bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy

index 0372d95..deea707 100644 (file)
@@ -534,7 +534,167 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor {
     public void postProcessForDeleteResource(DelegateExecution execution) {\r
         def isDebugEnabled=execution.getVariable("isDebugLogEnabled")\r
     \r
-    }    \r
+    } \r
+    \r
+       public void preProcessAAIGET2(DelegateExecution execution) {\r
+        def isDebugEnabled=execution.getVariable("isDebugLogEnabled")  \r
+       }\r
+       \r
+       public void postProcessAAIGET2(DelegateExecution execution) {\r
+               def isDebugEnabled=execution.getVariable("isDebugLogEnabled")\r
+               utils.log("INFO"," ***** postProcessAAIGET2 ***** ", isDebugEnabled)\r
+               String msg = ""\r
+\r
+               try {\r
+                       String serviceInstanceName = execution.getVariable("serviceInstanceName")\r
+                       boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator")\r
+                       if(!succInAAI){\r
+                               utils.log("INFO","Error getting Service-instance from AAI in postProcessAAIGET2", + serviceInstanceName, isDebugEnabled)\r
+                               WorkflowException workflowException = execution.getVariable("WorkflowException")\r
+                               utils.logAudit("workflowException: " + workflowException)\r
+                               if(workflowException != null){\r
+                                       exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage())\r
+                               }\r
+                               else\r
+                               {\r
+                                       msg = "Failure in postProcessAAIGET2 GENGS_SuccessIndicator:" + succInAAI\r
+                                       utils.log("INFO", msg, isDebugEnabled)\r
+                                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, msg)\r
+                               }\r
+                       }\r
+                       else\r
+                       {\r
+                               boolean foundInAAI = execution.getVariable("GENGS_FoundIndicator")\r
+                               if(foundInAAI){\r
+                                       String aaiService = execution.getVariable("GENGS_service")\r
+                                       if (!isBlank(aaiService) && (utils.nodeExists(aaiService, "resource-version"))) {\r
+                                               execution.setVariable("serviceInstanceVersion",  utils.getNodeText1(aaiService, "resource-version"))\r
+                                               utils.log("INFO","Found Service-instance in AAI.serviceInstanceName:" + execution.getVariable("serviceInstanceName"), isDebugEnabled)\r
+                                       }\r
+                               }\r
+                       }\r
+               } catch (BpmnError e) {\r
+                       throw e;\r
+               } catch (Exception ex) {\r
+                       msg = "Exception in DoCreateServiceInstance.postProcessAAIGET2 " + ex.getMessage()\r
+                       utils.log("INFO", msg, isDebugEnabled)\r
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)\r
+               }\r
+               utils.log("INFO"," *** Exit postProcessAAIGET2 *** ", isDebugEnabled)\r
+       }\r
+\r
+       public void preProcessAAIPUT(DelegateExecution execution) {             \r
+               def method = getClass().getSimpleName() + '.preProcessRequest(' +'execution=' + execution.getId() +')'\r
+               def isDebugEnabled = execution.getVariable("isDebugLogEnabled")\r
+               utils.log("INFO","Entered " + method, isDebugEnabled)\r
+               String msg = ""\r
+               utils.log("INFO"," ***** preProcessAAIPUTt *****",  isDebugEnabled)\r
+\r
+               String modelUuid = execution.getVariable("modelUuid")\r
+               String serviceInstanceVersion = execution.getVariable("serviceInstanceVersion")\r
+               execution.setVariable("GENPS_serviceResourceVersion", serviceInstanceVersion)\r
+\r
+               AaiUtil aaiUriUtil = new AaiUtil(this)\r
+               utils.log("INFO","start create aai uri: " + aaiUriUtil, isDebugEnabled) \r
+               String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution)\r
+               utils.log("INFO","aai_uri: " + aai_uri, isDebugEnabled)\r
+               String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri)\r
+               utils.log("INFO","namespace: " + namespace, isDebugEnabled)\r
+\r
+               String serviceInstanceData =\r
+                               """<service-instance xmlns=\"${namespace}\">\r
+                              <model-version-id">${modelUuid}</model-version-id>\r
+                                </service-instance>""".trim()\r
+\r
+               execution.setVariable("serviceInstanceData", serviceInstanceData)\r
+               utils.log("INFO","serviceInstanceData: " + serviceInstanceData, isDebugEnabled)\r
+               utils.logAudit(serviceInstanceData)\r
+               utils.log("INFO", " aai_uri " + aai_uri + " namespace:" + namespace, isDebugEnabled)\r
+               utils.log("INFO", " 'payload' to update Service Instance in AAI - " + "\n" + serviceInstanceData, isDebugEnabled)\r
+       \r
+               utils.log("INFO", "Exited " + method, isDebugEnabled)\r
+       }       \r
+       \r
+       public void postProcessAAIPUT(DelegateExecution execution) {\r
+               def isDebugEnabled=execution.getVariable("isDebugLogEnabled")\r
+               utils.log("INFO"," ***** postProcessAAIPUT ***** ", isDebugEnabled)\r
+               String msg = ""\r
+               try {\r
+                       String serviceInstanceId = execution.getVariable("serviceInstanceId")\r
+                       boolean succInAAI = execution.getVariable("GENPS_SuccessIndicator")\r
+                       if(!succInAAI){\r
+                               utils.log("INFO","Error putting Service-instance in AAI", + serviceInstanceId, isDebugEnabled)\r
+                               WorkflowException workflowException = execution.getVariable("WorkflowException")\r
+                               utils.logAudit("workflowException: " + workflowException)\r
+                               if(workflowException != null){\r
+                                       exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage())\r
+                               }\r
+                       }\r
+                       else\r
+                       {\r
+                               //start rollback set up\r
+                               RollbackData rollbackData = new RollbackData()\r
+                               def disableRollback = execution.getVariable("disableRollback")\r
+                               rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())\r
+                               rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")\r
+                               rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", serviceInstanceId)\r
+                               rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", execution.getVariable("subscriptionServiceType"))\r
+                               rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))\r
+                               execution.setVariable("rollbackData", rollbackData)\r
+                       }\r
+\r
+               } catch (BpmnError e) {\r
+                       throw e;\r
+               } catch (Exception ex) {\r
+                       msg = "Exception in DoCreateServiceInstance.postProcessAAIDEL. " + ex.getMessage()\r
+                       utils.log("INFO", msg, isDebugEnabled)\r
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)\r
+               }\r
+               utils.log("INFO"," *** Exit postProcessAAIPUT *** ", isDebugEnabled)\r
+       }       \r
+\r
+       public void preProcessRollback (DelegateExecution execution) {\r
+               def isDebugEnabled=execution.getVariable("isDebugLogEnabled")\r
+               utils.log("INFO"," ***** preProcessRollback ***** ", isDebugEnabled)\r
+               try {\r
+                       \r
+                       Object workflowException = execution.getVariable("WorkflowException");\r
+\r
+                       if (workflowException instanceof WorkflowException) {\r
+                               utils.log("INFO", "Prev workflowException: " + workflowException.getErrorMessage(), isDebugEnabled)\r
+                               execution.setVariable("prevWorkflowException", workflowException);\r
+                               //execution.setVariable("WorkflowException", null);\r
+                       }\r
+               } catch (BpmnError e) {\r
+                       utils.log("INFO", "BPMN Error during preProcessRollback", isDebugEnabled)\r
+               } catch(Exception ex) {\r
+                       String msg = "Exception in preProcessRollback. " + ex.getMessage()\r
+                       utils.log("INFO", msg, isDebugEnabled)\r
+               }\r
+               utils.log("INFO"," *** Exit preProcessRollback *** ", isDebugEnabled)\r
+       }\r
+\r
+       public void postProcessRollback (DelegateExecution execution) {\r
+               def isDebugEnabled=execution.getVariable("isDebugLogEnabled")\r
+               utils.log("INFO"," ***** postProcessRollback ***** ", isDebugEnabled)\r
+               String msg = ""\r
+               try {\r
+                       Object workflowException = execution.getVariable("prevWorkflowException");\r
+                       if (workflowException instanceof WorkflowException) {\r
+                               utils.log("INFO", "Setting prevException to WorkflowException: ", isDebugEnabled)\r
+                               execution.setVariable("WorkflowException", workflowException);\r
+                       }\r
+                       execution.setVariable("rollbackData", null)\r
+               } catch (BpmnError b) {\r
+                       utils.log("INFO", "BPMN Error during postProcessRollback", isDebugEnabled)\r
+                       throw b;\r
+               } catch(Exception ex) {\r
+                       msg = "Exception in postProcessRollback. " + ex.getMessage()\r
+                       utils.log("INFO", msg, isDebugEnabled)\r
+               }\r
+               utils.log("INFO"," *** Exit postProcessRollback *** ", isDebugEnabled)\r
+       }\r
+\r
         \r
        public void postConfigRequest(execution){\r
            //now do noting\r