@RequestMapping( value = {"/workspace/user/another-application-send-to-participate"}, method = RequestMethod.GET) public String sendAnotherApplicationToParticipate( ModelMap modelMap, @RequestParam String idApplication, Principal principal) { ApplicationEntity applicationEntity = applicationService.findById(idApplication); if (null != idApplication && null != applicationEntity) { if ("true".equals(applicationEntity.getUserAttachFile())) { modelMap.addAttribute("idApplication", idApplication); UserEntity userEntity = userService.findByUsername(principal.getName()); ApplicationUserForParticipationEntity activityApplication = applicationService.checkIsExistsActiveApplicationUserForParticipation( idApplication, userEntity, ProjectConstantsEnum.SEND_REQUEST.name()); if (null != activityApplication) { modelMap.addAttribute("activityApplication", activityApplication); } return "pages/user/another-application/another-application-send"; } else { ApplicationUserForParticipationEntity appUserForParticipationEntity = new ApplicationUserForParticipationEntity(); appUserForParticipationEntity.setIdApplication(applicationEntity.getIdApplication()); appUserForParticipationEntity.setDateAndTimeSendApplication(Utils.getTimestamp()); appUserForParticipationEntity.setIdApplicationUserForParticipation( Utils.generateIdentifier()); appUserForParticipationEntity.setIdUser( userService.findByUsername(principal.getName()).getIdUser()); appUserForParticipationEntity.setStatusApplication( ProjectConstantsEnum.APPROVED_REQUEST.name()); appUserForParticipationEntity.setApplicationEntity(applicationEntity); // applicationUserForParticipationService.save(appUserForParticipationEntity); Set<ApplicationUserForParticipationEntity> applicationUserForParticipationEntities; if (null == applicationEntity.getApplicationUserForParticipationEntities()) { applicationUserForParticipationEntities = new HashSet<ApplicationUserForParticipationEntity>(); applicationUserForParticipationEntities.add(appUserForParticipationEntity); } else { applicationUserForParticipationEntities = applicationEntity.getApplicationUserForParticipationEntities(); applicationUserForParticipationEntities.add(appUserForParticipationEntity); } applicationEntity.setApplicationUserForParticipationEntities( applicationUserForParticipationEntities); applicationService.update(applicationEntity); UserEntity userEntity = userService.findByUsername(principal.getName()); Set<ApplicationEntity> applicationEntities; if (null == userEntity.getApplicationEntities()) { applicationEntities = new HashSet<ApplicationEntity>(); applicationEntities.add(applicationEntity); } else { applicationEntities = userEntity.getApplicationEntities(); applicationEntities.add(applicationEntity); } userEntity.setApplicationEntities(applicationEntities); userService.update(userEntity); modelMap.addAttribute("textPage", ActionMessage.SUCCESS_REGISTER_ON_APPLICATION); return "pages/general/success-template-page"; } } else { modelMap.addAttribute("textPage", ActionMessage.ERROR_ACTION); return "pages/general/success-template-page"; } }