1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package ch.elca.el4j.util.env;
18
19 import java.util.Properties;
20
21 import org.slf4j.Logger;
22 import org.slf4j.LoggerFactory;
23 import org.springframework.core.io.support.ResourcePatternResolver;
24
25 import ch.elca.el4j.env.beans.EnvPropertyOverrideConfigurer;
26 import ch.elca.el4j.env.beans.EnvPropertyPlaceholderConfigurer;
27 import ch.elca.el4j.env.xml.EnvXml;
28 import ch.elca.el4j.util.codingsupport.CollectionUtils;
29 import ch.elca.el4j.util.codingsupport.PropertiesHelper;
30
31
32
33
34
35
36
37
38
39 public class EnvPropertiesUtils {
40
41
42
43 private static Logger s_logger
44 = LoggerFactory.getLogger(CollectionUtils.class);
45
46
47
48
49 protected EnvPropertiesUtils() { }
50
51
52
53
54
55
56
57 @Deprecated
58 public static Properties getEnvProperties() {
59 s_logger.debug(
60 "DEPRECATED: Use method 'getEnvPlaceholderProperties' instead.");
61 return getEnvPlaceholderProperties();
62 }
63
64
65
66
67
68 public static Properties getEnvPlaceholderProperties() {
69 return getEnvPlaceholderProperties(null, true);
70 }
71
72
73
74
75
76
77
78 public static Properties getEnvPlaceholderProperties(
79 ResourcePatternResolver resourcePatternResolver, boolean mostSpecificResourceLast) {
80 Properties properties;
81 EnvXml parser;
82 if (resourcePatternResolver != null) {
83 parser = new EnvXml(resourcePatternResolver, mostSpecificResourceLast);
84 } else {
85 parser = new EnvXml();
86 }
87 if (parser.hasValidConfigurations()) {
88 properties = (Properties) parser.getGroupConfiguration(EnvXml.ENV_GROUP_PLACEHOLDERS);
89 } else {
90 properties = new Properties();
91 }
92 properties.putAll(new PropertiesHelper().loadProperties(
93 EnvPropertyPlaceholderConfigurer.ENV_PLACEHOLDER_PROPERTIES_LOCATION));
94
95 return properties;
96 }
97
98
99
100
101 public static Properties getEnvBeanPropertyProperties() {
102 return getEnvBeanPropertyProperties(null, true);
103 }
104
105
106
107
108
109
110 public static Properties getEnvBeanPropertyProperties(
111 ResourcePatternResolver resourcePatternResolver, boolean mostSpecificResourceLast) {
112
113 Properties properties;
114 EnvXml parser;
115 if (resourcePatternResolver != null) {
116 parser = new EnvXml(resourcePatternResolver, mostSpecificResourceLast);
117 } else {
118 parser = new EnvXml();
119 }
120 if (parser.hasValidConfigurations()) {
121 properties = (Properties) parser.getGroupConfiguration(EnvXml.ENV_GROUP_BEAN_OVERRIDES);
122 } else {
123 properties = new Properties();
124 }
125 properties.putAll(new PropertiesHelper().loadProperties(
126 EnvPropertyOverrideConfigurer.ENV_BEAN_PROPERTY_PROPERTIES_LOCATION));
127
128 return properties;
129 }
130 }