Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Возвращает дату, когда по данному пользователю в первые появилось событие DONE_TASK,
- * за период.
- **/
- @Override
- public Date getDateWhenUserDoneTask(String user, int task, Date after, Date before)
- {
- Set<Date> datesWhenUserDoneTask = this.getDatesByUserAndEventType(user, Event.DONE_TASK, task, after, before);
- if(datesWhenUserDoneTask.isEmpty()) return null;
- List<Date> doneTaskDates = new ArrayList<>();
- for(Date date : datesWhenUserDoneTask)
- {
- doneTaskDates.add(date);
- }
- return doneTaskDates.get(0);
- }
- /**
- * Возвращает даты всех событий определенного типа (и с определенным значением параметра),
- * упорядоченных по возрастанию, для конуретного пользователя.
- **/
- private Set<Date> getDatesByUserAndEventType(String user, Event event, int taskNumber, Date after, Date before)
- {
- List<LogDataRow> dataRows = new ArrayList<>();
- this.parseLogs(dataRows);
- Set<Date> datesByUserAndEventType = new HashSet<>();
- for(LogDataRow logRow : dataRows)
- {
- if(logRow.getUser().equalsIgnoreCase(user) && logRow.getEvent().equals(event) && this.belongToPeriod(logRow.getEventDate(), after, before))
- {
- if(taskNumber != 0)
- {
- if(logRow.getTaskNumber() == taskNumber)
- {
- datesByUserAndEventType.add(logRow.getEventDate());
- }
- }
- else
- {
- datesByUserAndEventType.add(logRow.getEventDate());
- }
- }
- }
- return datesByUserAndEventType;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement