diff options
Diffstat (limited to 'adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/jobmanagement/JobManager.java')
-rw-r--r-- | adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/jobmanagement/JobManager.java | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/jobmanagement/JobManager.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/jobmanagement/JobManager.java index 97a945cf1d..89356c1b67 100644 --- a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/jobmanagement/JobManager.java +++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/jobmanagement/JobManager.java @@ -110,11 +110,27 @@ public class JobManager { final InlineResponse200 operationResponse) { final OperationStateEnum operationState = OperationStateEnum.fromValue(operationResponse.getOperationState().getValue()); - if (operationState == OperationStateEnum.COMPLETED && vnfmOperation.isWaitForNotificationForSuccess() - && !vnfmOperation.isNotificationProcessed()) { - return org.onap.vnfmadapter.v1.model.OperationStateEnum.PROCESSING; + switch (vnfmOperation.getNotificationStatus()) { + case NOTIFICATION_PROCESSING_NOT_REQUIRED: + default: + return operationState; + case NOTIFICATION_PROCESSING_PENDING: + return org.onap.vnfmadapter.v1.model.OperationStateEnum.PROCESSING; + case NOTIFICATION_PROCEESING_SUCCESSFUL: + return operationState; + case NOTIFICATION_PROCESSING_FAILED: + return org.onap.vnfmadapter.v1.model.OperationStateEnum.FAILED; } - return operationState; + } + + public void notificationProcessedForOperation(final String operationId, + final boolean notificationProcessingWasSuccessful) { + final java.util.Optional<VnfmOperation> relatedOperation = mapOfJobIdToVnfmOperation.values().stream() + .filter(operation -> operation.getOperationId().equals(operationId)).findFirst(); + if (relatedOperation.isPresent()) { + relatedOperation.get().setNotificationProcessed(notificationProcessingWasSuccessful); + } + logger.debug("No operation found for operation ID " + operationId); } } |