aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/job/command/BaseRootCommand.java
blob: 4930c94c309429061055ab47fc19ca246fd93c98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package org.onap.vid.job.command;

import org.onap.vid.job.NextCommand;
import org.onap.vid.job.impl.JobSharedData;
import org.onap.vid.model.RequestReferencesContainer;
import org.onap.vid.model.serviceInstantiation.ServiceInstantiation;
import org.onap.vid.mso.RestObject;

import javax.inject.Inject;


public abstract class BaseRootCommand extends CommandBase{

    @Inject
    private MsoResultHandlerService msoResultHandlerService;

    @Override
    protected CommandBase init(JobSharedData sharedData) {
        super.init(sharedData);
        return this;
    }

    protected ServiceInstantiation getRequest() {
        return msoResultHandlerService.getRequest(getSharedData());
    }

    protected NextCommand handleRootResponse(RestObject<RequestReferencesContainer> msoResponse){
        MsoResult msoResult = msoResultHandlerService.handleRootResponse(getSharedData().getJobUuid(), msoResponse);
        return new NextCommand(msoResult.getJobStatus(),
                (msoResult.getMsoResourceIds()!=null) ?
                        new ServiceInProgressStatusCommand(getSharedData(), msoResult.getMsoResourceIds()) :
                        null
        );

    }

    protected NextCommand handleCommandFailed() {
        return new NextCommand(msoResultHandlerService.handleRootCommandFailed(getSharedData().getJobUuid()).getJobStatus());
    }

}