X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-BE-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportalapp%2Fportal%2Fcontroller%2FExternalAccessRolesController.java;h=e0bf7b0110a5a8c20a7a13042f6fd286b8fe26db;hb=2845910b34682056c1949f82e39d9205a26554e9;hp=1e955c8bcf30c2f303980555ecadbdb56f764bd1;hpb=1376951553a11ed93a9fde45b7f26b51c0b31e9c;p=portal.git diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/ExternalAccessRolesController.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/ExternalAccessRolesController.java index 1e955c8b..e0bf7b01 100644 --- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/ExternalAccessRolesController.java +++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/ExternalAccessRolesController.java @@ -33,7 +33,7 @@ * * ============LICENSE_END============================================ * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * */ package org.onap.portalapp.portal.controller; @@ -69,7 +69,6 @@ import org.onap.portalapp.portal.utils.EcompPortalUtils; import org.onap.portalapp.portal.utils.PortalConstants; import org.onap.portalsdk.core.domain.AuditLog; import org.onap.portalsdk.core.domain.Role; -import org.onap.portalsdk.core.domain.RoleFunction; import org.onap.portalsdk.core.domain.User; import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.onap.portalsdk.core.restful.domain.EcompRole; @@ -170,7 +169,7 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl try { fieldsValidation(request); EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0); - // Sync all roles from external system into Ecomp portal DB + // Sync all roles from external system into ONAP portal DB logger.debug(EELFLoggerDelegate.debugLogger, "getRolesForApp: Entering into syncApplicationRolesWithEcompDB"); externalAccessRolesService.syncApplicationRolesWithEcompDB(app); logger.debug(EELFLoggerDelegate.debugLogger, "getRolesForApp: Finished syncApplicationRolesWithEcompDB"); @@ -193,7 +192,7 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl try { fieldsValidation(request); EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0); - // Sync all roles from external system into Ecomp portal DB + // Sync all roles from external system into ONAP portal DB logger.debug(EELFLoggerDelegate.debugLogger, "getV2RolesForApp: Entering into syncApplicationRolesWithEcompDB"); externalAccessRolesService.syncApplicationRolesWithEcompDB(app); logger.debug(EELFLoggerDelegate.debugLogger, "getV2RolesForApp: Finished syncApplicationRolesWithEcompDB"); @@ -209,15 +208,15 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl @ApiOperation(value = "Gets all role functions for an application for older version.", response = CentralRoleFunction.class, responseContainer="Json") @RequestMapping(value = { "/functions" }, method = RequestMethod.GET, produces = "application/json") - public List getRoleFunctionsList(HttpServletRequest request, HttpServletResponse response) + public List getRoleFunctionsList(HttpServletRequest request, HttpServletResponse response) throws Exception { List answer = null; - List roleFuncList = null; + List roleFuncList = null; logger.debug(EELFLoggerDelegate.debugLogger, "Request received for getRoleFunctionsList"); try { fieldsValidation(request); EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0); - // Sync all functions from external system into Ecomp portal DB + // Sync all functions from external system into ONAP portal DB logger.debug(EELFLoggerDelegate.debugLogger, "getRoleFunctionsList: Entering into syncRoleFunctionFromExternalAccessSystem"); externalAccessRolesService.syncRoleFunctionFromExternalAccessSystem(app); logger.debug(EELFLoggerDelegate.debugLogger, "getRoleFunctionsList: Finished syncRoleFunctionFromExternalAccessSystem"); @@ -241,7 +240,7 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl try { fieldsValidation(request); EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0); - // Sync all functions from external system into Ecomp portal DB + // Sync all functions from external system into ONAP portal DB logger.debug(EELFLoggerDelegate.debugLogger, "getV2RoleFunctionsList: Entering into syncRoleFunctionFromExternalAccessSystem"); externalAccessRolesService.syncRoleFunctionFromExternalAccessSystem(app); logger.debug(EELFLoggerDelegate.debugLogger, "getV2RoleFunctionsList: Finished syncRoleFunctionFromExternalAccessSystem"); @@ -253,6 +252,7 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl logger.debug(EELFLoggerDelegate.debugLogger, "Request completed for getV2RoleFunctionsList"); return cenRoleFuncList; } + @ApiOperation(value = "Gets role information for an application.", response = CentralRole.class, responseContainer="Json") @RequestMapping(value = { @@ -333,6 +333,7 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl @RequestMapping(value = { "/roleFunction" }, method = RequestMethod.POST, produces = "application/json") public PortalRestResponse saveRoleFunction(HttpServletRequest request, HttpServletResponse response, @RequestBody String roleFunc) throws Exception { + String status = "Successfully saved!"; try { fieldsValidation(request); String data = roleFunc; @@ -342,7 +343,11 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); CentralV2RoleFunction availableRoleFunction = mapper.readValue(data, CentralV2RoleFunction.class); CentralV2RoleFunction domainRoleFunction = null; + boolean isCentralV2Version = false; if(availableRoleFunction.getType()!=null && availableRoleFunction.getAction()!= null) { + isCentralV2Version = true; + } + if(isCentralV2Version) { String code = availableRoleFunction.getType()+"|"+availableRoleFunction.getCode()+"|"+availableRoleFunction.getAction(); domainRoleFunction = externalAccessRolesService.getRoleFunction(code, requestedApp.getUebKey()); @@ -352,7 +357,7 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl } boolean saveOrUpdateResponse = false; - if (domainRoleFunction != null && domainRoleFunction.getCode().equals(availableRoleFunction.getCode()) + if (domainRoleFunction != null && isCentralV2Version && domainRoleFunction.getCode().equals(availableRoleFunction.getCode()) && domainRoleFunction.getType().equals(availableRoleFunction.getType()) && domainRoleFunction.getAction().equals(availableRoleFunction.getAction())) { domainRoleFunction.setName(availableRoleFunction.getName()); @@ -362,13 +367,15 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl availableRoleFunction.setAppId(requestedApp.getId()); saveOrUpdateResponse = externalAccessRolesService.saveCentralRoleFunction(availableRoleFunction, requestedApp); - } + } + + if(domainRoleFunction != null) { + status = "Successfully updated!"; + } if (saveOrUpdateResponse) { EPUser user = externalAccessRolesService.getUser(request.getHeader(LOGIN_ID)).get(0); EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0); - CentralV2RoleFunction function = externalAccessRolesService - .getRoleFunction(availableRoleFunction.getCode(), request.getHeader(UEBKEY)); - String activityCode = (function.getCode() == null) + String activityCode = (!status.equals("Successfully updated!")) ? EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_ADD_FUNCTION : EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_UPDATE_FUNCTION; logger.info(EELFLoggerDelegate.applicationLogger, "saveRoleFunction: succeeded for app {}, function {}", @@ -400,7 +407,7 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl "Failed to saveRoleFunction for '" + availableRoleFunction.getCode() + "'", "Failed"); } } catch (Exception e) { - if (e.getMessage().contains(INVALID_UEB_KEY)) { + if (e.getMessage() == null ||e.getMessage().contains(INVALID_UEB_KEY)) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); }else { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); @@ -408,7 +415,7 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl logger.error(EELFLoggerDelegate.errorLogger, "saveRoleFunction failed", e); return new PortalRestResponse(PortalRestStatusEnum.ERROR, e.getMessage(), "Failed"); } - return new PortalRestResponse(PortalRestStatusEnum.OK, "Successfully Saved", "Success"); + return new PortalRestResponse(PortalRestStatusEnum.OK, status, "Success"); } @ApiOperation(value = "Deletes role function for an application.", response = PortalRestResponse.class, responseContainer = "Json") @@ -572,16 +579,32 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl return new PortalRestResponse(PortalRestStatusEnum.OK, SUCCESSFULLY_DELETED, "Success"); } - @ApiOperation(value = "Gets active roles for an application.", response = CentralV2Role.class, responseContainer = "Json") + @ApiOperation(value = "Gets active roles for an application.", response = CentralRole.class, responseContainer = "Json") @RequestMapping(value = { "/activeRoles" }, method = RequestMethod.GET, produces = "application/json") - public List getActiveRoles(HttpServletRequest request, HttpServletResponse response) throws Exception { + public List getActiveRoles(HttpServletRequest request, HttpServletResponse response) throws Exception { + List roles = null; + try { + fieldsValidation(request); + List cenRoles= externalAccessRolesService.getActiveRoles(request.getHeader(UEBKEY)); + roles = externalAccessRolesService.convertV2CentralRoleListToOldVerisonCentralRoleList(cenRoles); + } catch (Exception e) { + sendErrorResponse(response, e); + logger.error(EELFLoggerDelegate.errorLogger, "getActiveRoles failed", e); + } + return roles; + + } + + @ApiOperation(value = "Gets active roles for an application.", response = CentralV2Role.class, responseContainer = "Json") + @RequestMapping(value = { "/v1/activeRoles" }, method = RequestMethod.GET, produces = "application/json") + public List getV2ActiveRoles(HttpServletRequest request, HttpServletResponse response) throws Exception { List cenRole = null; try { fieldsValidation(request); cenRole = externalAccessRolesService.getActiveRoles(request.getHeader(UEBKEY)); } catch (Exception e) { sendErrorResponse(response, e); - logger.error(EELFLoggerDelegate.errorLogger, "getActiveRoles failed", e); + logger.error(EELFLoggerDelegate.errorLogger, "getV2ActiveRoles failed", e); } return cenRole; @@ -714,15 +737,16 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl @ApiOperation(value = "Bulk upload functions for an partner application.", response = PortalRestResponse.class, responseContainer = "Json") @RequestMapping(value = { "/upload/partner/functions" }, method = RequestMethod.POST, produces = "application/json") - public PortalRestResponse bulkUploadPartnerFunctions(HttpServletRequest request, HttpServletResponse response, @RequestBody List upload) throws Exception { + public PortalRestResponse bulkUploadPartnerFunctions(HttpServletRequest request, HttpServletResponse response) throws Exception { + Integer addedFunctions = 0; try { - externalAccessRolesService.bulkUploadPartnerFunctions(request.getHeader(UEBKEY), upload); + addedFunctions = externalAccessRolesService.bulkUploadPartnerFunctions(request.getHeader(UEBKEY)); } catch (Exception e) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); logger.error(EELFLoggerDelegate.errorLogger, "bulkUploadFunctions failed", e); return new PortalRestResponse(PortalRestStatusEnum.ERROR, "Failed to bulkUploadFunctions", "Failed"); } - return new PortalRestResponse(PortalRestStatusEnum.OK, "Successfully added", "Success"); + return new PortalRestResponse(PortalRestStatusEnum.OK, "Successfully added: '"+addedFunctions+"' functions", "Success"); } @ApiOperation(value = "Bulk upload roles for an partner application.", response = PortalRestResponse.class, responseContainer = "Json") @@ -740,15 +764,16 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl @ApiOperation(value = "Bulk upload role functions for an partner application.", response = PortalRestResponse.class, responseContainer = "Json") @RequestMapping(value = { "/upload/partner/roleFunctions" }, method = RequestMethod.POST, produces = "application/json") - public PortalRestResponse bulkUploadPartnerRoleFunctions(HttpServletRequest request, HttpServletResponse response, @RequestBody List upload) throws Exception { + public PortalRestResponse bulkUploadPartnerRoleFunctions(HttpServletRequest request, HttpServletResponse response) throws Exception { + Integer addedRoleFunctions = 0; try { - externalAccessRolesService.bulkUploadPartnerRoleFunctions(request.getHeader(UEBKEY), upload); + addedRoleFunctions = externalAccessRolesService.bulkUploadPartnerRoleFunctions(request.getHeader(UEBKEY)); } catch (Exception e) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); logger.error(EELFLoggerDelegate.errorLogger, "bulkUploadRoles failed", e); return new PortalRestResponse(PortalRestStatusEnum.ERROR, "Failed to bulkUploadPartnerRoleFunctions", "Failed"); } - return new PortalRestResponse(PortalRestStatusEnum.OK, "Successfully added", "Success"); + return new PortalRestResponse(PortalRestStatusEnum.OK, "Successfully added: '"+addedRoleFunctions + "' role functions", "Success"); } @ApiOperation(value = "Gets all functions along with global functions", response = List.class, responseContainer = "Json") @@ -831,13 +856,12 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl @PathVariable("loginId") String loginId) throws Exception { EcompUser user = null; ObjectMapper mapper = new ObjectMapper(); - CentralUser answer = null; + String answer = null; try { fieldsValidation(request); - answer = externalAccessRolesService.getUserRoles(loginId, request.getHeader(UEBKEY)); + answer = externalAccessRolesService.getV2UserWithRoles(loginId, request.getHeader(UEBKEY)); if (answer != null) { - String res = mapper.writeValueAsString(answer); - User ecompUser = userservice.userMapper(res); + User ecompUser = userservice.userMapper(answer); user = UserUtils.convertToEcompUser(ecompUser); } } catch (Exception e) { @@ -860,7 +884,7 @@ public class ExternalAccessRolesController implements BasicAuthenticationControl try { fieldsValidation(request); EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0); - // Sync all roles from external system into Ecomp portal DB + // Sync all roles from external system into ONAP portal DB logger.debug(EELFLoggerDelegate.debugLogger, "getRolesForApp: Entering into syncApplicationRolesWithEcompDB"); externalAccessRolesService.syncApplicationRolesWithEcompDB(app);