001package org.kuali.common.util.properties.spring; 002 003import org.kuali.common.util.project.ProjectService; 004import org.kuali.common.util.project.spring.ProjectServiceConfig; 005import org.kuali.common.util.properties.DefaultPropertiesLocationService; 006import org.kuali.common.util.properties.PropertiesLocationService; 007import org.kuali.common.util.spring.env.EnvironmentService; 008import org.kuali.common.util.spring.service.SpringServiceConfig; 009import org.springframework.beans.factory.annotation.Autowired; 010import org.springframework.context.annotation.Bean; 011import org.springframework.context.annotation.Configuration; 012import org.springframework.context.annotation.Import; 013 014@Configuration 015@Import({ SpringServiceConfig.class, ProjectServiceConfig.class }) 016public class PropertiesLocationServiceConfig { 017 018 private static final String CACHE_KEY = "properties.cache"; 019 private static final boolean DEFAULT_CACHE_PROPERTIES_VALUE = true; 020 021 @Autowired 022 EnvironmentService env; 023 024 @Autowired 025 ProjectService projectService; 026 027 @Bean 028 public PropertiesLocationService propertiesLocationService() { 029 boolean cache = env.getBoolean(CACHE_KEY, DEFAULT_CACHE_PROPERTIES_VALUE); 030 return new DefaultPropertiesLocationService(projectService, cache); 031 } 032 033}