package com.constellio.app.modules.rm.services.events;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.joda.time.LocalDateTime;
import com.constellio.model.entities.records.wrappers.Event;
/**
* Created by Nouha on 2015-01-28.
*/
public class EventUtils {
public static List<Event> keepOnlyMostRecentEventPerUser(List<Event> eventList) {
Map map = new HashMap<String, Event>();
for (Event event : eventList){
String currentUserName = event.getUsername();
Event userAssociatedEvent = (Event)map.get(currentUserName);
if (userAssociatedEvent == null){
map.put(currentUserName, event);
}else{
LocalDateTime currentEventDate = event.getCreatedOn();
LocalDateTime savedEventDate = userAssociatedEvent.getCreatedOn();
if (savedEventDate.compareTo(currentEventDate) < 0 ){
map.put(currentUserName, event);
}
}
}
Collection<Event> mostRecentEvents = map.values();
return new ArrayList<>(mostRecentEvents);
}
}