package com.linkedin.thirdeye.datalayer.bao.jdbc;
import com.google.inject.Singleton;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import com.linkedin.thirdeye.datalayer.bao.IngraphMetricConfigManager;
import com.linkedin.thirdeye.datalayer.dto.IngraphMetricConfigDTO;
import com.linkedin.thirdeye.datalayer.pojo.IngraphMetricConfigBean;
import com.linkedin.thirdeye.datalayer.util.Predicate;
@Singleton
public class IngraphMetricConfigManagerImpl extends AbstractManagerImpl<IngraphMetricConfigDTO>
implements IngraphMetricConfigManager {
public IngraphMetricConfigManagerImpl() {
super(IngraphMetricConfigDTO.class, IngraphMetricConfigBean.class);
}
@Override
public List<IngraphMetricConfigDTO> findByDashboard(String dashboardName) {
Predicate predicate = Predicate.EQ("dashboardName", dashboardName);
return findByPredicate(predicate);
}
@Override
public IngraphMetricConfigDTO findByDashboardAndMetricName(String dashboardName, String metricName) {
Predicate dashboardPredicate = Predicate.EQ("dashboardName", dashboardName);
Predicate metricPredicate = Predicate.EQ("metricName", metricName);
List<IngraphMetricConfigBean> list = genericPojoDao.get(Predicate.AND(dashboardPredicate, metricPredicate),
IngraphMetricConfigBean.class);
IngraphMetricConfigDTO result = null;
if (CollectionUtils.isNotEmpty(list)) {
result = MODEL_MAPPER.map(list.get(0), IngraphMetricConfigDTO.class);
}
return result;
}
@Override
public IngraphMetricConfigDTO findByRrdName(String rrdName) {
Predicate dashboardPredicate = Predicate.EQ("rrdName", rrdName);
List<IngraphMetricConfigBean> list = genericPojoDao.get(dashboardPredicate, IngraphMetricConfigBean.class);
IngraphMetricConfigDTO result = null;
if (CollectionUtils.isNotEmpty(list)) {
result = MODEL_MAPPER.map(list.get(0), IngraphMetricConfigDTO.class);
}
return result;
}
}