001    package org.kuali.common.deploy.spring;
002    
003    import java.util.List;
004    
005    import org.kuali.common.util.project.model.Project;
006    import org.kuali.common.util.properties.Location;
007    import org.kuali.common.util.spring.env.EnvironmentService;
008    import org.springframework.beans.factory.annotation.Autowired;
009    import org.springframework.context.annotation.Bean;
010    import org.springframework.context.annotation.Configuration;
011    import org.springframework.context.annotation.Import;
012    
013    import com.google.common.collect.ImmutableList;
014    
015    @Configuration
016    @Import({ BaseLocationsConfig.class })
017    public class DeployLocationsConfig {
018    
019            @Autowired
020            EnvironmentService env;
021    
022            @Autowired
023            BaseLocationsConfig config;
024    
025            @Autowired
026            Project project;
027    
028            @Bean
029            public List<Location> deployPropertyLocations() {
030                    Location kualiDefaults = config.kualiDeployDefaults();
031                    Location groupDefaults = config.kualiDeployGroupDefaults();
032                    Location appDefaults = config.kualiDeployApplicationDefaults();
033                    Location envDefaults = kualiDeployEnvDefaults();
034                    return ImmutableList.of(kualiDefaults, groupDefaults, appDefaults, envDefaults);
035            }
036    
037            @Bean
038            public Location kualiDeployEnvDefaults() {
039                    String environmentNumber = env.getString("deploy.env");
040                    String path = config.kualiDeployGroupPrefix() + "/env" + environmentNumber + ".properties";
041                    return new Location(path, config.kualiDeployEncoding(), true);
042            }
043    }