dfb06bba556def02484d24fe1b37604a52909835
[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 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException;\r
20 import org.onap.ccsdk.apps.controllerblueprints.service.ResourceDictionaryService;\r
21 import org.onap.ccsdk.apps.controllerblueprints.service.domain.ResourceDictionary;\r
22 import org.springframework.stereotype.Component;\r
23 import org.springframework.stereotype.Service;\r
24 import org.springframework.web.bind.annotation.*;\r
25 \r
26 import java.util.List;\r
27 \r
28 /**\r
29  * {@inheritDoc}\r
30  */\r
31 @RestController\r
32 @RequestMapping(value = "/api/v1/dictionary")\r
33 public class ResourceDictionaryRest {\r
34 \r
35 \r
36     private ResourceDictionaryService resourceDictionaryService;\r
37 \r
38     /**\r
39      * This is a DataDictionaryRestImpl, used to save and get the Resource Mapping stored in database\r
40      *\r
41      * @param dataDictionaryService Data Dictionary Service\r
42      */\r
43     public ResourceDictionaryRest(ResourceDictionaryService dataDictionaryService) {\r
44         this.resourceDictionaryService = dataDictionaryService;\r
45     }\r
46 \r
47     @PostMapping(path = "/")\r
48     public @ResponseBody\r
49     ResourceDictionary saveResourceDictionary(@RequestBody ResourceDictionary dataDictionary)\r
50             throws BluePrintException {\r
51         try {\r
52             return resourceDictionaryService.saveResourceDictionary(dataDictionary);\r
53         } catch (Exception e) {\r
54             throw new BluePrintException(4100, e.getMessage(), e);\r
55         }\r
56     }\r
57 \r
58     @DeleteMapping(path = "/{name}")\r
59     public void deleteResourceDictionaryByName(@PathVariable(value = "name") String name) throws BluePrintException {\r
60         try {\r
61             resourceDictionaryService.deleteResourceDictionary(name);\r
62         } catch (Exception e) {\r
63             throw new BluePrintException(4400, e.getMessage(), e);\r
64         }\r
65     }\r
66 \r
67     @GetMapping(path = "/{name}")\r
68     public @ResponseBody\r
69     ResourceDictionary getResourceDictionaryByName(@PathVariable(value = "name") String name) throws BluePrintException {\r
70         try {\r
71             return resourceDictionaryService.getResourceDictionaryByName(name);\r
72         } catch (Exception e) {\r
73             throw new BluePrintException(4001, e.getMessage(), e);\r
74         }\r
75     }\r
76 \r
77     @PostMapping(path = "/by-names")\r
78     public @ResponseBody\r
79     List<ResourceDictionary> searchResourceDictionaryByNames(@RequestBody List<String> names)\r
80             throws BluePrintException {\r
81         try {\r
82             return resourceDictionaryService.searchResourceDictionaryByNames(names);\r
83         } catch (Exception e) {\r
84             throw new BluePrintException(4002, e.getMessage(), e);\r
85         }\r
86     }\r
87 \r
88     @GetMapping(path = "/search/{tags}")\r
89     public @ResponseBody\r
90     List<ResourceDictionary> searchResourceDictionaryByTags(@PathVariable(value = "tags") String tags) throws BluePrintException {\r
91         try {\r
92             return resourceDictionaryService.searchResourceDictionaryByTags(tags);\r
93         } catch (Exception e) {\r
94             throw new BluePrintException(4003, e.getMessage(), e);\r
95         }\r
96     }\r
97 \r
98 }\r