diff --git a/jbehave-core/src/main/java/org/jbehave/core/context/JFrameContextView.java b/jbehave-core/src/main/java/org/jbehave/core/context/JFrameContextView.java index 6fc8d27be..265e74281 100644 --- a/jbehave-core/src/main/java/org/jbehave/core/context/JFrameContextView.java +++ b/jbehave-core/src/main/java/org/jbehave/core/context/JFrameContextView.java @@ -1,7 +1,7 @@ package org.jbehave.core.context; import static java.text.MessageFormat.format; -import static org.apache.commons.lang3.StringEscapeUtils.escapeHtml4; +import static org.apache.commons.text.StringEscapeUtils.escapeHtml4; import java.awt.BorderLayout; import java.awt.Point; diff --git a/jbehave-core/src/main/java/org/jbehave/core/io/UnderscoredToCapitalized.java b/jbehave-core/src/main/java/org/jbehave/core/io/UnderscoredToCapitalized.java index 3f41cfe76..6fd2fd0d4 100755 --- a/jbehave-core/src/main/java/org/jbehave/core/io/UnderscoredToCapitalized.java +++ b/jbehave-core/src/main/java/org/jbehave/core/io/UnderscoredToCapitalized.java @@ -3,7 +3,7 @@ import static org.apache.commons.lang3.StringUtils.contains; import static org.apache.commons.lang3.StringUtils.substringAfterLast; import static org.apache.commons.lang3.StringUtils.substringBeforeLast; -import static org.apache.commons.lang3.text.WordUtils.capitalize; +import static org.apache.commons.text.WordUtils.capitalize; public class UnderscoredToCapitalized implements StoryNameResolver { diff --git a/jbehave-core/src/main/java/org/jbehave/core/reporters/FreemarkerProcessor.java b/jbehave-core/src/main/java/org/jbehave/core/reporters/FreemarkerProcessor.java index 50f19b6e7..a7b5fb92e 100644 --- a/jbehave-core/src/main/java/org/jbehave/core/reporters/FreemarkerProcessor.java +++ b/jbehave-core/src/main/java/org/jbehave/core/reporters/FreemarkerProcessor.java @@ -3,8 +3,9 @@ import java.io.Writer; import java.util.Map; +import freemarker.ext.beans.BeansWrapperBuilder; import freemarker.template.Configuration; -import freemarker.template.ObjectWrapper; +import freemarker.template.Version; public class FreemarkerProcessor implements TemplateProcessor { private ClassLoader templateLoadingFrom; @@ -32,9 +33,10 @@ public void process(String resource, Map dataModel, Writer write } public Configuration configuration() { - Configuration configuration = new Configuration(); + Version incompatibleImprovementsVersion = Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS; + Configuration configuration = new Configuration(incompatibleImprovementsVersion); configuration.setClassLoaderForTemplateLoading(templateLoadingFrom, "/"); - configuration.setObjectWrapper(ObjectWrapper.BEANS_WRAPPER); + configuration.setObjectWrapper(new BeansWrapperBuilder(incompatibleImprovementsVersion).build()); return configuration; } diff --git a/jbehave-core/src/main/java/org/jbehave/core/reporters/SurefireReporter.java b/jbehave-core/src/main/java/org/jbehave/core/reporters/SurefireReporter.java index 5b383b424..16e2e956c 100755 --- a/jbehave-core/src/main/java/org/jbehave/core/reporters/SurefireReporter.java +++ b/jbehave-core/src/main/java/org/jbehave/core/reporters/SurefireReporter.java @@ -35,7 +35,6 @@ public class SurefireReporter { private static final String XML = ".xml"; private static final String DOT = "."; private static final String HYPHEN = "-"; - private static final String SLASH = "/"; private final Class embeddableClass; private final TestCaseNamingStrategy namingStrategy; @@ -118,7 +117,7 @@ public synchronized void generate(PerformableRoot root, } private String reportName(String path) { - return reportName + HYPHEN + StringUtils.replaceAll(StringUtils.substringBefore(path, DOT), SLASH, DOT); + return reportName + HYPHEN + StringUtils.substringBefore(path, DOT).replace('/', '.'); } private void generateReport(List stories, File file) { diff --git a/jbehave-core/src/main/java/org/jbehave/core/reporters/TemplateableOutput.java b/jbehave-core/src/main/java/org/jbehave/core/reporters/TemplateableOutput.java index 3774c301f..2d46a9c69 100644 --- a/jbehave-core/src/main/java/org/jbehave/core/reporters/TemplateableOutput.java +++ b/jbehave-core/src/main/java/org/jbehave/core/reporters/TemplateableOutput.java @@ -38,7 +38,8 @@ import org.jbehave.core.steps.StepCreator.PendingStep; import org.jbehave.core.steps.Timing; -import freemarker.ext.beans.BeansWrapper; +import freemarker.ext.beans.BeansWrapperBuilder; +import freemarker.template.Configuration; import freemarker.template.TemplateHashModel; import freemarker.template.TemplateModelException; @@ -237,7 +238,8 @@ public void afterStory(boolean givenStory) { model.put("story", outputStory); model.put("keywords", new OutputKeywords(keywords)); - TemplateHashModel enumModels = BeansWrapper.getDefaultInstance().getEnumModels(); + TemplateHashModel enumModels = + new BeansWrapperBuilder(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS).build().getEnumModels(); TemplateHashModel escapeEnums; try { String escapeModeEnum = EscapeMode.class.getCanonicalName(); diff --git a/jbehave-core/src/main/java/org/jbehave/core/steps/ScanningStepsFactory.java b/jbehave-core/src/main/java/org/jbehave/core/steps/ScanningStepsFactory.java index 46de9aa23..69e5274f2 100644 --- a/jbehave-core/src/main/java/org/jbehave/core/steps/ScanningStepsFactory.java +++ b/jbehave-core/src/main/java/org/jbehave/core/steps/ScanningStepsFactory.java @@ -21,7 +21,7 @@ import org.junit.Before; import org.reflections.Reflections; import org.reflections.ReflectionsException; -import org.reflections.scanners.MethodAnnotationsScanner; +import org.reflections.scanners.Scanners; /** * An {@link InjectableStepsFactory} that scans for classes in the classpath. @@ -62,8 +62,7 @@ public ScanningStepsFactory notMatchingNames(String notMatchingRegex) { } private Set> scanTypes(String packageName) { - Reflections reflections = new Reflections(packageName, - new MethodAnnotationsScanner()); + Reflections reflections = new Reflections(packageName, Scanners.MethodsAnnotated); Set> types = new HashSet<>(); types.addAll(typesAnnotatedWith(reflections, Given.class)); types.addAll(typesAnnotatedWith(reflections, When.class)); diff --git a/jbehave-core/src/test/java/org/jbehave/core/steps/PendingStepMethodGeneratorBehaviour.java b/jbehave-core/src/test/java/org/jbehave/core/steps/PendingStepMethodGeneratorBehaviour.java index e167d7043..8598860ea 100755 --- a/jbehave-core/src/test/java/org/jbehave/core/steps/PendingStepMethodGeneratorBehaviour.java +++ b/jbehave-core/src/test/java/org/jbehave/core/steps/PendingStepMethodGeneratorBehaviour.java @@ -1,6 +1,6 @@ package org.jbehave.core.steps; -import static org.apache.commons.lang3.StringEscapeUtils.escapeJava; +import static org.apache.commons.text.StringEscapeUtils.escapeJava; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; diff --git a/jbehave-rest/src/main/java/org/jbehave/core/io/rest/IndexWithBreadcrumbs.java b/jbehave-rest/src/main/java/org/jbehave/core/io/rest/IndexWithBreadcrumbs.java index 78d0c07d8..06945b644 100644 --- a/jbehave-rest/src/main/java/org/jbehave/core/io/rest/IndexWithBreadcrumbs.java +++ b/jbehave-rest/src/main/java/org/jbehave/core/io/rest/IndexWithBreadcrumbs.java @@ -8,6 +8,7 @@ import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -92,7 +93,7 @@ private String contentOf(File file) { return EMPTY; } try { - return FileUtils.readFileToString(file); + return FileUtils.readFileToString(file, StandardCharsets.UTF_8); } catch (IOException e) { throw new RuntimeException( "Failed to read content of file " + file, e); diff --git a/jbehave-rest/src/main/java/org/jbehave/core/io/rest/redmine/IndexFromRedmine.java b/jbehave-rest/src/main/java/org/jbehave/core/io/rest/redmine/IndexFromRedmine.java index ebe01e35b..d275285ce 100644 --- a/jbehave-rest/src/main/java/org/jbehave/core/io/rest/redmine/IndexFromRedmine.java +++ b/jbehave-rest/src/main/java/org/jbehave/core/io/rest/redmine/IndexFromRedmine.java @@ -62,7 +62,7 @@ private Collection parse(String entity) { } private String jsonMember(String entity, String memberName) { - return new JsonParser().parse(entity).getAsJsonObject().get(memberName).toString(); + return JsonParser.parseString(entity).getAsJsonObject().get(memberName).toString(); } private static class Page { diff --git a/jbehave-rest/src/main/java/org/jbehave/core/io/rest/redmine/LoadFromRedmine.java b/jbehave-rest/src/main/java/org/jbehave/core/io/rest/redmine/LoadFromRedmine.java index 2e133f342..ee01d09ca 100644 --- a/jbehave-rest/src/main/java/org/jbehave/core/io/rest/redmine/LoadFromRedmine.java +++ b/jbehave-rest/src/main/java/org/jbehave/core/io/rest/redmine/LoadFromRedmine.java @@ -49,7 +49,7 @@ protected String text(String entity, Type type) { } private String jsonMember(String entity, String memberName) { - return new JsonParser().parse(entity).getAsJsonObject().get(memberName).toString(); + return JsonParser.parseString(entity).getAsJsonObject().get(memberName).toString(); } private static class WikiPage { diff --git a/jbehave-rest/src/main/java/org/jbehave/core/io/rest/xwiki/IndexFromXWiki.java b/jbehave-rest/src/main/java/org/jbehave/core/io/rest/xwiki/IndexFromXWiki.java index ae5afda90..9eb8bd5f3 100644 --- a/jbehave-rest/src/main/java/org/jbehave/core/io/rest/xwiki/IndexFromXWiki.java +++ b/jbehave-rest/src/main/java/org/jbehave/core/io/rest/xwiki/IndexFromXWiki.java @@ -63,8 +63,7 @@ private Collection parse(String entity) { } private String jsonMember(String entity, String memberName) { - return new JsonParser().parse(entity).getAsJsonObject().get(memberName) - .toString(); + return JsonParser.parseString(entity).getAsJsonObject().get(memberName).toString(); } private static class Page {