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}