001 package org.kuali.common.deploy.spring;
002
003 import org.kuali.common.deploy.project.DeployProjectConstants;
004 import org.kuali.common.util.project.ProjectService;
005 import org.kuali.common.util.project.ProjectUtils;
006 import org.kuali.common.util.project.model.Project;
007 import org.kuali.common.util.project.spring.AutowiredProjectConfig;
008 import org.kuali.common.util.project.spring.ProjectServiceConfig;
009 import org.kuali.common.util.properties.Location;
010 import org.kuali.common.util.spring.env.EnvironmentService;
011 import org.springframework.beans.factory.annotation.Autowired;
012 import org.springframework.context.annotation.Bean;
013 import org.springframework.context.annotation.Configuration;
014 import org.springframework.context.annotation.Import;
015
016 @Configuration
017 @Import({ AutowiredProjectConfig.class, ProjectServiceConfig.class })
018 public class BaseLocationsConfig {
019
020 @Autowired
021 EnvironmentService env;
022
023 @Autowired
024 ProjectService service;
025
026 @Autowired
027 Project project;
028
029 @Bean
030 public String kualiDeployEncoding() {
031 Project project = service.getProject(DeployProjectConstants.ID);
032 return ProjectUtils.getEncoding(project);
033 }
034
035 @Bean
036 public Location kualiDeployApplicationDefaults() {
037 String path = kualiDeployGroupPrefix() + "/" + project.getArtifactId() + ".properties";
038 return new Location(path, kualiDeployEncoding(), true);
039 }
040
041 @Bean
042 public String kualiDeployGroupPrefix() {
043 return ProjectUtils.getClasspathPrefix(project.getGroupId());
044 }
045
046 @Bean
047 public Location kualiDeployGroupDefaults() {
048 String path = kualiDeployGroupPrefix() + "/deploy.properties";
049 return new Location(path, kualiDeployEncoding(), true);
050 }
051
052 @Bean
053 public Location kualiDeployDefaults() {
054 String prefix = ProjectUtils.getClasspathPrefix(DeployProjectConstants.ID.getGroupId());
055 String path = prefix + "/deploy/deploy.properties";
056 return new Location(path, kualiDeployEncoding(), true);
057 }
058
059 }