notification-portlet-webapp/src/main/java/org/jasig/portlet/notice/util/JpaServices.java
@Override
    public List<EventDTO> getHistory(NotificationEntry entry, String username) {

        List<EventDTO> rslt = Collections.emptyList();  // default

        /*
         * The JPA system owns status tracking, but it only tracks status for
         * entries that it owns.  If the entry is not already a JPA-backed
         * entry, we would use a JPA-side "proxy."
         */
        final EntryDTO entryDto = contains(entry)
                ? jpaNotificationRestService.getNotification(entry, false)
                : fetchJpaProxyIfAvailable(entry);

        // There can't be history if there isn't (yet) a proxy
        if (entryDto != null) {
            rslt = jpaNotificationRestService.getEventsByNotificationAndUser(entryDto.getId(), username);
        }

        return rslt;

    }
@Override
    public List<EventDTO> getHistory(NotificationEntry entry, String username) {

        List<EventDTO> rslt = Collections.emptyList();  // default

        /*
         * The JPA system owns status tracking, but it only tracks status for
         * entries that it owns.  If the entry is not already a JPA-backed
         * entry, we would use a JPA-side "proxy."
         */
        final EntryDTO entryDto = contains(entry)
                ? jpaNotificationRestService.getNotification(entry, false)
                : fetchJpaProxyIfAvailable(entry);

        // There can't be history if there isn't (yet) a proxy
        if (entryDto != null) {
            rslt = jpaNotificationRestService.getEventsByNotificationAndUser(entryDto.getId(), username);
        }

        return rslt;

    }
Provides the known history of status changes for the specified user and
notification <strong>in chronological order</strong>.