Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / java / org / onap / vid / job / command / BaseRootCommand.java
1 package org.onap.vid.job.command;
2
3 import org.onap.vid.job.NextCommand;
4 import org.onap.vid.job.impl.JobSharedData;
5 import org.onap.vid.model.RequestReferencesContainer;
6 import org.onap.vid.model.serviceInstantiation.ServiceInstantiation;
7 import org.onap.vid.mso.RestObject;
8
9 import javax.inject.Inject;
10
11
12 public abstract class BaseRootCommand extends CommandBase{
13
14     @Inject
15     private MsoResultHandlerService msoResultHandlerService;
16
17     @Override
18     protected CommandBase init(JobSharedData sharedData) {
19         super.init(sharedData);
20         return this;
21     }
22
23     protected ServiceInstantiation getRequest() {
24         return msoResultHandlerService.getRequest(getSharedData());
25     }
26
27     protected NextCommand handleRootResponse(RestObject<RequestReferencesContainer> msoResponse){
28         MsoResult msoResult = msoResultHandlerService.handleRootResponse(getSharedData().getJobUuid(), msoResponse);
29         return new NextCommand(msoResult.getJobStatus(),
30                 (msoResult.getMsoResourceIds()!=null) ?
31                         new ServiceInProgressStatusCommand(getSharedData(), msoResult.getMsoResourceIds()) :
32                         null
33         );
34
35     }
36
37     protected NextCommand handleCommandFailed() {
38         return new NextCommand(msoResultHandlerService.handleRootCommandFailed(getSharedData().getJobUuid()).getJobStatus());
39     }
40
41 }