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=2c88694ccbdf8a9a0e700530cfd3e8723ec75d49;hb=485c51d686e57d53571c9e3c64e109e67c1b6f62;hpb=2ef211f051353332fda18e9cd1a49bd6202f7c92 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 2c88694c..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 @@ -40,57 +40,110 @@ package org.onap.portal.controller; +import java.security.Principal; import java.util.List; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +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; } - @RequestMapping(value = "/language",method = RequestMethod.GET, 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 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; } - @RequestMapping(value = "/languageSetting/user/{loginId}",method = RequestMethod.POST) - 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); + @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 FnLanguageDto(); } - @RequestMapping(value = "/languageSetting/user/{loginId}",method = RequestMethod.GET) - 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()); + @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) { + LOGGER.error("Exception in saveLanguage", e); + response.setMessage("FAILURE"); + response.setResponse(e.getMessage()); + response.setStatus(PortalRestStatusEnum.ERROR); + return response; } - return new FnLanguage(); + return response; } }