public UserDTO(GPUser user) { super(user); this.name = user.getName(); this.username = user.getUsername(); this.emailAddress = user.getEmailAddress(); this.sendEmail = user.isSendEmail(); }
@Override public boolean shareProjectToUsers( long idSharedProject, List<Long> accountIDsProject, HttpServletRequest httpServletRequest) throws GeoPlatformException { boolean result = false; try { GPAccount account = this.sessionUtility.getLoggedAccount(httpServletRequest); result = this.geoPlatformServiceClient.updateAccountsProjectSharing( new PutAccountsProjectRequest(idSharedProject, accountIDsProject)); if (result) { MessageDTO message = new MessageDTO(); message.setCommands(Lists.newArrayList(GPMessageCommandType.OPEN_PROJECT)); message.setCommandsProperties("" + idSharedProject); message.setCreationDate(new Date()); message.setSenderID(account.getId()); message.setSubject("Project Shared"); String sharerName; if (account instanceof GPUser) { GPUser user = (GPUser) account; sharerName = user.getName(); } else { sharerName = account.getNaturalID(); } GPProject project = this.geoPlatformServiceClient.getProjectDetail(idSharedProject); message.setText( sharerName + " shared with you the " + project.getName() + " project. Do you want to open it?"); message.setRecipientIDs(accountIDsProject); this.geoPlatformServiceClient.insertMultiMessage(message); } } catch (GPSessionTimeout timeout) { throw new GeoPlatformException(timeout); } catch (ResourceNotFoundFault | IllegalParameterFault rnf) { logger.error( "Failed to save Shared project to Accounts for Shared " + "Project with id: " + idSharedProject + "on SecurityService: " + rnf); throw new GeoPlatformException(rnf); } return result; }