1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.ole.utility;
17
18 import static org.apache.commons.lang.StringUtils.isBlank;
19
20 import org.slf4j.Logger;
21 import org.slf4j.LoggerFactory;
22
23
24
25
26 public class ConfigUtil {
27 private static final Logger logger = LoggerFactory.getLogger(ConfigUtil.class);
28
29 public static final String KUALI_HOME_SYSTEM_PROPERTY = "kuali.home";
30 public static final String KUALI_HOME_ENVIRONMENT_VAR = "KUALI_HOME";
31 public static final String ENVIRONMENT = System.getProperty(Constants.ENVIRONMENT_PROPERTY, Constants.DEFAULT_ENVIRONMENT);
32 public static final String KUALI_HOME_DEFAULT_VALUE = System.getProperty("user.home") + "/kuali/main/" + ENVIRONMENT;
33
34
35
36
37
38
39
40 public String getKualiHome() {
41 String kualiHome = getValue(KUALI_HOME_SYSTEM_PROPERTY, KUALI_HOME_ENVIRONMENT_VAR, KUALI_HOME_DEFAULT_VALUE);
42 String systemProperty = System.getProperty(KUALI_HOME_SYSTEM_PROPERTY);
43 if (!kualiHome.equals(systemProperty)) {
44 logger.info("Setting " + KUALI_HOME_SYSTEM_PROPERTY + "=" + kualiHome);
45 System.setProperty(KUALI_HOME_SYSTEM_PROPERTY, kualiHome);
46 }
47 return kualiHome;
48 }
49
50 public String getGroupHome(String group) {
51 return getKualiHome() + "/" + group;
52 }
53
54 public String getApplicationHome(String group, String application) {
55 return getGroupHome(group) + "/" + application;
56 }
57
58
59
60
61
62
63
64
65
66
67 public String getValue(String systemProperty, String environmentVariable, String defaultValue) {
68 if (!isBlank(systemProperty) && !isBlank(System.getProperty(systemProperty))) {
69 return System.getProperty(systemProperty);
70 } else if (!isBlank(environmentVariable) && !isBlank(System.getenv(environmentVariable))) {
71 return System.getenv(environmentVariable);
72 } else {
73 return defaultValue;
74 }
75 }
76 }