<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>ui</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>application</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<packaging>pom</packaging>
<name>cds-ui-application</name>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>ui</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>ui-client</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<packaging>pom</packaging>
<name>cds-ui-client</name>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>ui</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<packaging>pom</packaging>
<name>cds-ui-parent</name>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>ui</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>ui-server</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<packaging>pom</packaging>
<name>cds-ui-server</name>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<groupId>org.onap.ccsdk.cds.components</groupId>
<artifactId>proto-definition</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Controller Blueprints Proto Definition</name>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>components</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<groupId>org.onap.ccsdk.cds.components</groupId>
<artifactId>parent</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>components</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<artifactId>application</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<artifactId>cba-parent</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<artifactId>distribution</artifactId>
<parent>
<artifactId>functions</artifactId>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>functions</artifactId>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
<parent>
<artifactId>functions</artifactId>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
<artifactId>config-snapshots</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<name>Blueprints Processor Function - Config Snapshots</name>
<description>Blueprints Processor Function - Config Snapshots</description>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>functions</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>functions</artifactId>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>functions</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
<artifactId>resource-resolution</artifactId>
<parent>
<artifactId>functions</artifactId>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>commons</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>db-lib</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>commons</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>dmaap-lib</artifactId>
<parent>
<artifactId>commons</artifactId>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>commons</artifactId>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>modules</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>commons</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>commons</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>processor-core</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>commons</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>rest-lib</artifactId>
<parent>
<artifactId>commons</artifactId>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>inbounds</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>configs-api</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Blueprints Processor Resource Configurations API</name>
<description>Blueprints Processor Resource Configurations API</description>
<parent>
<artifactId>inbounds</artifactId>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>designer-api</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>modules</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>inbounds</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>inbounds</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>resource-api</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>inbounds</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>selfservice-api</artifactId>
import org.springframework.http.codec.multipart.FilePart
import org.springframework.security.access.prepost.PreAuthorize
import org.springframework.web.bind.annotation.*
+import reactor.core.publisher.Mono
+import reactor.core.scheduler.Schedulers
import java.util.concurrent.Phaser
import javax.annotation.PreDestroy
@RestController
@RequestMapping("/api/v1/execution-service")
@Api(value = "/api/v1/execution-service",
- description = "Interaction with CBA.")
+ description = "Interaction with CBA.")
open class ExecutionServiceController {
-
+ private val scheduler = Schedulers.newElastic("bpthread")
private val log = logger(ExecutionServiceController::class)
private val ph = Phaser(1)
lateinit var executionServiceHandler: ExecutionServiceHandler
@RequestMapping(path = ["/health-check"],
- method = [RequestMethod.GET],
- produces = [MediaType.APPLICATION_JSON_VALUE])
+ method = [RequestMethod.GET],
+ produces = [MediaType.APPLICATION_JSON_VALUE])
@ResponseBody
@ApiOperation(value = "Health Check", hidden = true)
fun executionServiceControllerHealthCheck(): JsonNode = runBlocking {
@ResponseBody
@PreAuthorize("hasRole('USER')")
@ApiOperation(value = "Upload a CBA",
- notes = "Upload the CBA package. This will also run validation on the CBA.",
- produces = MediaType.APPLICATION_JSON_VALUE)
+ notes = "Upload the CBA package. This will also run validation on the CBA.",
+ produces = MediaType.APPLICATION_JSON_VALUE)
fun upload(@ApiParam(value = "The ZIP file containing the overall CBA package.", required = true)
@RequestPart("file") filePart: FilePart): JsonNode = runBlocking {
val uploadId = executionServiceHandler.upload(filePart)
@DeleteMapping("/name/{name}/version/{version}")
@ApiOperation(value = "Delete a CBA",
- notes = "Delete the CBA package identified by its name and version.",
- produces = MediaType.APPLICATION_JSON_VALUE)
+ notes = "Delete the CBA package identified by its name and version.",
+ produces = MediaType.APPLICATION_JSON_VALUE)
@PreAuthorize("hasRole('USER')")
fun deleteBlueprint(@ApiParam(value = "Name of the CBA.", required = true)
@PathVariable(value = "name") name: String,
@RequestMapping(path = ["/process"], method = [RequestMethod.POST], produces = [MediaType.APPLICATION_JSON_VALUE])
@ApiOperation(value = "Execute a CBA workflow (action)",
- notes = "Execute the appropriate CBA's action based on the ExecutionServiceInput object passed as input.",
- produces = MediaType.APPLICATION_JSON_VALUE,
- response = ExecutionServiceOutput::class)
+ notes = "Execute the appropriate CBA's action based on the ExecutionServiceInput object passed as input.",
+ produces = MediaType.APPLICATION_JSON_VALUE,
+ response = ExecutionServiceOutput::class)
@ResponseBody
@PreAuthorize("hasRole('USER')")
fun process(@ApiParam(value = "ExecutionServiceInput payload.", required = true)
- @RequestBody executionServiceInput: ExecutionServiceInput): ResponseEntity<ExecutionServiceOutput> =
- runBlocking {
- if (executionServiceInput.actionIdentifiers.mode == ACTION_MODE_ASYNC) {
- throw IllegalStateException("Can't process async request through the REST endpoint. Use gRPC for async processing.")
- }
+ @RequestBody executionServiceInput: ExecutionServiceInput): Mono<ResponseEntity<ExecutionServiceOutput>> {
+ return Mono.fromSupplier { this.bpProcessBlockingWrapper(executionServiceInput) }
+ .subscribeOn(scheduler)
+ }
- ph.register()
- val processResult = executionServiceHandler.doProcess(executionServiceInput)
- ph.arriveAndDeregister()
- ResponseEntity(processResult, determineHttpStatusCode(processResult.status.code))
+ private fun bpProcessBlockingWrapper(executionServiceInput: ExecutionServiceInput): ResponseEntity<ExecutionServiceOutput> {
+ return runBlocking {
+ if (executionServiceInput.actionIdentifiers.mode == ACTION_MODE_ASYNC) {
+ throw IllegalStateException("Can't process async request through the REST endpoint. Use gRPC for async processing.")
}
+ ph.register()
+ val processResult = executionServiceHandler.doProcess(executionServiceInput)
+ ph.arriveAndDeregister()
+ ResponseEntity(processResult, determineHttpStatusCode(processResult.status.code))
+ }
+ }
+
@PreDestroy
fun preDestroy() {
val name = "ExecutionServiceController"
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>modules</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>outbounds</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>services</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>execution-service</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>modules</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>services</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>services</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>blueprintsprocessor</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
<artifactId>parent</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>ms</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>blueprintsprocessor</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>ms</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>command-executor</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
<artifactId>modules</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>blueprint-core</artifactId>
<name>Controller Blueprints Core</name>
<parent>
<groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
<artifactId>modules</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>blueprint-validation</artifactId>
<name>Controller Blueprints Validation Service</name>
<parent>
<groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<artifactId>modules</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
<artifactId>modules</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<artifactId>resource-dict</artifactId>
<name>Controller Blueprints Resource Dictionary</name>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>controllerblueprints</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
<artifactId>parent</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>ms</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>controllerblueprints</artifactId>
<name>Controller Blueprints Root</name>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<properties>
<service.name>ControllerBlueprints</service.name>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>ms</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Micro-services Root</name>
<parent>
<groupId>org.onap.ccsdk.cds.sdclistener</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<artifactId>application</artifactId>
<packaging>jar</packaging>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<name>SDC Listener Application</name>
<properties>
<parent>
<groupId>org.onap.ccsdk.cds.sdclistener</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<artifactId>distribution</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>sdclistener</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
</parent>
<groupId>org.onap.ccsdk.cds.sdclistener</groupId>
<artifactId>parent</artifactId>
<parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>ms</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<groupId>org.onap.ccsdk.cds</groupId>
<artifactId>parent</artifactId>
- <version>0.6.5-SNAPSHOT</version>
+ <version>0.6.6-SNAPSHOT</version>
<packaging>pom</packaging>
<name>cds-parent</name>
release_name=0
sprint_number=6
-feature_revision=5
+feature_revision=6
base_version=${release_name}.${sprint_number}.${feature_revision}