[PORTAL-7] Rebase
[portal.git] / ecomp-portal-BE-common / src / main / java / org / openecomp / portalapp / portal / controller / RoleManageController.java
diff --git a/ecomp-portal-BE-common/src/main/java/org/openecomp/portalapp/portal/controller/RoleManageController.java b/ecomp-portal-BE-common/src/main/java/org/openecomp/portalapp/portal/controller/RoleManageController.java
new file mode 100644 (file)
index 0000000..d567269
--- /dev/null
@@ -0,0 +1,166 @@
+/*-\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