001 package org.kuali.common.util.properties.spring; 002 003 import org.kuali.common.util.project.ProjectService; 004 import org.kuali.common.util.project.spring.ProjectServiceConfig; 005 import org.kuali.common.util.properties.DefaultPropertiesLocationService; 006 import org.kuali.common.util.properties.PropertiesLocationService; 007 import org.kuali.common.util.spring.env.EnvironmentService; 008 import org.kuali.common.util.spring.service.SpringServiceConfig; 009 import org.springframework.beans.factory.annotation.Autowired; 010 import org.springframework.context.annotation.Bean; 011 import org.springframework.context.annotation.Configuration; 012 import org.springframework.context.annotation.Import; 013 014 @Configuration 015 @Import({ SpringServiceConfig.class, ProjectServiceConfig.class }) 016 public 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 }