aboutsummaryrefslogtreecommitdiffstats
path: root/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/jobmanagement/JobManager.java
diff options
context:
space:
mode:
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.java24
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);
}
}