[PORTAL-7] Rebase
[portal.git] / ecomp-portal-BE-common / src / main / java / org / openecomp / portalapp / portal / controller / RoleManageController.java
1 /*-\r
2  * ================================================================================\r
3  * ECOMP Portal\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ================================================================================\r
19  */\r
20 package org.openecomp.portalapp.portal.controller;\r
21 \r
22 import javax.servlet.http.HttpServletRequest;\r
23 import javax.servlet.http.HttpServletResponse;\r
24 \r
25 import org.openecomp.portalapp.controller.EPRestrictedBaseController;\r
26 import org.openecomp.portalapp.controller.core.RoleController;\r
27 import org.openecomp.portalapp.controller.core.RoleFunctionListController;\r
28 import org.openecomp.portalapp.controller.core.RoleListController;\r
29 import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;\r
30 import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;\r
31 import org.openecomp.portalapp.portal.logging.aop.EPAuditLog;\r
32 import org.springframework.beans.factory.annotation.Autowired;\r
33 import org.springframework.context.annotation.EnableAspectJAutoProxy;\r
34 import org.springframework.web.bind.annotation.RequestBody;\r
35 import org.springframework.web.bind.annotation.RequestMapping;\r
36 import org.springframework.web.bind.annotation.RequestMethod;\r
37 import org.springframework.web.bind.annotation.RestController;\r
38 import org.springframework.web.servlet.ModelAndView;\r
39 \r
40 /**\r
41  * Proxies REST calls to role-management functions that arrive on paths\r
42  * /portalApi/* over to controller methods provided by the SDK-Core library.\r
43  * Those controller methods are mounted on paths not exposed by the Portal FE.\r
44  */\r
45 @RestController\r
46 @org.springframework.context.annotation.Configuration\r
47 @EnableAspectJAutoProxy\r
48 @EPAuditLog\r
49 public class RoleManageController extends EPRestrictedBaseController {\r
50 \r
51         @Autowired\r
52         private RoleController roleController;\r
53 \r
54         @Autowired\r
55         private RoleListController roleListController;\r
56 \r
57         @Autowired\r
58         private RoleFunctionListController roleFunctionListController;\r
59 \r
60         /**\r
61          * Calls an SDK-Core library method that gets the available roles and writes\r
62          * them to the request object. Portal specifies a Hibernate mappings from\r
63          * the Role class to the fn_role_v view, which ensures that only Portal\r
64          * (app_id is null) roles are fetched.\r
65          * \r
66          * Any method declared void (no return value) or returning null causes the\r
67          * audit log aspect method to declare failure. TODO: should return a JSON\r
68          * string.\r
69          * \r
70          * @param request\r
71          * @param response\r
72          */\r
73         @RequestMapping(value = { "/portalApi/get_roles" }, method = RequestMethod.GET)\r
74         public void getRoles(HttpServletRequest request, HttpServletResponse response) {\r
75                 getRoleListController().getRoles(request, response);\r
76         }\r
77 \r
78         @RequestMapping(value = { "/portalApi/role_list/toggleRole" }, method = RequestMethod.POST)\r
79         public PortalRestResponse<String> toggleRole(HttpServletRequest request, HttpServletResponse response) {\r
80                 PortalRestResponse<String> portalRestResponse = null;\r
81                 try{\r
82                         getRoleListController().toggleRole(request, response);\r
83                         portalRestResponse = new PortalRestResponse<String>(PortalRestStatusEnum.OK, "success", null);\r
84                 }catch (Exception e) {\r
85                         return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "failure", e.getMessage());\r
86                 }\r
87                 return portalRestResponse;              \r
88         }\r
89 \r
90         @RequestMapping(value = { "/portalApi/role_list/removeRole" }, method = RequestMethod.POST)\r
91         public ModelAndView removeRole(HttpServletRequest request, HttpServletResponse response) throws Exception {\r
92                 return getRoleListController().removeRole(request, response);\r
93         }\r
94 \r
95         @RequestMapping(value = { "/portalApi/role/saveRole" }, method = RequestMethod.POST)\r
96         public ModelAndView saveRole(HttpServletRequest request, HttpServletResponse response) throws Exception {\r
97                 return getRoleController().saveRole(request, response);\r
98         }\r
99 \r
100         @RequestMapping(value = { "/portalApi/role/removeRoleFunction" }, method = RequestMethod.POST)\r
101         public ModelAndView removeRoleRoleFunction(HttpServletRequest request, HttpServletResponse response)\r
102                         throws Exception {\r
103                 return getRoleController().removeRoleFunction(request, response);\r
104         }\r
105 \r
106         @RequestMapping(value = { "/portalApi/role/addRoleFunction" }, method = RequestMethod.POST)\r
107         public ModelAndView addRoleRoRoleFunction(HttpServletRequest request, HttpServletResponse response)\r
108                         throws Exception {\r
109                 return getRoleController().addRoleFunction(request, response);\r
110         }\r
111 \r
112         @RequestMapping(value = { "/portalApi/role/removeChildRole" }, method = RequestMethod.POST)\r
113         public ModelAndView removeChildRole(HttpServletRequest request, HttpServletResponse response) throws Exception {\r
114                 return getRoleController().removeChildRole(request, response);\r
115         }\r
116 \r
117         @RequestMapping(value = { "/portalApi/role/addChildRole" }, method = RequestMethod.POST)\r
118         public ModelAndView addChildRole(HttpServletRequest request, HttpServletResponse response) throws Exception {\r
119                 return getRoleController().addChildRole(request, response);\r
120         }\r
121 \r
122         @RequestMapping(value = { "/portalApi/get_role" }, method = RequestMethod.GET)\r
123         public void getRole(HttpServletRequest request, HttpServletResponse response) {\r
124                 getRoleController().getRole(request, response);\r
125         }\r
126 \r
127         @RequestMapping(value = { "/portalApi/get_role_functions" }, method = RequestMethod.GET)\r
128         public void getRoleFunctionList(HttpServletRequest request, HttpServletResponse response) {\r
129                 getRoleFunctionListController().getRoleFunctionList(request, response);\r
130         }\r
131 \r
132         @RequestMapping(value = { "/portalApi/role_function_list/saveRoleFunction" }, method = RequestMethod.POST)\r
133         public void saveRoleFunction(HttpServletRequest request, HttpServletResponse response, @RequestBody String roleFunc) throws Exception {\r
134                 getRoleFunctionListController().saveRoleFunction(request, response, roleFunc);\r
135         }\r
136 \r
137         @RequestMapping(value = { "/portalApi/role_function_list/removeRoleFunction" }, method = RequestMethod.POST)\r
138         public void removeRoleFunction(HttpServletRequest request, HttpServletResponse response, @RequestBody String roleFunc) throws Exception {\r
139                 getRoleFunctionListController().removeRoleFunction(request, response, roleFunc);\r
140         }\r
141 \r
142         public RoleListController getRoleListController() {\r
143                 return roleListController;\r
144         }\r
145 \r
146         public void setRoleListController(RoleListController roleListController) {\r
147                 this.roleListController = roleListController;\r
148         }\r
149 \r
150         public RoleController getRoleController() {\r
151                 return roleController;\r
152         }\r
153 \r
154         public void setRoleController(RoleController roleController) {\r
155                 this.roleController = roleController;\r
156         }\r
157 \r
158         public RoleFunctionListController getRoleFunctionListController() {\r
159                 return roleFunctionListController;\r
160         }\r
161 \r
162         public void setRoleFunctionListController(RoleFunctionListController roleFunctionListController) {\r
163                 this.roleFunctionListController = roleFunctionListController;\r
164         }\r
165 \r
166 }\r