758cb56d7f3de32a2992500363bd8265ef0945fa
[vid.git] / vid-app-common / src / main / java / org / onap / vid / job / command / WatchingCommand.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.vid.job.command;
22
23 import org.onap.vid.job.Job;
24 import org.onap.vid.job.NextCommand;
25 import org.onap.vid.job.impl.JobSharedData;
26 import org.springframework.beans.factory.config.ConfigurableBeanFactory;
27 import org.springframework.context.annotation.Scope;
28 import org.springframework.stereotype.Component;
29
30 import java.util.List;
31
32 @Component
33 @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
34 public class WatchingCommand extends BaseWatchingCommand {
35
36     public WatchingCommand() {}
37
38     public WatchingCommand(JobSharedData sharedData, List<String> childrenJobsIds, boolean isService) {
39         super(sharedData, childrenJobsIds, isService);
40     }
41
42     protected NextCommand getNextCommand(Job.JobStatus cumulativeJobsStatus) {
43         if (cumulativeJobsStatus==Job.JobStatus.IN_PROGRESS) {
44             return (isService) ? new NextCommand(Job.JobStatus.IN_PROGRESS, this)
45                                : new NextCommand(Job.JobStatus.RESOURCE_IN_PROGRESS, this);
46         }
47         if (isService) {
48             asyncInstantiationBL.updateServiceInfoAndAuditStatus(getSharedData().getJobUuid(), cumulativeJobsStatus);
49         }
50         return new NextCommand(cumulativeJobsStatus);
51     }
52
53 }