for date = дата
не принимает!
У себя тестировал, работает...Давай добавим поддержку параметра запроса в наш QL.
Примеры запросов с параметром:
1) get ip for user = "Vasya"
2) get user for event = "DONE_TASK"
3) get event for date = "03.01.2014 03:45:23"
Общий формат запроса с параметром:
get field1 for field2 = "value1"
Где: field1 - одно из полей: ip, user, date, event или status;
field2 - одно из полей: ip, user, date, event или status;
value1 - значение поля field2.
Алгоритм обработки запроса следующий: просматриваем записи в логе, если поле field2 имеет значение value1, то добавляем поле field1 в множество, которое затем будет возвращено методом execute.
Пример:
Вызов метода execute("get event for date = "30.01.2014 12:56:22″") должен вернуть Set<Event>, содержащий только одно событие SOLVE_TASK. Какая именно задача решалась возвращать не нужно.
Поддержка старого формата запросов должна сохраниться.
- Вызов метода execute с параметром "get ip for user = "[any_user]"" должен возвращать множество уникальных IP адресов, с которых работал пользователь с именем [any_user].
- Вызов метода execute с параметром "get ip for date = "[any_date]"" должен возвращать множество уникальных IP адресов, события с которых произведены в указанное время [any_date].
- Вызов метода execute с параметром "get ip for event = "[any_event]"" должен возвращать множество уникальных IP адресов, у которых событие равно [any_event].
- Вызов метода execute с параметром "get ip for status = "[any_status]"" должен возвращать множество уникальных IP адресов, события с которых закончились со статусом [any_status].
- Вызов метода execute с параметром "get user for ip = "[any_ip]"" должен возвращать множество уникальных пользователей, которые работали с IP адреса [any_ip].
- Вызов метода execute с параметром "get user for date = "[any_date]"" должен возвращать множество уникальных пользователей, которые произвели любое действие в указанное время [any_date].
- Вызов метода execute с параметром "get user for event = "[any_event]"" должен возвращать множество уникальных пользователей, у которых событие равно [any_event].
- Вызов метода execute с параметром "get user for status = "[any_status]"" должен возвращать множество уникальных пользователей, у которых статус равен [any_status].
- Вызов метода execute с параметром "get date for ip = "[any_ip]"" должен возвращать множество уникальных дат, за которые с IP адреса [any_ip] произведено любое действие.
- Вызов метода execute с параметром "get date for user = "[any_user]"" должен возвращать множество уникальных дат, за которые пользователь [any_user] произвел любое действие.
- Вызов метода execute с параметром "get date for event = "[any_event]"" должен возвращать множество уникальных дат, за которые произошло событие равно [any_event].
- Вызов метода execute с параметром "get date for status = "[any_status]"" должен возвращать множество уникальных дат, за которые произошло любое событие со статусом [any_status].
- Вызов метода execute с параметром "get event for ip = "[any_ip]"" должен возвращать множество уникальных событий, которые произошли с IP адреса [any_ip].
- Вызов метода execute с параметром "get event for user = "[any_user]"" должен возвращать множество уникальных событий, которые произвел пользователь [any_user].
- Вызов метода execute с параметром "get event for date = "[any_date]"" должен возвращать множество уникальных событий, которые произошли во время [any_date].
- Вызов метода execute с параметром "get event for status = "[any_status]"" должен возвращать множество уникальных событий, которые завершены со статусом [any_status].
- Вызов метода execute с параметром "get status for ip = "[any_ip]"" должен возвращать множество уникальных статусов, которые произошли с IP адреса [any_ip].
- Вызов метода execute с параметром "get status for user = "[any_user]"" должен возвращать множество уникальных статусов, которые произвел пользователь [any_user].
- Вызов метода execute с параметром "get status for date = "[any_date]"" должен возвращать множество уникальных статусов, которые произошли во время [any_date].
- Вызов метода execute с параметром "get status for event = "[any_event]"" должен возвращать множество уникальных статусов, у которых событие равно [any_event].
- Поддержка старого формата запросов должна сохраниться.