package com.linkedin.thirdeye.datalayer.bao.jdbc; import com.google.inject.Singleton; import com.linkedin.thirdeye.datalayer.bao.EventManager; import com.linkedin.thirdeye.datalayer.dto.EventDTO; import com.linkedin.thirdeye.datalayer.pojo.EventBean; import com.linkedin.thirdeye.datalayer.util.Predicate; import java.util.List; @Singleton public class EventManagerImpl extends AbstractManagerImpl<EventDTO> implements EventManager { protected EventManagerImpl() { super(EventDTO.class, EventBean.class); } public List<EventDTO> findByEventType(String eventType) { Predicate predicate = Predicate.EQ("eventType", eventType); return findByPredicate(predicate); } public List<EventDTO> findEventsBetweenTimeRange(String eventType, long start, long end) { Predicate predicate = Predicate .AND(Predicate.EQ("eventType", eventType), Predicate.GT("endTime", start), Predicate.LT("startTime", end)); return findByPredicate(predicate); } public List<EventDTO> findEventsBetweenTimeRangeByName(String eventType, String name, long start, long end) { Predicate predicate = Predicate .AND(Predicate.EQ("eventType", eventType), Predicate.EQ("name", name), Predicate.GT("endTime", start), Predicate.LT("startTime", end)); return findByPredicate(predicate); } }