2 * ================================================================================
\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
11 * http://www.apache.org/licenses/LICENSE-2.0
\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
20 package org.openecomp.portalapp.portal.controller;
\r
22 import javax.servlet.http.HttpServletRequest;
\r
23 import javax.servlet.http.HttpServletResponse;
\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
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
46 @org.springframework.context.annotation.Configuration
\r
47 @EnableAspectJAutoProxy
\r
49 public class RoleManageController extends EPRestrictedBaseController {
\r
52 private RoleController roleController;
\r
55 private RoleListController roleListController;
\r
58 private RoleFunctionListController roleFunctionListController;
\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
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
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
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
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
87 return portalRestResponse;
\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
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
100 @RequestMapping(value = { "/portalApi/role/removeRoleFunction" }, method = RequestMethod.POST)
\r
101 public ModelAndView removeRoleRoleFunction(HttpServletRequest request, HttpServletResponse response)
\r
103 return getRoleController().removeRoleFunction(request, response);
\r
106 @RequestMapping(value = { "/portalApi/role/addRoleFunction" }, method = RequestMethod.POST)
\r
107 public ModelAndView addRoleRoRoleFunction(HttpServletRequest request, HttpServletResponse response)
\r
109 return getRoleController().addRoleFunction(request, response);
\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
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
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
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
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
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
142 public RoleListController getRoleListController() {
\r
143 return roleListController;
\r
146 public void setRoleListController(RoleListController roleListController) {
\r
147 this.roleListController = roleListController;
\r
150 public RoleController getRoleController() {
\r
151 return roleController;
\r
154 public void setRoleController(RoleController roleController) {
\r
155 this.roleController = roleController;
\r
158 public RoleFunctionListController getRoleFunctionListController() {
\r
159 return roleFunctionListController;
\r
162 public void setRoleFunctionListController(RoleFunctionListController roleFunctionListController) {
\r
163 this.roleFunctionListController = roleFunctionListController;
\r