Add equals & hascode methods
[portal.git] / portal-BE / src / main / java / org / onap / portal / controller / LanguageController.java
index adee349..c545d7f 100644 (file)
@@ -47,6 +47,9 @@ 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;
@@ -69,33 +72,48 @@ public class LanguageController {
        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 = MediaType.APPLICATION_JSON_VALUE)
-       public List<FnLanguage> getLanguageList(final Principal principal) {
-              return languageService.getLanguages(principal);
+       public List<FnLanguageDto> getLanguageList(final Principal principal) {
+              return fnLanguageMapper.fnLanguageListToDtoList(languageService.getLanguages(principal));
        }
 
        @PostMapping(value = "/languageSetting/user/{loginId}")
        public PortalRestResponse<String> setUpUserLanguage(Principal principal, @RequestBody FnLanguage fnLanguage,
                @PathVariable("loginId") Long userId) {
               PortalRestResponse<String> response = new PortalRestResponse<>();
+              LOGGER.info("User " + principal.getName() + " try to setUpUserLanguage fnUser with id " + userId);
               try {
-                     if (fnUserService.getUser(userId).isPresent()) {
+                     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);
                      }
-                     response.setMessage("SUCCESS");
-                     response.setStatus(PortalRestStatusEnum.OK);
               } catch (Exception e) {
+                     LOGGER.error("Exception in setUpUserLanguage", e);
                      response.setMessage("FAILURE");
-                     response.setResponse(e.getMessage());
+                     response.setResponse(e.toString());
                      response.setStatus(PortalRestStatusEnum.ERROR);
                      return response;
               }
@@ -103,11 +121,11 @@ public class LanguageController {
        }
 
        @GetMapping(value = "/languageSetting/user/{loginId}", produces = MediaType.APPLICATION_JSON_VALUE)
-       public FnLanguage getUserLanguage(@PathVariable("loginId") final Long loginId) {
-              if (fnUserService.getUser(loginId).isPresent()) {
-                     return Optional.of(fnUserService.getUser(loginId).get().getLanguageId()).orElse(new FnLanguage());
+       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", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@@ -119,6 +137,7 @@ public class LanguageController {
                      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);