diff options
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/job/command/BaseRootCommand.java')
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/job/command/BaseRootCommand.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/job/command/BaseRootCommand.java b/vid-app-common/src/main/java/org/onap/vid/job/command/BaseRootCommand.java new file mode 100644 index 000000000..4930c94c3 --- /dev/null +++ b/vid-app-common/src/main/java/org/onap/vid/job/command/BaseRootCommand.java @@ -0,0 +1,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()); + } + +} |