diff options
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/job/command/ResourceCommand.kt')
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/job/command/ResourceCommand.kt | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/job/command/ResourceCommand.kt b/vid-app-common/src/main/java/org/onap/vid/job/command/ResourceCommand.kt index 9b4f8b985..3ecb4aed3 100644 --- a/vid-app-common/src/main/java/org/onap/vid/job/command/ResourceCommand.kt +++ b/vid-app-common/src/main/java/org/onap/vid/job/command/ResourceCommand.kt @@ -230,7 +230,7 @@ abstract class ResourceCommand( InternalState.IN_PROGRESS -> { when { - jobStatus != JobStatus.COMPLETED -> InternalState.IN_PROGRESS + jobStatus !in setOf(JobStatus.COMPLETED, JobStatus.COMPLETED_AND_PAUSED) -> InternalState.IN_PROGRESS isDescendantHasAction(Action.Create) -> InternalState.CREATING_CHILDREN isDescendantHasAction(Action.Upgrade) -> InternalState.CREATING_CHILDREN else -> InternalState.TERMINAL @@ -385,9 +385,19 @@ abstract class ResourceCommand( protected open fun getExpiryChecker(): ExpiryChecker = ExpiryChecker {false} protected open fun handleInProgressStatus(jobStatus: JobStatus): JobStatus { - return if (jobStatus == JobStatus.PAUSE) JobStatus.IN_PROGRESS else jobStatus + if (jobStatus == JobStatus.PAUSE){ + return JobStatus.IN_PROGRESS + } else if (completedAndPaused(jobStatus)){ + return JobStatus.COMPLETED_AND_PAUSED + } + return jobStatus } + private fun completedAndPaused(jobStatus: JobStatus) = + jobStatus == JobStatus.COMPLETED && getRequest().pauseInstantiation == afterCompletion + && featureManager.isActive(Features.FLAG_2006_PAUSE_VFMODULE_INSTANTIATION_CREATION) + + protected open fun watchChildren():JobStatus { return watchChildrenJobsBL.retrieveChildrenJobsStatus(childJobs) } |