=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.java 2015-06-08 17:43:26 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.java 2015-07-21 13:32:26 +0000 @@ -280,20 +280,19 @@ public String getSenderDisplayName() { - boolean hasUser = userFirstname != null || userSurname != null; - - String displayName = hasUser ? ( userFirstname + " " + userSurname ) : StringUtils.EMPTY; - - boolean hasLastSender = lastSenderFirstname != null || lastSenderSurname != null; - - String lastSenderName = hasLastSender ? ( lastSenderFirstname + " " + lastSenderSurname ) : StringUtils.EMPTY; - - if ( hasLastSender && !lastSenderName.equals( displayName ) ) - { - displayName += ", " + lastSenderName; - } - - return StringUtils.trimToNull( StringUtils.substring( displayName, 0, 28 ) ); + String userDisplayName = getFullNameNullSafe( userFirstname, userSurname ); + String lastSenderName = getFullNameNullSafe( lastSenderFirstname, lastSenderSurname ); + + if ( !userDisplayName.isEmpty() && !lastSenderName.isEmpty() && !userDisplayName.equals( lastSenderName ) ) + { + userDisplayName += ", " + lastSenderName; + } + else if ( !lastSenderName.isEmpty() ) + { + userDisplayName = lastSenderName; + } + + return StringUtils.trimToNull( StringUtils.substring( userDisplayName, 0, 28 ) ); } public Set getTopRecipients() @@ -514,4 +513,14 @@ messages.addAll( messageConversation.getMessages() ); } } + + // ------------------------------------------------------------------------------------------------------- + // Supportive methods + // ------------------------------------------------------------------------------------------------------- + + private String getFullNameNullSafe( String firstName, String surname ) + { + return StringUtils.defaultString( firstName ) + + ( StringUtils.isBlank( firstName ) ? StringUtils.EMPTY : " " ) + StringUtils.defaultString( surname ); + } }