1 package org.kuali.common.util.properties.spring;
2
3 import org.kuali.common.util.project.ProjectService;
4 import org.kuali.common.util.project.spring.ProjectServiceConfig;
5 import org.kuali.common.util.properties.DefaultPropertiesLocationService;
6 import org.kuali.common.util.properties.PropertiesLocationService;
7 import org.kuali.common.util.spring.env.EnvironmentService;
8 import org.kuali.common.util.spring.service.SpringServiceConfig;
9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.context.annotation.Bean;
11 import org.springframework.context.annotation.Configuration;
12 import org.springframework.context.annotation.Import;
13
14 @Configuration
15 @Import({ SpringServiceConfig.class, ProjectServiceConfig.class })
16 public class PropertiesLocationServiceConfig {
17
18 private static final String CACHE_KEY = "properties.cache";
19 private static final boolean DEFAULT_CACHE_PROPERTIES_VALUE = true;
20
21 @Autowired
22 EnvironmentService env;
23
24 @Autowired
25 ProjectService projectService;
26
27 @Bean
28 public PropertiesLocationService propertiesLocationService() {
29 boolean cache = env.getBoolean(CACHE_KEY, DEFAULT_CACHE_PROPERTIES_VALUE);
30 return new DefaultPropertiesLocationService(projectService, cache);
31 }
32
33 }