75407c5205808e6534882ec2a5ed26c2db67780f
[ccsdk/cds.git] /
1 /*\r
2  *  Copyright © 2017-2018 AT&T Intellectual Property.\r
3  *\r
4  *  Licensed under the Apache License, Version 2.0 (the "License");\r
5  *  you may not use this file except in compliance with the License.\r
6  *  You may obtain a copy of the License at\r
7  *\r
8  *      http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  *  Unless required by applicable law or agreed to in writing, software\r
11  *  distributed under the License is distributed on an "AS IS" BASIS,\r
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  *  See the License for the specific language governing permissions and\r
14  *  limitations under the License.\r
15  */\r
16 \r
17 package org.onap.ccsdk.apps.blueprintsprocessor.selfservice.api;\r
18 \r
19 import io.swagger.annotations.ApiOperation;\r
20 import org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.ExecutionServiceInput;\r
21 import org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.ExecutionServiceOutput;\r
22 import org.onap.ccsdk.apps.blueprintsprocessor.services.execution.ExecutionService;\r
23 import org.springframework.http.MediaType;\r
24 import org.springframework.web.bind.annotation.*;\r
25 import reactor.core.publisher.Mono;\r
26 \r
27 /**\r
28  * ExecutionServiceController\r
29  *\r
30  * @author Brinda Santh 8/14/2018\r
31  */\r
32 @RestController\r
33 @RequestMapping("/api/v1/execution-service")\r
34 public class ExecutionServiceController {\r
35 \r
36     private ExecutionService executionService;\r
37 \r
38     public ExecutionServiceController(ExecutionService executionService) {\r
39         this.executionService = executionService;\r
40     }\r
41 \r
42     @RequestMapping(path = "/ping", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)\r
43     public @ResponseBody\r
44     Mono<String> ping() {\r
45         return Mono.just("Success");\r
46     }\r
47 \r
48     @RequestMapping(path = "/process", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)\r
49     @ApiOperation(value = "Resolve Resource Mappings",\r
50             notes = "Takes the blueprint information and process as per the payload")\r
51     public @ResponseBody\r
52     Mono<ExecutionServiceOutput> process(@RequestBody ExecutionServiceInput executionServiceInput) {\r
53         return Mono.just(executionService.process(executionServiceInput));\r
54     }\r
55 }\r