From d5029790fd8b86c32f389dc59a6f345c3cb070f5 Mon Sep 17 00:00:00 2001 From: Ian Young Date: Mon, 9 May 2022 18:28:04 +0100 Subject: [PATCH] Adopt Spring Framework 6 and Jakarta EE 9 To avoid any complications with functional changes between Hibernate 5 and Hibernate 6, this uses the hibernate-core-jakarta v5 module rather than hibernate-core v6. This requires a specific dependency exclusion in spring-webflow.gradle to make sure that hibernate-entitymanager never causes both versions to be loaded. This can be simplified after eventual adoption of Hibernate 6. The Spring snapshot repository needs to be referenced in build.gradle for this early stage work on SWF 3. --- build.gradle | 24 +++++++++-------- spring-binding/spring-binding.gradle | 2 +- .../expression/el/BindingValueExpression.java | 8 +++--- .../expression/el/DefaultELContext.java | 8 +++--- .../expression/el/DefaultELResolver.java | 16 ++++++------ .../el/DefaultElContextFactory.java | 2 +- .../expression/el/ELContextFactory.java | 4 +-- .../binding/expression/el/ELExpression.java | 12 ++++----- .../expression/el/ELExpressionParser.java | 14 +++++----- .../expression/el/MapAdaptableELResolver.java | 8 +++--- .../el/ELExpressionParserTests.java | 8 +++--- .../el/MapAdaptableELResolverTests.java | 2 +- spring-webflow/spring-webflow.gradle | 26 ++++++++++++++----- .../context/servlet/AbstractAjaxHandler.java | 4 +-- .../webflow/context/servlet/AjaxHandler.java | 4 +-- .../context/servlet/DefaultAjaxHandler.java | 4 +-- .../servlet/DefaultFlowUrlHandler.java | 2 +- .../servlet/FilenameFlowUrlHandler.java | 2 +- .../context/servlet/FlowUrlHandler.java | 2 +- .../servlet/HttpServletContextMap.java | 2 +- .../servlet/HttpServletRequestMap.java | 2 +- .../HttpServletRequestParameterMap.java | 2 +- .../context/servlet/HttpSessionMap.java | 4 +-- .../servlet/ServletExternalContext.java | 6 ++--- .../servlet/WebFlow1FlowUrlHandler.java | 2 +- .../web/HttpSessionMapBindingListener.java | 4 +-- .../expression/el/ActionMethodELResolver.java | 6 ++--- .../expression/el/FlowResourceELResolver.java | 6 ++--- .../el/ImplicitFlowVariableELResolver.java | 8 +++--- .../el/RequestContextELResolver.java | 6 ++--- .../el/ScopeSearchingELResolver.java | 4 +-- .../el/SpringBeanWebFlowELResolver.java | 8 +++--- .../el/WebFlowELExpressionParser.java | 10 +++---- .../mvc/servlet/AbstractFlowHandler.java | 4 +-- .../webflow/mvc/servlet/FlowController.java | 6 ++--- .../webflow/mvc/servlet/FlowHandler.java | 4 +-- .../mvc/servlet/FlowHandlerAdapter.java | 6 ++--- .../mvc/servlet/FlowHandlerMapping.java | 4 +-- .../mvc/servlet/MvcExternalContext.java | 6 ++--- .../webflow/mvc/servlet/ServletMvcView.java | 4 +-- .../mvc/view/AjaxUrlBasedViewResolver.java | 4 +-- .../persistence/JpaFlowExecutionListener.java | 4 +-- .../BeanValidationHintResolver.java | 2 +- .../model/builder/xml/spring-webflow.xsd | 6 ++--- .../servlet/AbstractAjaxHandlerTests.java | 4 +-- .../servlet/HttpServletContextMapTests.java | 2 +- .../servlet/HttpServletRequestMapTests.java | 2 +- .../HttpSessionMapBindingListenerTests.java | 4 +-- .../el/FlowDependentELResolverTestCase.java | 4 +-- .../el/FlowResourceELResolverTests.java | 6 ++--- .../ImplicitFlowVariableELResolverTests.java | 4 +-- .../el/ScopeSearchingELResolverTests.java | 2 +- .../mvc/servlet/FlowControllerTests.java | 4 +-- .../mvc/servlet/FlowHandlerAdapterTests.java | 4 +-- .../mvc/servlet/FlowHandlerMappingTests.java | 4 +-- .../mvc/servlet/ServletMvcViewTests.java | 4 +-- .../webflow/mvc/view/MvcViewTests.java | 4 +-- .../JpaFlowExecutionListenerTests.java | 4 +-- ...lowManagedPersistenceIntegrationTests.java | 4 +-- ...JpaPersistenceContextPropagationTests.java | 4 +-- .../BeanValidationHintResolverTests.java | 2 +- src/reference/spring-faces.adoc | 6 ++--- src/reference/views.adoc | 2 +- src/reference/whatsnew.adoc | 2 +- 64 files changed, 180 insertions(+), 164 deletions(-) diff --git a/build.gradle b/build.gradle index 57a3d5f3..1599acad 100644 --- a/build.gradle +++ b/build.gradle @@ -30,26 +30,26 @@ allprojects { dependencyManagement { imports { - mavenBom "org.springframework:spring-framework-bom:5.3.3" - mavenBom "org.springframework.security:spring-security-bom:5.4.4" + mavenBom "org.springframework:spring-framework-bom:6.0.0-M3" + mavenBom "org.springframework.security:spring-security-bom:5.5.6" mavenBom "org.junit:junit-bom:5.7.1" } dependencies { - dependency "javax.servlet:javax.servlet-api:4.0.1" + dependency "jakarta.servlet:jakarta.servlet-api:5.0.0" dependency "javax.servlet:jstl:1.2" - dependency "javax.servlet.jsp:javax.servlet.jsp-api:2.3.2-b02" - dependency "javax.el:javax.el-api:3.0.1-b06" - dependency "javax.validation:validation-api:2.0.1.Final" - dependencySet(group: 'org.hibernate', version: '5.4.27.Final') { - entry 'hibernate-core' + dependency "jakarta.servlet.jsp:jakarta.servlet.jsp-api:3.0.0" + dependency "jakarta.el:jakarta.el-api:4.0.0" + dependency "jakarta.validation:jakarta.validation-api:3.0.0" + dependencySet(group: 'org.hibernate', version: '5.6.6.Final') { + entry 'hibernate-core-jakarta' entry 'hibernate-entitymanager' } - dependency "org.hibernate:hibernate-validator:6.2.0.Final" + dependency "org.hibernate:hibernate-validator:7.0.4.Final" dependencySet(group: 'com.sun.faces', version: '2.2.20') { entry 'jsf-api' entry 'jsf-impl' } - dependency "org.apache.myfaces.core:myfaces-impl:2.2.14" + dependency "org.apache.myfaces.core:myfaces-impl:3.0.1" dependency "com.sun.facelets:jsf-facelets:1.1.14" dependency "org.hsqldb:hsqldb:2.5.0" @@ -64,7 +64,7 @@ allprojects { dependency("junit:junit:4.13.2") dependency "org.easymock:easymock:4.2" dependency "org.hamcrest:hamcrest:2.1" - dependency "org.apache.tomcat:tomcat-jasper-el:9.0.34" + dependency "org.apache.tomcat:tomcat-jasper-el:10.0.20" dependency "org.apache.myfaces.test:myfaces-test22:1.0.8" } generatedPomCustomization { @@ -79,6 +79,8 @@ allprojects { if (version.endsWith('SNAPSHOT')) { maven { url "https://repo.spring.io/snapshot" } } + // For Spring Framework 6 milestones + maven { url "https://repo.spring.io/milestone" } } configurations.all { resolutionStrategy { diff --git a/spring-binding/spring-binding.gradle b/spring-binding/spring-binding.gradle index 2b47071b..dfd28731 100644 --- a/spring-binding/spring-binding.gradle +++ b/spring-binding/spring-binding.gradle @@ -3,7 +3,7 @@ description = "Spring Binding" dependencies { implementation("org.springframework:spring-context") - compileOnly("javax.el:javax.el-api") + compileOnly("jakarta.el:jakarta.el-api") testImplementation("org.junit.jupiter:junit-jupiter") testImplementation("org.hamcrest:hamcrest") diff --git a/spring-binding/src/main/java/org/springframework/binding/expression/el/BindingValueExpression.java b/spring-binding/src/main/java/org/springframework/binding/expression/el/BindingValueExpression.java index afd7eaba..b331f3a8 100644 --- a/spring-binding/src/main/java/org/springframework/binding/expression/el/BindingValueExpression.java +++ b/spring-binding/src/main/java/org/springframework/binding/expression/el/BindingValueExpression.java @@ -1,9 +1,9 @@ package org.springframework.binding.expression.el; -import javax.el.ELContext; -import javax.el.ELException; -import javax.el.ExpressionFactory; -import javax.el.ValueExpression; +import jakarta.el.ELContext; +import jakarta.el.ELException; +import jakarta.el.ExpressionFactory; +import jakarta.el.ValueExpression; import org.springframework.binding.convert.ConversionException; import org.springframework.binding.convert.ConversionService; diff --git a/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultELContext.java b/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultELContext.java index 08c32042..7f34c9ef 100644 --- a/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultELContext.java +++ b/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultELContext.java @@ -15,10 +15,10 @@ */ package org.springframework.binding.expression.el; -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.el.FunctionMapper; -import javax.el.VariableMapper; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.el.FunctionMapper; +import jakarta.el.VariableMapper; /** * A generic ELContext implementation. diff --git a/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultELResolver.java b/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultELResolver.java index 58ce0124..1c1e9621 100644 --- a/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultELResolver.java +++ b/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultELResolver.java @@ -17,14 +17,14 @@ package org.springframework.binding.expression.el; import java.util.List; -import javax.el.ArrayELResolver; -import javax.el.BeanELResolver; -import javax.el.CompositeELResolver; -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.el.ListELResolver; -import javax.el.MapELResolver; -import javax.el.ResourceBundleELResolver; +import jakarta.el.ArrayELResolver; +import jakarta.el.BeanELResolver; +import jakarta.el.CompositeELResolver; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.el.ListELResolver; +import jakarta.el.MapELResolver; +import jakarta.el.ResourceBundleELResolver; /** * A generic ELResolver to be used as a default when no other ELResolvers have been configured by the client diff --git a/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultElContextFactory.java b/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultElContextFactory.java index df7e4fe7..32fa8a53 100644 --- a/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultElContextFactory.java +++ b/spring-binding/src/main/java/org/springframework/binding/expression/el/DefaultElContextFactory.java @@ -15,7 +15,7 @@ */ package org.springframework.binding.expression.el; -import javax.el.ELContext; +import jakarta.el.ELContext; /** * A factory for a DefaultELContext. diff --git a/spring-binding/src/main/java/org/springframework/binding/expression/el/ELContextFactory.java b/spring-binding/src/main/java/org/springframework/binding/expression/el/ELContextFactory.java index 0d0963fc..9a2e3f47 100644 --- a/spring-binding/src/main/java/org/springframework/binding/expression/el/ELContextFactory.java +++ b/spring-binding/src/main/java/org/springframework/binding/expression/el/ELContextFactory.java @@ -15,8 +15,8 @@ */ package org.springframework.binding.expression.el; -import javax.el.ELContext; -import javax.el.ELResolver; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; /** * A factory for creating a EL context object that will be used to evaluate a target object of an EL expression. diff --git a/spring-binding/src/main/java/org/springframework/binding/expression/el/ELExpression.java b/spring-binding/src/main/java/org/springframework/binding/expression/el/ELExpression.java index b21ad75c..b3c219e3 100644 --- a/spring-binding/src/main/java/org/springframework/binding/expression/el/ELExpression.java +++ b/spring-binding/src/main/java/org/springframework/binding/expression/el/ELExpression.java @@ -15,9 +15,9 @@ */ package org.springframework.binding.expression.el; -import javax.el.ELContext; -import javax.el.ELException; -import javax.el.ValueExpression; +import jakarta.el.ELContext; +import jakarta.el.ELException; +import jakarta.el.ValueExpression; import org.springframework.binding.expression.EvaluationException; import org.springframework.binding.expression.Expression; @@ -63,7 +63,7 @@ public class ELExpression implements Expression { } } return result; - } catch (javax.el.PropertyNotFoundException e) { + } catch (jakarta.el.PropertyNotFoundException e) { throw new PropertyNotFoundException(context.getClass(), getExpressionString(), e); } catch (ELException e) { throw new EvaluationException(context.getClass(), getExpressionString(), @@ -81,7 +81,7 @@ public class ELExpression implements Expression { + getExpressionString() + "' did not resolve... is the base variable ''" + getBaseVariable() + "' spelled correctly?"); } - } catch (javax.el.PropertyNotFoundException e) { + } catch (jakarta.el.PropertyNotFoundException e) { throw new PropertyNotFoundException(context.getClass(), getExpressionString(), e); } catch (ELException e) { throw new EvaluationException(context.getClass(), getExpressionString(), @@ -94,7 +94,7 @@ public class ELExpression implements Expression { ELContext ctx = elContextFactory.getELContext(context); try { return valueExpression.getType(ctx); - } catch (javax.el.PropertyNotFoundException e) { + } catch (jakarta.el.PropertyNotFoundException e) { throw new PropertyNotFoundException(context.getClass(), getExpressionString(), e); } catch (ELException e) { throw new EvaluationException(context.getClass(), getExpressionString(), diff --git a/spring-binding/src/main/java/org/springframework/binding/expression/el/ELExpressionParser.java b/spring-binding/src/main/java/org/springframework/binding/expression/el/ELExpressionParser.java index b407b091..037fc942 100644 --- a/spring-binding/src/main/java/org/springframework/binding/expression/el/ELExpressionParser.java +++ b/spring-binding/src/main/java/org/springframework/binding/expression/el/ELExpressionParser.java @@ -18,13 +18,13 @@ package org.springframework.binding.expression.el; import java.util.HashMap; import java.util.Map; -import javax.el.ELContext; -import javax.el.ELException; -import javax.el.ELResolver; -import javax.el.ExpressionFactory; -import javax.el.FunctionMapper; -import javax.el.ValueExpression; -import javax.el.VariableMapper; +import jakarta.el.ELContext; +import jakarta.el.ELException; +import jakarta.el.ELResolver; +import jakarta.el.ExpressionFactory; +import jakarta.el.FunctionMapper; +import jakarta.el.ValueExpression; +import jakarta.el.VariableMapper; import org.springframework.binding.convert.ConversionService; import org.springframework.binding.convert.service.DefaultConversionService; diff --git a/spring-binding/src/main/java/org/springframework/binding/expression/el/MapAdaptableELResolver.java b/spring-binding/src/main/java/org/springframework/binding/expression/el/MapAdaptableELResolver.java index 9832c59c..81d1af0d 100644 --- a/spring-binding/src/main/java/org/springframework/binding/expression/el/MapAdaptableELResolver.java +++ b/spring-binding/src/main/java/org/springframework/binding/expression/el/MapAdaptableELResolver.java @@ -18,10 +18,10 @@ package org.springframework.binding.expression.el; import java.beans.FeatureDescriptor; import java.util.Iterator; import java.util.Map; -import javax.el.ELContext; -import javax.el.ELException; -import javax.el.ELResolver; -import javax.el.PropertyNotWritableException; +import jakarta.el.ELContext; +import jakarta.el.ELException; +import jakarta.el.ELResolver; +import jakarta.el.PropertyNotWritableException; import org.springframework.binding.collection.MapAdaptable; diff --git a/spring-binding/src/test/java/org/springframework/binding/expression/el/ELExpressionParserTests.java b/spring-binding/src/test/java/org/springframework/binding/expression/el/ELExpressionParserTests.java index 6e7a3354..71053874 100644 --- a/spring-binding/src/test/java/org/springframework/binding/expression/el/ELExpressionParserTests.java +++ b/spring-binding/src/test/java/org/springframework/binding/expression/el/ELExpressionParserTests.java @@ -6,10 +6,10 @@ import static org.junit.jupiter.api.Assertions.fail; import java.beans.FeatureDescriptor; import java.util.Iterator; -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.el.FunctionMapper; -import javax.el.VariableMapper; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.el.FunctionMapper; +import jakarta.el.VariableMapper; import org.apache.el.ExpressionFactoryImpl; import org.junit.jupiter.api.BeforeEach; diff --git a/spring-binding/src/test/java/org/springframework/binding/expression/el/MapAdaptableELResolverTests.java b/spring-binding/src/test/java/org/springframework/binding/expression/el/MapAdaptableELResolverTests.java index ac01d3fe..2d2082d7 100644 --- a/spring-binding/src/test/java/org/springframework/binding/expression/el/MapAdaptableELResolverTests.java +++ b/spring-binding/src/test/java/org/springframework/binding/expression/el/MapAdaptableELResolverTests.java @@ -6,7 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.HashMap; import java.util.Map; -import javax.el.ELContext; +import jakarta.el.ELContext; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/spring-webflow/spring-webflow.gradle b/spring-webflow/spring-webflow.gradle index 463c3152..1b2054d9 100644 --- a/spring-webflow/spring-webflow.gradle +++ b/spring-webflow/spring-webflow.gradle @@ -5,11 +5,11 @@ dependencies { implementation("org.springframework:spring-web") implementation("org.springframework:spring-webmvc") - compileOnly("javax.el:javax.el-api") - compileOnly("javax.servlet:javax.servlet-api") + compileOnly("jakarta.el:jakarta.el-api") + compileOnly("jakarta.servlet:jakarta.servlet-api") compileOnly("junit:junit") - optional("org.hibernate:hibernate-core") + optional("org.hibernate:hibernate-core-jakarta") optional("org.springframework.security:spring-security-core") optional("org.springframework:spring-orm") optional("org.springframework:spring-tx") @@ -24,11 +24,25 @@ dependencies { testImplementation("org.hibernate:hibernate-entitymanager") testImplementation("org.hibernate:hibernate-validator") testImplementation("org.hsqldb:hsqldb") - testImplementation("javax.servlet.jsp:javax.servlet.jsp-api") + testImplementation("jakarta.servlet.jsp:jakarta.servlet.jsp-api") testImplementation("javax.servlet:jstl") - testImplementation("javax.servlet:javax.servlet-api") - testImplementation("javax.validation:validation-api") + testImplementation("jakarta.servlet:jakarta.servlet-api") + testImplementation("jakarta.validation:jakarta.validation-api") testRuntimeOnly("org.apache.logging.log4j:log4j-core") testRuntimeOnly("org.apache.logging.log4j:log4j-slf4j-impl") testRuntimeOnly("org.apache.logging.log4j:log4j-jul") + + // + // To use Hibernate 5 in the context of the Jakarta EE 9 namespace, + // we need to use hibernate-core-jakarta instead of hibernate-core. + // Unfortunately the hibernate-entitymanager module directly + // references hibernate-core and we don't want both versions + // in the classpath. To avoid this, explicitly exclude the + // plain hibernate-core module in all configurations. + // + // This wrinkle will probably go away again in Hibernate 6. + // + configurations.all { + exclude group: 'org.hibernate', module: 'hibernate-core' + } } diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AbstractAjaxHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AbstractAjaxHandler.java index ec30153a..6aede26d 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AbstractAjaxHandler.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AbstractAjaxHandler.java @@ -2,8 +2,8 @@ package org.springframework.webflow.context.servlet; import java.io.IOException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.web.context.support.WebApplicationObjectSupport; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AjaxHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AjaxHandler.java index 8734517f..c8924d40 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AjaxHandler.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AjaxHandler.java @@ -17,8 +17,8 @@ package org.springframework.webflow.context.servlet; import java.io.IOException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; /** * Strategy interface that encapsulates knowledge about a client-side ajax system and how to communicate with that diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultAjaxHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultAjaxHandler.java index 792250d8..62a789a6 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultAjaxHandler.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultAjaxHandler.java @@ -15,8 +15,8 @@ */ package org.springframework.webflow.context.servlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.http.HttpHeaders; import org.springframework.util.StringUtils; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultFlowUrlHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultFlowUrlHandler.java index 38088785..db7e784c 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultFlowUrlHandler.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultFlowUrlHandler.java @@ -20,7 +20,7 @@ import java.net.URLEncoder; import java.util.Iterator; import java.util.Map; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.util.StringUtils; import org.springframework.web.util.WebUtils; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FilenameFlowUrlHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FilenameFlowUrlHandler.java index b3f830aa..e03f9884 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FilenameFlowUrlHandler.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FilenameFlowUrlHandler.java @@ -15,7 +15,7 @@ */ package org.springframework.webflow.context.servlet; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.util.StringUtils; import org.springframework.web.util.UrlPathHelper; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FlowUrlHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FlowUrlHandler.java index e6f017bd..100ff482 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FlowUrlHandler.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FlowUrlHandler.java @@ -15,7 +15,7 @@ */ package org.springframework.webflow.context.servlet; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.webflow.core.collection.AttributeMap; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletContextMap.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletContextMap.java index b54516d8..d1e8a75a 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletContextMap.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletContextMap.java @@ -17,7 +17,7 @@ package org.springframework.webflow.context.servlet; import java.util.Iterator; -import javax.servlet.ServletContext; +import jakarta.servlet.ServletContext; import org.springframework.binding.collection.SharedMap; import org.springframework.binding.collection.StringKeyedMapAdapter; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletRequestMap.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletRequestMap.java index 8b8eef06..244c3820 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletRequestMap.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletRequestMap.java @@ -17,7 +17,7 @@ package org.springframework.webflow.context.servlet; import java.util.Iterator; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.binding.collection.StringKeyedMapAdapter; import org.springframework.webflow.core.collection.CollectionUtils; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletRequestParameterMap.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletRequestParameterMap.java index 3af8b6bd..106553af 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletRequestParameterMap.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpServletRequestParameterMap.java @@ -18,7 +18,7 @@ package org.springframework.webflow.context.servlet; import java.util.Iterator; import java.util.List; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.binding.collection.StringKeyedMapAdapter; import org.springframework.util.Assert; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpSessionMap.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpSessionMap.java index ff54c5f5..9fab1613 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpSessionMap.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/HttpSessionMap.java @@ -17,8 +17,8 @@ package org.springframework.webflow.context.servlet; import java.util.Iterator; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpSession; import org.springframework.binding.collection.SharedMap; import org.springframework.binding.collection.StringKeyedMapAdapter; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/ServletExternalContext.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/ServletExternalContext.java index 9d9511c3..ce5dc1be 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/ServletExternalContext.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/ServletExternalContext.java @@ -20,9 +20,9 @@ import java.io.Writer; import java.security.Principal; import java.util.Locale; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletContext; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.webflow.context.ExternalContext; import org.springframework.webflow.core.collection.LocalAttributeMap; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/WebFlow1FlowUrlHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/WebFlow1FlowUrlHandler.java index ee681dd0..137d7869 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/WebFlow1FlowUrlHandler.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/WebFlow1FlowUrlHandler.java @@ -20,7 +20,7 @@ import java.net.URLEncoder; import java.util.Iterator; import java.util.Map; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.webflow.core.collection.AttributeMap; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/web/HttpSessionMapBindingListener.java b/spring-webflow/src/main/java/org/springframework/webflow/context/web/HttpSessionMapBindingListener.java index 68d5681a..2db853bd 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/context/web/HttpSessionMapBindingListener.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/context/web/HttpSessionMapBindingListener.java @@ -17,8 +17,8 @@ package org.springframework.webflow.context.web; import java.util.Map; -import javax.servlet.http.HttpSessionBindingEvent; -import javax.servlet.http.HttpSessionBindingListener; +import jakarta.servlet.http.HttpSessionBindingEvent; +import jakarta.servlet.http.HttpSessionBindingListener; import org.springframework.webflow.core.collection.AttributeMapBindingEvent; import org.springframework.webflow.core.collection.AttributeMapBindingListener; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ActionMethodELResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ActionMethodELResolver.java index c30d9d76..3cfbe556 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ActionMethodELResolver.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ActionMethodELResolver.java @@ -18,9 +18,9 @@ package org.springframework.webflow.expression.el; import java.beans.FeatureDescriptor; import java.util.Iterator; -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.el.PropertyNotWritableException; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.el.PropertyNotWritableException; import org.springframework.webflow.execution.Action; import org.springframework.webflow.execution.AnnotatedAction; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/FlowResourceELResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/FlowResourceELResolver.java index 2c085900..cefcbbed 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/FlowResourceELResolver.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/FlowResourceELResolver.java @@ -4,9 +4,9 @@ import java.beans.FeatureDescriptor; import java.util.Iterator; import java.util.Locale; -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.el.PropertyNotWritableException; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.el.PropertyNotWritableException; import org.springframework.context.MessageSource; import org.springframework.util.StringUtils; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolver.java index 02c1e08f..d2c7dedd 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolver.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolver.java @@ -20,10 +20,10 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import javax.el.BeanELResolver; -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.el.PropertyNotWritableException; +import jakarta.el.BeanELResolver; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.el.PropertyNotWritableException; import org.springframework.binding.expression.el.DefaultELContext; import org.springframework.webflow.execution.RequestContext; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/RequestContextELResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/RequestContextELResolver.java index 508769f6..c70b1954 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/RequestContextELResolver.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/RequestContextELResolver.java @@ -18,9 +18,9 @@ package org.springframework.webflow.expression.el; import java.beans.FeatureDescriptor; import java.util.Iterator; -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.el.PropertyNotWritableException; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.el.PropertyNotWritableException; import org.springframework.webflow.execution.RequestContext; import org.springframework.webflow.execution.RequestContextHolder; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ScopeSearchingELResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ScopeSearchingELResolver.java index 393b8532..406c06b3 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ScopeSearchingELResolver.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ScopeSearchingELResolver.java @@ -18,8 +18,8 @@ package org.springframework.webflow.expression.el; import java.beans.FeatureDescriptor; import java.util.Iterator; -import javax.el.ELContext; -import javax.el.ELResolver; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; import org.springframework.webflow.execution.RequestContext; import org.springframework.webflow.execution.RequestContextHolder; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/SpringBeanWebFlowELResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/SpringBeanWebFlowELResolver.java index 1071429e..c2344c36 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/SpringBeanWebFlowELResolver.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/SpringBeanWebFlowELResolver.java @@ -17,10 +17,10 @@ package org.springframework.webflow.expression.el; import java.beans.FeatureDescriptor; import java.util.Iterator; -import javax.el.ELContext; -import javax.el.ELException; -import javax.el.ELResolver; -import javax.el.PropertyNotWritableException; +import jakarta.el.ELContext; +import jakarta.el.ELException; +import jakarta.el.ELResolver; +import jakarta.el.PropertyNotWritableException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/WebFlowELExpressionParser.java b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/WebFlowELExpressionParser.java index 51fc2b1c..b9a4a90d 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/WebFlowELExpressionParser.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/WebFlowELExpressionParser.java @@ -18,11 +18,11 @@ package org.springframework.webflow.expression.el; import java.util.ArrayList; import java.util.List; -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.el.ExpressionFactory; -import javax.el.FunctionMapper; -import javax.el.VariableMapper; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.el.ExpressionFactory; +import jakarta.el.FunctionMapper; +import jakarta.el.VariableMapper; import org.springframework.binding.expression.el.DefaultELResolver; import org.springframework.binding.expression.el.ELContextFactory; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/AbstractFlowHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/AbstractFlowHandler.java index 6aef2971..3d1bdf23 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/AbstractFlowHandler.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/AbstractFlowHandler.java @@ -15,8 +15,8 @@ */ package org.springframework.webflow.mvc.servlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.core.style.ToStringCreator; import org.springframework.webflow.core.FlowException; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowController.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowController.java index 310b5887..ec6ca09d 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowController.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowController.java @@ -18,8 +18,8 @@ package org.springframework.webflow.mvc.servlet; import java.util.HashMap; import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.BeansException; import org.springframework.beans.factory.InitializingBean; @@ -115,7 +115,7 @@ public class FlowController implements Controller, ApplicationContextAware, Init *

* Many HTTP 1.1 clients treat 302 just like 303, not making any difference. However, some clients depend on 303 * when redirecting after a POST request; turn this flag off in such a scenario. - * @see javax.servlet.http.HttpServletResponse#sendRedirect + * @see jakarta.servlet.http.HttpServletResponse#sendRedirect */ public void setRedirectHttp10Compatible(boolean redirectHttp10Compatible) { flowHandlerAdapter.setRedirectHttp10Compatible(redirectHttp10Compatible); diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandler.java index 8f3ac279..1f62d7d2 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandler.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandler.java @@ -15,8 +15,8 @@ */ package org.springframework.webflow.mvc.servlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.webflow.core.FlowException; import org.springframework.webflow.core.collection.MutableAttributeMap; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java index a20b078f..e51daa73 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java @@ -18,8 +18,8 @@ package org.springframework.webflow.mvc.servlet; import java.io.IOException; import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -167,7 +167,7 @@ public class FlowHandlerAdapter extends WebContentGenerator implements HandlerAd *

* Many HTTP 1.1 clients treat 302 just like 303, not making any difference. However, some clients depend on 303 * when redirecting after a POST request; turn this flag off in such a scenario. - * @see javax.servlet.http.HttpServletResponse#sendRedirect + * @see jakarta.servlet.http.HttpServletResponse#sendRedirect */ public void setRedirectHttp10Compatible(boolean redirectHttp10Compatible) { this.redirectHttp10Compatible = redirectHttp10Compatible; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerMapping.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerMapping.java index 5bbaf062..fa0933f9 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerMapping.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerMapping.java @@ -15,8 +15,8 @@ */ package org.springframework.webflow.mvc.servlet; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.ServletContext; +import jakarta.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/MvcExternalContext.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/MvcExternalContext.java index da023c50..e179c609 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/MvcExternalContext.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/MvcExternalContext.java @@ -2,9 +2,9 @@ package org.springframework.webflow.mvc.servlet; import java.util.Locale; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletContext; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.web.servlet.support.RequestContextUtils; import org.springframework.webflow.context.servlet.FlowUrlHandler; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/ServletMvcView.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/ServletMvcView.java index 34a1456b..0ebdf528 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/ServletMvcView.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/ServletMvcView.java @@ -17,8 +17,8 @@ package org.springframework.webflow.mvc.servlet; import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.core.convert.ConversionService; import org.springframework.webflow.context.ExternalContext; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxUrlBasedViewResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxUrlBasedViewResolver.java index 6bd855ee..8801535e 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxUrlBasedViewResolver.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxUrlBasedViewResolver.java @@ -18,8 +18,8 @@ package org.springframework.webflow.mvc.view; import java.io.IOException; import java.util.Locale; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.web.servlet.View; import org.springframework.web.servlet.view.RedirectView; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/persistence/JpaFlowExecutionListener.java b/spring-webflow/src/main/java/org/springframework/webflow/persistence/JpaFlowExecutionListener.java index 58470bef..c1262be3 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/persistence/JpaFlowExecutionListener.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/persistence/JpaFlowExecutionListener.java @@ -15,8 +15,8 @@ */ package org.springframework.webflow.persistence; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; import org.springframework.orm.jpa.EntityManagerHolder; import org.springframework.transaction.PlatformTransactionManager; diff --git a/spring-webflow/src/main/java/org/springframework/webflow/validation/BeanValidationHintResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/validation/BeanValidationHintResolver.java index 574407b2..e635d7a7 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/validation/BeanValidationHintResolver.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/validation/BeanValidationHintResolver.java @@ -55,7 +55,7 @@ public class BeanValidationHintResolver implements ValidationHintResolver { List> result = new ArrayList<>(); for (String hint : hints) { if (hint.equalsIgnoreCase("Default")) { - hint = "javax.validation.groups.Default"; + hint = "jakarta.validation.groups.Default"; } Class resolvedHint = toClass(hint); if ((resolvedHint == null) && (model != null)) { diff --git a/spring-webflow/src/main/resources/org/springframework/webflow/engine/model/builder/xml/spring-webflow.xsd b/spring-webflow/src/main/resources/org/springframework/webflow/engine/model/builder/xml/spring-webflow.xsd index a19ce8a7..f90bf470 100644 --- a/spring-webflow/src/main/resources/org/springframework/webflow/engine/model/builder/xml/spring-webflow.xsd +++ b/spring-webflow/src/main/resources/org/springframework/webflow/engine/model/builder/xml/spring-webflow.xsd @@ -533,7 +533,7 @@ The model object this view is bound to. Typically used as the source of form fi A comma-separated list of validation hints such as validation groups against a JSR-303 provider. Each hint is used to find an inner Class either in the Class of the model or its parent classes. For example, given org.example.MyModel with inner type MyGroup, the hint "MyGroup" can be used. -The hint "default" is reserved as the default validation group, i.e. "javax.validation.groups.Default". +The hint "default" is reserved as the default validation group, i.e. "jakarta.validation.groups.Default". A hint can also be a fully qualified class name. The validation hints string is evaluated as an expression before hints are resolved. The result of the expression can be a String or an Object[] with Class instances. @@ -1491,7 +1491,7 @@ Indicates whether model validation should occur before this transition executes. A comma-separated list of validation hints such as validation groups against a JSR-303 provider. Each hint is used to find an inner Class either in the Class of the model or its parent classes. For example, given org.example.MyModel with inner type MyGroup, the hint "MyGroup" can be used. -The hint "default" is reserved as the default validation group, i.e. "javax.validation.groups.Default". +The hint "default" is reserved as the default validation group, i.e. "jakarta.validation.groups.Default". A hint can also be a fully qualified class name. The validation hints string is evaluated as an expression before hints are resolved. The result of the expression can be a String or an Object[] with Class instances. @@ -1610,4 +1610,4 @@ Matching all of the attributes grants access. - \ No newline at end of file + diff --git a/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/AbstractAjaxHandlerTests.java b/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/AbstractAjaxHandlerTests.java index 276f5812..6dfa1c78 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/AbstractAjaxHandlerTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/AbstractAjaxHandlerTests.java @@ -3,8 +3,8 @@ package org.springframework.webflow.context.servlet; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/HttpServletContextMapTests.java b/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/HttpServletContextMapTests.java index ea3728b4..7ce4c690 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/HttpServletContextMapTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/HttpServletContextMapTests.java @@ -44,7 +44,7 @@ public class HttpServletContextMapTests { context = new MockServletContext(); // a fresh MockServletContext seems to already contain an element; // that's confusing, so we remove it - context.removeAttribute("javax.servlet.context.tempdir"); + context.removeAttribute("jakarta.servlet.context.tempdir"); tested = new HttpServletContextMap(context); tested.put("SomeKey", "SomeValue"); } diff --git a/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/HttpServletRequestMapTests.java b/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/HttpServletRequestMapTests.java index d25569af..3a8b976d 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/HttpServletRequestMapTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/HttpServletRequestMapTests.java @@ -76,7 +76,7 @@ public class HttpServletRequestMapTests { @Test public void testGetAttributeNames() { request.setAttribute("Some key", "Some value"); - request.removeAttribute("javax.servlet.context.tempdir"); + request.removeAttribute("jakarta.servlet.context.tempdir"); // perform test Iterator names = tested.getAttributeNames(); assertNotNull(names, "Null result unexpected"); diff --git a/spring-webflow/src/test/java/org/springframework/webflow/context/web/HttpSessionMapBindingListenerTests.java b/spring-webflow/src/test/java/org/springframework/webflow/context/web/HttpSessionMapBindingListenerTests.java index 454872c3..3eff45bd 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/context/web/HttpSessionMapBindingListenerTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/context/web/HttpSessionMapBindingListenerTests.java @@ -20,8 +20,8 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertSame; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpSession; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/expression/el/FlowDependentELResolverTestCase.java b/spring-webflow/src/test/java/org/springframework/webflow/expression/el/FlowDependentELResolverTestCase.java index a4fc4024..6b73ec67 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/expression/el/FlowDependentELResolverTestCase.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/expression/el/FlowDependentELResolverTestCase.java @@ -2,8 +2,8 @@ package org.springframework.webflow.expression.el; import java.util.List; -import javax.el.ELContext; -import javax.el.ELResolver; +import jakarta.el.ELContext; +import jakarta.el.ELResolver; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/expression/el/FlowResourceELResolverTests.java b/spring-webflow/src/test/java/org/springframework/webflow/expression/el/FlowResourceELResolverTests.java index 61c96587..bd757895 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/expression/el/FlowResourceELResolverTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/expression/el/FlowResourceELResolverTests.java @@ -8,9 +8,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; -import javax.el.ELResolver; -import javax.el.PropertyNotFoundException; -import javax.el.PropertyNotWritableException; +import jakarta.el.ELResolver; +import jakarta.el.PropertyNotFoundException; +import jakarta.el.PropertyNotWritableException; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolverTests.java b/spring-webflow/src/test/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolverTests.java index 102637e3..fdc222cd 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolverTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolverTests.java @@ -4,8 +4,8 @@ import java.security.Principal; import java.util.ArrayList; import java.util.List; -import javax.el.ELResolver; -import javax.el.PropertyNotWritableException; +import jakarta.el.ELResolver; +import jakarta.el.PropertyNotWritableException; import org.junit.jupiter.api.Test; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/expression/el/ScopeSearchingELResolverTests.java b/spring-webflow/src/test/java/org/springframework/webflow/expression/el/ScopeSearchingELResolverTests.java index a4eae1d6..3dd017cc 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/expression/el/ScopeSearchingELResolverTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/expression/el/ScopeSearchingELResolverTests.java @@ -9,7 +9,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.ArrayList; import java.util.List; -import javax.el.ELResolver; +import jakarta.el.ELResolver; import org.junit.jupiter.api.Test; import org.springframework.webflow.execution.RequestContextHolder; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowControllerTests.java b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowControllerTests.java index 4cab231d..3b49bd29 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowControllerTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowControllerTests.java @@ -7,8 +7,8 @@ import static org.junit.jupiter.api.Assertions.fail; import java.util.HashMap; import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.easymock.EasyMock; import org.junit.jupiter.api.BeforeEach; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapterTests.java b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapterTests.java index ec3f5b15..880ab44e 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapterTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapterTests.java @@ -9,8 +9,8 @@ import static org.junit.jupiter.api.Assertions.fail; import java.util.HashMap; import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.easymock.EasyMock; import org.junit.jupiter.api.BeforeEach; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowHandlerMappingTests.java b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowHandlerMappingTests.java index e1c3090c..7801817a 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowHandlerMappingTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowHandlerMappingTests.java @@ -5,8 +5,8 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/ServletMvcViewTests.java b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/ServletMvcViewTests.java index 6838b4a2..c270da20 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/ServletMvcViewTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/ServletMvcViewTests.java @@ -9,8 +9,8 @@ import java.util.Calendar; import java.util.Date; import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.junit.jupiter.api.Test; import org.springframework.mock.web.MockHttpServletRequest; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/mvc/view/MvcViewTests.java b/spring-webflow/src/test/java/org/springframework/webflow/mvc/view/MvcViewTests.java index 3eeefd28..877bc81b 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/mvc/view/MvcViewTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/mvc/view/MvcViewTests.java @@ -18,8 +18,8 @@ import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.junit.jupiter.api.Test; import org.springframework.binding.convert.converters.StringToDate; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaFlowExecutionListenerTests.java b/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaFlowExecutionListenerTests.java index 91bfb22b..9108cb94 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaFlowExecutionListenerTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaFlowExecutionListenerTests.java @@ -4,8 +4,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; import javax.sql.DataSource; import org.junit.jupiter.api.BeforeEach; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaFlowManagedPersistenceIntegrationTests.java b/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaFlowManagedPersistenceIntegrationTests.java index 8e689d05..3bd0b7f0 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaFlowManagedPersistenceIntegrationTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaFlowManagedPersistenceIntegrationTests.java @@ -3,8 +3,8 @@ package org.springframework.webflow.persistence; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; import javax.sql.DataSource; import org.springframework.orm.jpa.JpaTransactionManager; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaPersistenceContextPropagationTests.java b/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaPersistenceContextPropagationTests.java index 85e27e18..58437744 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaPersistenceContextPropagationTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/persistence/JpaPersistenceContextPropagationTests.java @@ -4,8 +4,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; import javax.sql.DataSource; import org.springframework.orm.jpa.EntityManagerFactoryUtils; diff --git a/spring-webflow/src/test/java/org/springframework/webflow/validation/BeanValidationHintResolverTests.java b/spring-webflow/src/test/java/org/springframework/webflow/validation/BeanValidationHintResolverTests.java index c1d002e9..a2fa322c 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/validation/BeanValidationHintResolverTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/validation/BeanValidationHintResolverTests.java @@ -19,7 +19,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.fail; -import javax.validation.groups.Default; +import jakarta.validation.groups.Default; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/reference/spring-faces.adoc b/src/reference/spring-faces.adoc index c41de1d1..e3e9a313 100644 --- a/src/reference/spring-faces.adoc +++ b/src/reference/spring-faces.adoc @@ -46,7 +46,7 @@ The following listing shows the configuration details: Faces Servlet - javax.faces.webapp.FacesServlet + jakarta.faces.webapp.FacesServlet 1 @@ -65,7 +65,7 @@ The use of Facelets instead of JSP typically requires the following element in ` ---- !-- Use JSF view templates saved as *.xhtml, for use with Facelets --> - javax.faces.DEFAULT_SUFFIX + jakarta.faces.DEFAULT_SUFFIX .xhtml ---- @@ -617,7 +617,7 @@ Next, you need to register the taglib file (in the preceding listing) in `web.xm [source,xml] ---- - javax.faces.FACELETS_LIBRARIES + jakarta.faces.FACELETS_LIBRARIES /WEB-INF/springsecurity.taglib.xml ---- diff --git a/src/reference/views.adoc b/src/reference/views.adoc index 3cc39c2c..bdbd6cf4 100644 --- a/src/reference/views.adoc +++ b/src/reference/views.adoc @@ -524,7 +524,7 @@ To do that, it looks for matching inner types in the model or its parent. For example, given `org.example.MyModel` with inner types `Group1` and `Group2`, it is sufficient to supply the simple type names -- that is, `group1` and `group2`. You can also provide fully qualified type names. -A hint with a value of `default` has a special meaning and is translated to the default validation group in Bean Validation: `javax.validation.groups.Default`. +A hint with a value of `default` has a special meaning and is translated to the default validation group in Bean Validation: `jakarta.validation.groups.Default`. You can configure a custom `ValidationHintResolver`, if necessary, through the `validationHintResolver` property of the `flow-builder-services` element, as follows: diff --git a/src/reference/whatsnew.adoc b/src/reference/whatsnew.adoc index 737f3b07..21097716 100644 --- a/src/reference/whatsnew.adoc +++ b/src/reference/whatsnew.adoc @@ -202,7 +202,7 @@ Note that partial state saving is only supported with Sun Mojarra 2.0.3 or later It is not yet supported with Apache MyFaces. This is due to the fact MyFaces was not as easy to customize with regards to how component state is stored. We will work with Apache MyFaces to provide this support. -In the meantime, you need to use the `javax.faces.PARTIAL_STATE_SAVING` context parameter in `web.xml` to disable partial state saving with Apache MyFaces. +In the meantime, you need to use the `jakarta.faces.PARTIAL_STATE_SAVING` context parameter in `web.xml` to disable partial state saving with Apache MyFaces. ===== Travel Sample With the PrimeFaces Components