d8ea1941b33f2b903ab9bb3489d8c7ecb5cfa13f
[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.controllerblueprints.service.rs;\r
18 \r
19 \r
20 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException;\r
21 import org.onap.ccsdk.apps.controllerblueprints.core.data.ServiceTemplate;\r
22 import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceAssignment;\r
23 import org.onap.ccsdk.apps.controllerblueprints.service.ServiceTemplateService;\r
24 import org.onap.ccsdk.apps.controllerblueprints.service.domain.ConfigModelContent;\r
25 import org.onap.ccsdk.apps.controllerblueprints.service.model.AutoMapResponse;\r
26 import org.springframework.stereotype.Component;\r
27 import org.springframework.stereotype.Service;\r
28 import org.springframework.web.bind.annotation.*;\r
29 \r
30 import java.util.List;\r
31 \r
32 /**\r
33  * {@inheritDoc}\r
34  */\r
35 @RestController\r
36 @RequestMapping(value = "/api/v1/service-template")\r
37 public class ServiceTemplateRest {\r
38 \r
39     private ServiceTemplateService serviceTemplateService;\r
40 \r
41     /**\r
42      * This is a ServiceTemplateRest constructor\r
43      *\r
44      * @param serviceTemplateService Service Template Service\r
45      */\r
46     public ServiceTemplateRest(ServiceTemplateService serviceTemplateService) {\r
47         this.serviceTemplateService = serviceTemplateService;\r
48     }\r
49 \r
50     @PostMapping(path = "/enrich")\r
51     public @ResponseBody\r
52     ServiceTemplate enrichServiceTemplate(@RequestBody ServiceTemplate serviceTemplate) throws BluePrintException {\r
53         try {\r
54             return serviceTemplateService.enrichServiceTemplate(serviceTemplate);\r
55         } catch (Exception e) {\r
56             throw new BluePrintException(3500, e.getMessage(), e);\r
57         }\r
58     }\r
59 \r
60     @PostMapping(path = "/validate")\r
61     public @ResponseBody\r
62     ServiceTemplate validateServiceTemplate(@RequestBody ServiceTemplate serviceTemplate) throws BluePrintException {\r
63         try {\r
64             return serviceTemplateService.validateServiceTemplate(serviceTemplate);\r
65         } catch (Exception e) {\r
66             throw new BluePrintException(3501, e.getMessage(), e);\r
67         }\r
68     }\r
69 \r
70     @PostMapping(path = "/resource-assignment/auto-map")\r
71     public @ResponseBody\r
72     AutoMapResponse autoMap(@RequestBody List<ResourceAssignment> resourceAssignments) throws BluePrintException {\r
73         try {\r
74             return serviceTemplateService.autoMap(resourceAssignments);\r
75         } catch (Exception e) {\r
76             throw new BluePrintException(3502, e.getMessage(), e);\r
77         }\r
78     }\r
79 \r
80     @PostMapping(path = "/resource-assignment/validate")\r
81     public @ResponseBody\r
82     List<ResourceAssignment> validateResourceAssignments(@RequestBody List<ResourceAssignment> resourceAssignments)\r
83             throws BluePrintException {\r
84         try {\r
85             return serviceTemplateService.validateResourceAssignments(resourceAssignments);\r
86         } catch (Exception e) {\r
87             throw new BluePrintException(3503, e.getMessage(), e);\r
88         }\r
89     }\r
90 \r
91     @PostMapping(path = "/resource-assignment/generate")\r
92     public @ResponseBody\r
93     List<ResourceAssignment> generateResourceAssignments(@RequestBody ConfigModelContent templateContent)\r
94             throws BluePrintException {\r
95         try {\r
96             return serviceTemplateService.generateResourceAssignments(templateContent);\r
97         } catch (Exception e) {\r
98             throw new BluePrintException(3504, e.getMessage(), e);\r
99         }\r
100     }\r
101 \r
102 }\r