1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.cms.core;
35
36 import info.magnolia.cms.util.DeprecationUtil;
37 import info.magnolia.init.AbstractMagnoliaConfigurationProperties;
38 import info.magnolia.init.MagnoliaConfigurationProperties;
39 import info.magnolia.init.PropertySource;
40
41 import java.util.ArrayList;
42 import java.util.Properties;
43
44 import org.apache.commons.lang3.StringUtils;
45
46
47
48
49
50
51
52
53 @Deprecated
54 public final class SystemProperty {
55
56 public static final String MAGNOLIA_REPOSITORIES_HOME = MagnoliaConfigurationProperties.MAGNOLIA_REPOSITORIES_HOME;
57
58 public static final String MAGNOLIA_REPOSITORIES_CONFIG = MagnoliaConfigurationProperties.MAGNOLIA_REPOSITORIES_CONFIG;
59
60 public static final String MAGNOLIA_REPOSITORIES_CLUSTER_CONFIG = MagnoliaConfigurationProperties.MAGNOLIA_REPOSITORIES_CLUSTER_CONFIG;
61
62 public static final String MAGNOLIA_REPOSITORIES_CLUSTER_MASTER = MagnoliaConfigurationProperties.MAGNOLIA_REPOSITORIES_CLUSTER_MASTER;
63
64 public static final String MAGNOLIA_EXCHANGE_HISTORY = MagnoliaConfigurationProperties.MAGNOLIA_EXCHANGE_HISTORY;
65
66 public static final String MAGNOLIA_UPLOAD_TMPDIR = MagnoliaConfigurationProperties.MAGNOLIA_UPLOAD_TMPDIR;
67
68 public static final String MAGNOLIA_CACHE_STARTDIR = MagnoliaConfigurationProperties.MAGNOLIA_CACHE_STARTDIR;
69
70 public static final String MAGNOLIA_APP_ROOTDIR = MagnoliaConfigurationProperties.MAGNOLIA_APP_ROOTDIR;
71
72 public static final String MAGNOLIA_BOOTSTRAP_ROOTDIR = MagnoliaConfigurationProperties.MAGNOLIA_BOOTSTRAP_ROOTDIR;
73
74 public static final String MAGNOLIA_BOOTSTRAP_SAMPLES = MagnoliaConfigurationProperties.MAGNOLIA_BOOTSTRAP_SAMPLES;
75
76 public static final String MAGNOLIA_UTF8_ENABLED = MagnoliaConfigurationProperties.MAGNOLIA_UTF8_ENABLED;
77
78 public static final String MAGNOLIA_WEBAPP = MagnoliaConfigurationProperties.MAGNOLIA_WEBAPP;
79
80 public static final String MAGNOLIA_SERVERNAME = MagnoliaConfigurationProperties.MAGNOLIA_SERVERNAME;
81
82 public static final String MAGNOLIA_CONTEXTPATH = MagnoliaConfigurationProperties.MAGNOLIA_CONTEXTPATH;
83
84 private static Properties properties = new Properties();
85 private static MagnoliaConfigurationProperties magnoliaConfigurationProperties = newMagnoliaConfigurationProperties();
86
87
88
89
90 private SystemProperty() {
91
92 }
93
94
95
96
97 public static void setProperty(String name, String value) {
98
99 properties.put(name, value);
100 }
101
102
103
104
105 public static String getProperty(String name) {
106 final String legacy = (String) properties.get(name);
107 if (legacy != null) {
108
109 return legacy;
110 }
111 return getMagnoliaConfigurationProperties().getProperty(name);
112 }
113
114
115
116
117
118
119
120
121 public static boolean getBooleanProperty(String name) {
122 return "true".equals(getProperty(name));
123 }
124
125
126
127
128 public static String getProperty(String name, String defaultValue) {
129 String value = getProperty(name);
130 if (StringUtils.isEmpty(value)) {
131 return defaultValue;
132 }
133 return value;
134 }
135
136
137
138
139 public static boolean hasProperty(String name) {
140 final boolean legacy = properties.containsKey(name);
141 if (legacy) {
142 DeprecationUtil.isDeprecated("Property [" + name + "] was found in the legacy Properties field of SystemProperty. Please consider using MagnoliaConfigurationProperties instead.");
143 return legacy;
144 }
145 return getMagnoliaConfigurationProperties().hasProperty(name);
146 }
147
148
149
150
151
152 public static Properties getProperties() {
153
154
155 final Properties p = new Properties();
156 p.putAll(properties);
157 for (String k : magnoliaConfigurationProperties.getKeys()) {
158 p.put(k, magnoliaConfigurationProperties.getProperty(k));
159 }
160 return p;
161 }
162
163 private static MagnoliaConfigurationProperties getMagnoliaConfigurationProperties() {
164
165 return magnoliaConfigurationProperties;
166 }
167
168
169
170
171 public static void setMagnoliaConfigurationProperties(MagnoliaConfigurationProperties magnoliaConfigurationProperties) {
172 SystemProperty.magnoliaConfigurationProperties = magnoliaConfigurationProperties;
173 }
174
175
176
177
178 public static void clear() {
179 properties.clear();
180 magnoliaConfigurationProperties = newMagnoliaConfigurationProperties();
181 }
182
183 private static AbstractMagnoliaConfigurationProperties newMagnoliaConfigurationProperties() {
184 return new AbstractMagnoliaConfigurationProperties(new ArrayList<PropertySource>()) {
185 };
186 }
187
188 }