Skip to content

Commit fbec9ac

Browse files
committed
Update ShareTomcatFactoryHelper for Java 8
1 parent e6e3cdd commit fbec9ac

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

tomcat-base/src/shared/main/java/eu/xenit/alfresco/tomcat/embedded/share/tomcat/ShareTomcatFactoryHelper.java

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,26 @@ private static String replaceWithEnvironmentVariables(String input, ShareConfigu
5252
String patternString = "\\$\\{[A-Za-z_]*}";
5353
Pattern pattern = Pattern.compile(patternString);
5454
Matcher matcher = pattern.matcher(input);
55-
return matcher.replaceAll(matchResult -> {
56-
String match = matchResult.group();
55+
StringBuffer result = new StringBuffer();
56+
57+
while (matcher.find()) {
58+
String match = matcher.group();
5759
String envProp = match.substring(2, match.length() - 1);
60+
String replacement = match; // default replacement is the match itself
61+
5862
if (!envProp.isEmpty()) {
5963
String env = shareConfiguration.getValueOf(envProp);
60-
if (env != null && !env.isEmpty())
61-
return env;
64+
if (env != null && !env.isEmpty()) {
65+
replacement = env; // use the environment variable value as replacement
66+
} else {
67+
replacement = "\\$\\{" + match.substring(2);
68+
}
6269
}
63-
return "\\$\\{" + match.substring(2);
64-
});
70+
71+
matcher.appendReplacement(result, Matcher.quoteReplacement(replacement));
72+
}
73+
matcher.appendTail(result);
74+
75+
return result.toString();
6576
}
6677
}

0 commit comments

Comments
 (0)