/** @see org.kuali.rice.krad.service.DocumentService */ @Override public void sendNoteRouteNotification(Document document, Note note, Person sender) throws WorkflowException { AdHocRouteRecipient routeRecipient = note.getAdHocRouteRecipient(); // build notification request Person requestedUser = this.getPersonService().getPersonByPrincipalName(routeRecipient.getId()); String senderName = sender.getFirstName() + " " + sender.getLastName(); String requestedName = requestedUser.getFirstName() + " " + requestedUser.getLastName(); String notificationText = kualiConfigurationService.getPropertyValueAsString( RiceKeyConstants.MESSAGE_NOTE_NOTIFICATION_ANNOTATION); if (StringUtils.isBlank(notificationText)) { throw new RuntimeException( "No annotation message found for note notification. Message needs added to application resources with key:" + RiceKeyConstants.MESSAGE_NOTE_NOTIFICATION_ANNOTATION); } notificationText = MessageFormat.format( notificationText, new Object[] {senderName, requestedName, note.getNoteText()}); List<AdHocRouteRecipient> routeRecipients = new ArrayList<AdHocRouteRecipient>(); routeRecipients.add(routeRecipient); workflowDocumentService.sendWorkflowNotification( document.getDocumentHeader().getWorkflowDocument(), notificationText, routeRecipients, KRADConstants.NOTE_WORKFLOW_NOTIFICATION_REQUEST_LABEL); // clear recipient allowing an notification to be sent to another person note.setAdHocRouteRecipient(new AdHocRoutePerson()); }
protected String checkMemberFullName(String principalId) { Principal principal = getIdentityService().getPrincipal(principalId); if (principal != null) { Person psn = KimApiServiceLocator.getPersonService() .getPersonByPrincipalName(principal.getPrincipalName()); if (psn != null) { return psn.getFirstName() + " " + psn.getLastName(); } } return null; }