Advertisement
Guest User

Untitled

a guest
Apr 29th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. /**
  2. * Возвращает дату, когда по данному пользователю в первые появилось событие DONE_TASK,
  3. * за период.
  4. **/
  5. @Override
  6. public Date getDateWhenUserDoneTask(String user, int task, Date after, Date before)
  7. {
  8. Set<Date> datesWhenUserDoneTask = this.getDatesByUserAndEventType(user, Event.DONE_TASK, task, after, before);
  9. if(datesWhenUserDoneTask.isEmpty()) return null;
  10.  
  11. List<Date> doneTaskDates = new ArrayList<>();
  12. for(Date date : datesWhenUserDoneTask)
  13. {
  14. doneTaskDates.add(date);
  15. }
  16.  
  17. return doneTaskDates.get(0);
  18. }
  19.  
  20.  
  21.  
  22. /**
  23. * Возвращает даты всех событий определенного типа (и с определенным значением параметра),
  24. * упорядоченных по возрастанию, для конуретного пользователя.
  25. **/
  26. private Set<Date> getDatesByUserAndEventType(String user, Event event, int taskNumber, Date after, Date before)
  27. {
  28. List<LogDataRow> dataRows = new ArrayList<>();
  29. this.parseLogs(dataRows);
  30.  
  31. Set<Date> datesByUserAndEventType = new HashSet<>();
  32. for(LogDataRow logRow : dataRows)
  33. {
  34. if(logRow.getUser().equalsIgnoreCase(user) && logRow.getEvent().equals(event) && this.belongToPeriod(logRow.getEventDate(), after, before))
  35. {
  36. if(taskNumber != 0)
  37. {
  38. if(logRow.getTaskNumber() == taskNumber)
  39. {
  40. datesByUserAndEventType.add(logRow.getEventDate());
  41. }
  42. }
  43. else
  44. {
  45. datesByUserAndEventType.add(logRow.getEventDate());
  46. }
  47. }
  48. }
  49.  
  50. return datesByUserAndEventType;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement