--- /dev/null
+/*-\r
+ * ================================================================================\r
+ * ECOMP Portal\r
+ * ================================================================================\r
+ * Copyright (C) 2017 AT&T Intellectual Property\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ================================================================================\r
+ */\r
+package org.openecomp.portalapp.portal.controller;\r
+\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import org.openecomp.portalapp.controller.EPRestrictedBaseController;\r
+import org.openecomp.portalapp.controller.core.RoleController;\r
+import org.openecomp.portalapp.controller.core.RoleFunctionListController;\r
+import org.openecomp.portalapp.controller.core.RoleListController;\r
+import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;\r
+import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;\r
+import org.openecomp.portalapp.portal.logging.aop.EPAuditLog;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.context.annotation.EnableAspectJAutoProxy;\r
+import org.springframework.web.bind.annotation.RequestBody;\r
+import org.springframework.web.bind.annotation.RequestMapping;\r
+import org.springframework.web.bind.annotation.RequestMethod;\r
+import org.springframework.web.bind.annotation.RestController;\r
+import org.springframework.web.servlet.ModelAndView;\r
+\r
+/**\r
+ * Proxies REST calls to role-management functions that arrive on paths\r
+ * /portalApi/* over to controller methods provided by the SDK-Core library.\r
+ * Those controller methods are mounted on paths not exposed by the Portal FE.\r
+ */\r
+@RestController\r
+@org.springframework.context.annotation.Configuration\r
+@EnableAspectJAutoProxy\r
+@EPAuditLog\r
+public class RoleManageController extends EPRestrictedBaseController {\r
+\r
+ @Autowired\r
+ private RoleController roleController;\r
+\r
+ @Autowired\r
+ private RoleListController roleListController;\r
+\r
+ @Autowired\r
+ private RoleFunctionListController roleFunctionListController;\r
+\r
+ /**\r
+ * Calls an SDK-Core library method that gets the available roles and writes\r
+ * them to the request object. Portal specifies a Hibernate mappings from\r
+ * the Role class to the fn_role_v view, which ensures that only Portal\r
+ * (app_id is null) roles are fetched.\r
+ * \r
+ * Any method declared void (no return value) or returning null causes the\r
+ * audit log aspect method to declare failure. TODO: should return a JSON\r
+ * string.\r
+ * \r
+ * @param request\r
+ * @param response\r
+ */\r
+ @RequestMapping(value = { "/portalApi/get_roles" }, method = RequestMethod.GET)\r
+ public void getRoles(HttpServletRequest request, HttpServletResponse response) {\r
+ getRoleListController().getRoles(request, response);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/role_list/toggleRole" }, method = RequestMethod.POST)\r
+ public PortalRestResponse<String> toggleRole(HttpServletRequest request, HttpServletResponse response) {\r
+ PortalRestResponse<String> portalRestResponse = null;\r
+ try{\r
+ getRoleListController().toggleRole(request, response);\r
+ portalRestResponse = new PortalRestResponse<String>(PortalRestStatusEnum.OK, "success", null);\r
+ }catch (Exception e) {\r
+ return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "failure", e.getMessage());\r
+ }\r
+ return portalRestResponse; \r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/role_list/removeRole" }, method = RequestMethod.POST)\r
+ public ModelAndView removeRole(HttpServletRequest request, HttpServletResponse response) throws Exception {\r
+ return getRoleListController().removeRole(request, response);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/role/saveRole" }, method = RequestMethod.POST)\r
+ public ModelAndView saveRole(HttpServletRequest request, HttpServletResponse response) throws Exception {\r
+ return getRoleController().saveRole(request, response);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/role/removeRoleFunction" }, method = RequestMethod.POST)\r
+ public ModelAndView removeRoleRoleFunction(HttpServletRequest request, HttpServletResponse response)\r
+ throws Exception {\r
+ return getRoleController().removeRoleFunction(request, response);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/role/addRoleFunction" }, method = RequestMethod.POST)\r
+ public ModelAndView addRoleRoRoleFunction(HttpServletRequest request, HttpServletResponse response)\r
+ throws Exception {\r
+ return getRoleController().addRoleFunction(request, response);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/role/removeChildRole" }, method = RequestMethod.POST)\r
+ public ModelAndView removeChildRole(HttpServletRequest request, HttpServletResponse response) throws Exception {\r
+ return getRoleController().removeChildRole(request, response);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/role/addChildRole" }, method = RequestMethod.POST)\r
+ public ModelAndView addChildRole(HttpServletRequest request, HttpServletResponse response) throws Exception {\r
+ return getRoleController().addChildRole(request, response);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/get_role" }, method = RequestMethod.GET)\r
+ public void getRole(HttpServletRequest request, HttpServletResponse response) {\r
+ getRoleController().getRole(request, response);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/get_role_functions" }, method = RequestMethod.GET)\r
+ public void getRoleFunctionList(HttpServletRequest request, HttpServletResponse response) {\r
+ getRoleFunctionListController().getRoleFunctionList(request, response);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/role_function_list/saveRoleFunction" }, method = RequestMethod.POST)\r
+ public void saveRoleFunction(HttpServletRequest request, HttpServletResponse response, @RequestBody String roleFunc) throws Exception {\r
+ getRoleFunctionListController().saveRoleFunction(request, response, roleFunc);\r
+ }\r
+\r
+ @RequestMapping(value = { "/portalApi/role_function_list/removeRoleFunction" }, method = RequestMethod.POST)\r
+ public void removeRoleFunction(HttpServletRequest request, HttpServletResponse response, @RequestBody String roleFunc) throws Exception {\r
+ getRoleFunctionListController().removeRoleFunction(request, response, roleFunc);\r
+ }\r
+\r
+ public RoleListController getRoleListController() {\r
+ return roleListController;\r
+ }\r
+\r
+ public void setRoleListController(RoleListController roleListController) {\r
+ this.roleListController = roleListController;\r
+ }\r
+\r
+ public RoleController getRoleController() {\r
+ return roleController;\r
+ }\r
+\r
+ public void setRoleController(RoleController roleController) {\r
+ this.roleController = roleController;\r
+ }\r
+\r
+ public RoleFunctionListController getRoleFunctionListController() {\r
+ return roleFunctionListController;\r
+ }\r
+\r
+ public void setRoleFunctionListController(RoleFunctionListController roleFunctionListController) {\r
+ this.roleFunctionListController = roleFunctionListController;\r
+ }\r
+\r
+}\r