This is an automated email from the ASF dual-hosted git repository. struberg pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/deltaspike.git
The following commit(s) were added to refs/heads/master by this push: new da93fe7 DELTASPIKE-1397 log variable in case of recursive definition da93fe7 is described below commit da93fe7882bfaaa816daba7a71401a21823d4e92 Author: Mark Struberg <strub...@apache.org> AuthorDate: Tue Jun 2 17:42:30 2020 +0200 DELTASPIKE-1397 log variable in case of recursive definition --- .../deltaspike/core/impl/config/TypedResolverImpl.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java index cd981cf..8997a1e 100644 --- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java +++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java @@ -550,14 +550,23 @@ public class TypedResolverImpl<T> implements ConfigResolver.UntypedResolver<T> break; } - String variableValue = new TypedResolverImpl<String>(this.config, varName) + try + { + String variableValue = new TypedResolverImpl<String>(this.config, varName) .withCurrentProjectStage(this.projectStageAware) .evaluateVariables(true) .getValue(); - if (variableValue != null) + if (variableValue != null) + { + value = value.replace("${" + varName + "}", variableValue); + } + } + catch (StackOverflowError soe) { - value = value.replace("${" + varName + "}", variableValue); + // just log out + LOG.severe("Recursive variable resolution detected for " + varName); + throw soe; } startVar++; }