X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-BE-os%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportalapp%2Fportal%2Fcontroller%2FAppsOSController.java;h=b1154aa3e2399d1d5731a7c1272b568f8d188ce3;hb=a9a8be6107f6b9fdfe1bb477f6d41f8e1d817f84;hp=364899dacdd7e34742b15daa0b9ff588430ba9c5;hpb=21a8761f684745bb300e075c7e98ad897ace9eed;p=portal.git diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/portal/controller/AppsOSController.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/portal/controller/AppsOSController.java index 364899da..b1154aa3 100644 --- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/portal/controller/AppsOSController.java +++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/portal/controller/AppsOSController.java @@ -33,103 +33,111 @@ * * ============LICENSE_END============================================ * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * */ package org.onap.portalapp.portal.controller; import java.util.HashMap; import java.util.Map; - +import java.util.Set; import javax.servlet.http.HttpServletRequest; - +import javax.validation.ConstraintViolation; +import javax.validation.Validation; +import javax.validation.Validator; +import javax.validation.ValidatorFactory; import org.json.JSONObject; -import org.onap.portalapp.portal.controller.AppsController; import org.onap.portalapp.portal.domain.EPUser; import org.onap.portalapp.portal.ecomp.model.PortalRestResponse; import org.onap.portalapp.portal.ecomp.model.PortalRestStatusEnum; import org.onap.portalapp.portal.logging.aop.EPAuditLog; -import org.onap.portalapp.portal.service.AdminRolesService; -import org.onap.portalapp.portal.service.EPAppService; -import org.onap.portalapp.portal.service.PersUserAppService; import org.onap.portalapp.portal.service.UserService; import org.onap.portalapp.util.EPUserUtils; +import org.onap.portalapp.validation.SecureString; import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import lombok.NoArgsConstructor; @RestController -@org.springframework.context.annotation.Configuration +@Configuration @EnableAspectJAutoProxy @EPAuditLog +@NoArgsConstructor public class AppsOSController extends AppsController { - - static final String FAILURE = "failure"; - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AppsOSController.class); + private static final ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory(); + + private static final String FAILURE = "failure"; + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AppsOSController.class); + + @Autowired + UserService userService; + + /** + * Create new application's contact us details. + * + * @param contactUs + * @return + */ + @RequestMapping(value = "/portalApi/saveNewUser", method = RequestMethod.POST, produces = "application/json") + public PortalRestResponse saveNewUser(HttpServletRequest request, @RequestBody EPUser newUser) { + EPUser user = EPUserUtils.getUserSession(request); + if (newUser == null) + return new PortalRestResponse<>(PortalRestStatusEnum.ERROR, FAILURE, + "New User cannot be null or empty"); - @Autowired - AdminRolesService adminRolesService; - @Autowired - EPAppService appService; - @Autowired - PersUserAppService persUserAppService; - @Autowired - UserService userService; + if (!(super.getAdminRolesService().isSuperAdmin(user) || super.getAdminRolesService().isAccountAdmin(user)) + && !user.getLoginId().equalsIgnoreCase(newUser.getLoginId())) { + return new PortalRestResponse<>(PortalRestStatusEnum.ERROR, FAILURE, + "UnAuthorized"); + } - - - /** - * Create new application's contact us details. - * - * @param contactUs - * @return - */ - @RequestMapping(value = "/portalApi/saveNewUser", method = RequestMethod.POST, produces = "application/json") - public PortalRestResponse saveNewUser(HttpServletRequest request,@RequestBody EPUser newUser) { - EPUser user = EPUserUtils.getUserSession(request); - if (newUser == null) - return new PortalRestResponse(PortalRestStatusEnum.ERROR, FAILURE, - "New User cannot be null or empty"); - - if (!(adminRolesService.isSuperAdmin(user) || adminRolesService.isAccountAdmin(user))){ - if(!user.getLoginId().equalsIgnoreCase(newUser.getLoginId())) - return new PortalRestResponse(PortalRestStatusEnum.ERROR, FAILURE, - "UnAuthorized"); - } - String checkDuplicate = request.getParameter("isCheck"); - String saveNewUser = FAILURE; - try { - saveNewUser = userService.saveNewUser(newUser,checkDuplicate); - } catch (Exception e) { - return new PortalRestResponse(PortalRestStatusEnum.ERROR, saveNewUser, e.getMessage()); - } - return new PortalRestResponse(PortalRestStatusEnum.OK, saveNewUser, ""); - } - - @RequestMapping(value = { "/portalApi/currentUserProfile/{loginId}" }, method = RequestMethod.GET, produces = "application/json") - public String getCurrentUserProfile(HttpServletRequest request, @PathVariable("loginId") String loginId) { - - Map map = new HashMap(); - EPUser user = null; - try { - user = (EPUser) userService.getUserByUserId(loginId).get(0); - map.put("firstName", user.getFirstName()); - map.put("lastName", user.getLastName()); - map.put("email", user.getEmail()); - map.put("loginId", user.getLoginId()); - map.put("loginPwd",user.getLoginPwd()); - map.put("middleInitial",user.getMiddleInitial()); - } catch (Exception e) { - logger.error(EELFLoggerDelegate.errorLogger, "Failed to get user info", e); - } + String saveNewUser = FAILURE; + try { + saveNewUser = userService.saveNewUser(newUser, checkDuplicate); + } catch (Exception e) { + logger.error(EELFLoggerDelegate.errorLogger, "Exception in saveNewUser", e); + return new PortalRestResponse<>(PortalRestStatusEnum.ERROR, saveNewUser, e.getMessage()); + } + return new PortalRestResponse<>(PortalRestStatusEnum.OK, saveNewUser, ""); + } + + @RequestMapping(value = { "/portalApi/currentUserProfile/{loginId}" }, method = RequestMethod.GET, + produces = "application/json") + public String getCurrentUserProfile(HttpServletRequest request, @PathVariable("loginId") String loginId) { + + if (loginId != null) { + Validator validator = validatorFactory.getValidator(); + SecureString secureString = new SecureString(loginId); + Set> constraintViolations = validator.validate(secureString); + + if (!constraintViolations.isEmpty()) { + return "loginId is not valid"; + } + } + + Map map = new HashMap<>(); + EPUser user; + try { + user = (EPUser) userService.getUserByUserId(loginId).get(0); + map.put("firstName", user.getFirstName()); + map.put("lastName", user.getLastName()); + map.put("email", user.getEmail()); + map.put("loginId", user.getLoginId()); + map.put("loginPwd", user.getLoginPwd()); + map.put("middleInitial", user.getMiddleInitial()); + } catch (Exception e) { + logger.error(EELFLoggerDelegate.errorLogger, "Failed to get user info", e); + } - JSONObject j = new JSONObject(map);; - return j.toString(); - } + JSONObject j = new JSONObject(map); + return j.toString(); + } -} \ No newline at end of file +}