X-Git-Url: https://gerrit.onap.org/r/gitweb?p=portal.git;a=blobdiff_plain;f=portal-BE%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportal%2Fcontroller%2FLanguageController.java;h=c545d7f174d99d3a53255747d69e87ba19d29136;hp=2ea4ff24cca7b1d39b02b987113d080e156d4b83;hb=485c51d686e57d53571c9e3c64e109e67c1b6f62;hpb=233bc890b4c79e78ff7c654568ff5b327df7648f diff --git a/portal-BE/src/main/java/org/onap/portal/controller/LanguageController.java b/portal-BE/src/main/java/org/onap/portal/controller/LanguageController.java index 2ea4ff24..c545d7f1 100644 --- a/portal-BE/src/main/java/org/onap/portal/controller/LanguageController.java +++ b/portal-BE/src/main/java/org/onap/portal/controller/LanguageController.java @@ -42,74 +42,102 @@ package org.onap.portal.controller; import java.security.Principal; import java.util.List; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.onap.portal.aop.service.FnLanguageServiceAOP; +import java.util.Optional; import org.onap.portal.domain.db.fn.FnLanguage; import org.onap.portal.domain.db.fn.FnUser; import org.onap.portal.domain.dto.PortalRestResponse; import org.onap.portal.domain.dto.PortalRestStatusEnum; +import org.onap.portal.domain.dto.fn.FnLanguageDto; +import org.onap.portal.domain.mapper.FnLanguageMapper; +import org.onap.portal.domain.mapper.FnUserMapper; import org.onap.portal.service.fn.FnLanguageService; import org.onap.portal.service.fn.FnUserService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; 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; @RestController @RequestMapping("/auxapi") public class LanguageController { + private static final Logger LOGGER = LoggerFactory.getLogger(LanguageController.class); private final FnLanguageService languageService; private final FnUserService fnUserService; + private final FnUserMapper fnUserMapper; + private final FnLanguageMapper fnLanguageMapper; + @Autowired public LanguageController(final FnLanguageService languageService, - final FnUserService fnUserService) { + final FnUserService fnUserService, final FnUserMapper fnUserMapper, + final FnLanguageMapper fnLanguageMapper) { this.languageService = languageService; this.fnUserService = fnUserService; + this.fnUserMapper = fnUserMapper; + this.fnLanguageMapper = fnLanguageMapper; } - @GetMapping(value = "/language", produces = "application/json;charset=UTF-8") - public List getLanguageList() { - return languageService.getLanguages(); + @GetMapping(value = "/language", produces = MediaType.APPLICATION_JSON_VALUE) + public List getLanguageList(final Principal principal) { + return fnLanguageMapper.fnLanguageListToDtoList(languageService.getLanguages(principal)); } @PostMapping(value = "/languageSetting/user/{loginId}") - public void setUpUserLanguage(@RequestBody FnLanguage fnLanguage, - @PathVariable("loginId") Long loginId) { - if (fnUserService.getUser(loginId).isPresent()){ - FnUser user = fnUserService.getUser(loginId).get(); - user.setLanguage_id(fnLanguage.getLanguageId()); - fnUserService.saveFnUser(user); + public PortalRestResponse setUpUserLanguage(Principal principal, @RequestBody FnLanguage fnLanguage, + @PathVariable("loginId") Long userId) { + PortalRestResponse response = new PortalRestResponse<>(); + LOGGER.info("User " + principal.getName() + " try to setUpUserLanguage fnUser with id " + userId); + try { + if (fnUserService.existById(userId)) { + LOGGER.info("User " + principal.getName() + " found fnUser with id " + userId); + @SuppressWarnings("OptionalGetWithoutIsPresent") + FnUser user = fnUserService.getUser(userId).get(); + user.setLanguageId(fnLanguage); + fnUserService.saveFnUser(principal, user); + //response.setResponse(fnUserMapper.fnUserToFnUserDto(user).toString()); + response.setMessage("SUCCESS"); + response.setStatus(PortalRestStatusEnum.OK); + } else { + response.setMessage("FAILURE"); + response.setResponse("User for id: " + userId + " do not exist"); + response.setStatus(PortalRestStatusEnum.ERROR); + } + } catch (Exception e) { + LOGGER.error("Exception in setUpUserLanguage", e); + response.setMessage("FAILURE"); + response.setResponse(e.toString()); + response.setStatus(PortalRestStatusEnum.ERROR); + return response; } + return response; } - @GetMapping(value = "/languageSetting/user/{loginId}") - public FnLanguage getUserLanguage(HttpServletRequest request, HttpServletResponse response, - @PathVariable("loginId") Long loginId) { - if (fnUserService.getUser(loginId).isPresent()){ - Long languageId = fnUserService.getUser(loginId).get().getLanguage_id(); - return languageService.findById(languageId).orElse(new FnLanguage()); + @GetMapping(value = "/languageSetting/user/{loginId}", produces = MediaType.APPLICATION_JSON_VALUE) + public FnLanguageDto getUserLanguage(final Principal principal, @PathVariable("loginId") final Long loginId) { + if (fnUserService.existById(loginId)) { + return fnLanguageMapper.fnLanguageToDto(Optional.of(fnUserService.getUser(loginId).get().getLanguageId()).orElse(new FnLanguage())); } - return new FnLanguage(); + return new FnLanguageDto(); } - @PostMapping(value = "/language") - public PortalRestResponse saveLanguage(final Principal principal, final FnLanguage fnLanguage){ + @PostMapping(value = "/language", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + public PortalRestResponse saveLanguage(final Principal principal, + @RequestBody final FnLanguage fnLanguage) { PortalRestResponse response = new PortalRestResponse<>(); try { response.setMessage("SUCCESS"); response.setResponse(languageService.save(principal, fnLanguage).toString()); response.setStatus(PortalRestStatusEnum.OK); - } catch (Exception e){ + } catch (Exception e) { + LOGGER.error("Exception in saveLanguage", e); response.setMessage("FAILURE"); response.setResponse(e.getMessage()); response.setStatus(PortalRestStatusEnum.ERROR);