package com.linkedin.thirdeye.client.cache; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.cache.CacheLoader; import com.linkedin.thirdeye.datalayer.bao.DashboardConfigManager; import com.linkedin.thirdeye.datalayer.dto.DashboardConfigDTO; public class DashboardConfigCacheLoader extends CacheLoader<String, List<DashboardConfigDTO>> { private static final Logger LOGGER = LoggerFactory.getLogger(DashboardConfigCacheLoader.class); private DashboardConfigManager dashboardConfigDAO; public DashboardConfigCacheLoader(DashboardConfigManager dashboardConfigDAO) { this.dashboardConfigDAO = dashboardConfigDAO; } @Override public List<DashboardConfigDTO> load(String collection) throws Exception { LOGGER.info("Loading DashboardConfigCache for {}", collection); List<DashboardConfigDTO> dashboardConfigs = dashboardConfigDAO.findByDataset(collection); return dashboardConfigs; } }