* Also registers a HandlerMapping bean to provide JSF 2 resource handling at
- * {@code "/javax.faces.resource/**"} or Rich Faces at {@code "/rfRes/**"}.
+ * {@code "/jakarta.faces.resource/**"} or Rich Faces at {@code "/rfRes/**"}.
* @author Rossen Stoyanchev
* @since 2.4
@@ -107,7 +107,7 @@ public class AbstractFacesFlowConfiguration implements ApplicationContextAware {
public SimpleUrlHandlerMapping jsrResourceHandlerMapping() {
Map urlMap = new HashMap<>();
- urlMap.put("/javax.faces.resource/**", jsfResourceRequestHandler());
+ urlMap.put("/jakarta.faces.resource/**", jsfResourceRequestHandler());
if (isRichFacesPresent) {
urlMap.put("/rfRes/**", jsfResourceRequestHandler());
}
diff --git a/spring-faces/src/main/java/org/springframework/faces/config/ResourcesBeanDefinitionParser.java b/spring-faces/src/main/java/org/springframework/faces/config/ResourcesBeanDefinitionParser.java
index 28c745b8..3788293a 100644
--- a/spring-faces/src/main/java/org/springframework/faces/config/ResourcesBeanDefinitionParser.java
+++ b/spring-faces/src/main/java/org/springframework/faces/config/ResourcesBeanDefinitionParser.java
@@ -76,7 +76,7 @@ public class ResourcesBeanDefinitionParser implements BeanDefinitionParser {
private void registerHandlerMappings(Element element, Object source, ParserContext parserContext) {
Map urlMap = new ManagedMap<>();
- urlMap.put("/javax.faces.resource/**", SERVLET_RESOURCE_HANDLER_BEAN_NAME);
+ urlMap.put("/jakarta.faces.resource/**", SERVLET_RESOURCE_HANDLER_BEAN_NAME);
if (isRichFacesPresent) {
urlMap.put("/rfRes/**", SERVLET_RESOURCE_HANDLER_BEAN_NAME);
@@ -92,4 +92,4 @@ public class ResourcesBeanDefinitionParser implements BeanDefinitionParser {
parserContext.getReaderContext().registerWithGeneratedName(beanDefinition);
}
-}
\ No newline at end of file
+}
diff --git a/spring-faces/src/main/java/org/springframework/faces/model/ManySelectionTrackingListDataModel.java b/spring-faces/src/main/java/org/springframework/faces/model/ManySelectionTrackingListDataModel.java
index adc3d940..8721fa81 100644
--- a/spring-faces/src/main/java/org/springframework/faces/model/ManySelectionTrackingListDataModel.java
+++ b/spring-faces/src/main/java/org/springframework/faces/model/ManySelectionTrackingListDataModel.java
@@ -18,10 +18,10 @@ package org.springframework.faces.model;
import java.util.ArrayList;
import java.util.List;
-import javax.faces.model.DataModel;
-
import org.springframework.util.Assert;
+import jakarta.faces.model.DataModel;
+
/**
* A {@link DataModel} implementation that tracks the currently selected rows, allowing any number of rows to be
* selected at one time.
diff --git a/spring-faces/src/main/java/org/springframework/faces/model/OneSelectionTrackingListDataModel.java b/spring-faces/src/main/java/org/springframework/faces/model/OneSelectionTrackingListDataModel.java
index 2fc2168f..ef5479f8 100644
--- a/spring-faces/src/main/java/org/springframework/faces/model/OneSelectionTrackingListDataModel.java
+++ b/spring-faces/src/main/java/org/springframework/faces/model/OneSelectionTrackingListDataModel.java
@@ -18,16 +18,15 @@ package org.springframework.faces.model;
import java.util.ArrayList;
import java.util.List;
-import javax.faces.model.DataModel;
-
import org.springframework.util.Assert;
+import jakarta.faces.model.DataModel;
+
/**
* A {@link DataModel} implementation that tracks the currently selected row, allowing only one selection at a time.
*
* @author Jeremy Grelle
*/
-@SuppressWarnings("serial")
public class OneSelectionTrackingListDataModel extends SerializableListDataModel implements SelectionAware {
/**
@@ -70,7 +69,7 @@ public class OneSelectionTrackingListDataModel extends SerializableListDataMo
if (!rowSelected) {
this.selections.remove(getRowData());
- } else if (rowSelected && !this.selections.contains(getRowData())) {
+ } else if (!this.selections.contains(getRowData())) {
this.selections.clear();
this.selections.add(getRowData());
}
diff --git a/spring-faces/src/main/java/org/springframework/faces/model/SelectionAware.java b/spring-faces/src/main/java/org/springframework/faces/model/SelectionAware.java
index 5e8db24e..4d44d51b 100644
--- a/spring-faces/src/main/java/org/springframework/faces/model/SelectionAware.java
+++ b/spring-faces/src/main/java/org/springframework/faces/model/SelectionAware.java
@@ -17,7 +17,7 @@ package org.springframework.faces.model;
import java.util.List;
-import javax.faces.model.DataModel;
+import jakarta.faces.model.DataModel;
/**
* Interface for {@link DataModel} implementations that need to track selected rows.
diff --git a/spring-faces/src/main/java/org/springframework/faces/model/SelectionTrackingActionListener.java b/spring-faces/src/main/java/org/springframework/faces/model/SelectionTrackingActionListener.java
index ce572fca..d514ced0 100644
--- a/spring-faces/src/main/java/org/springframework/faces/model/SelectionTrackingActionListener.java
+++ b/spring-faces/src/main/java/org/springframework/faces/model/SelectionTrackingActionListener.java
@@ -19,19 +19,19 @@ import java.lang.reflect.Method;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import javax.faces.component.UIComponent;
-import javax.faces.component.UIData;
-import javax.faces.component.UIViewRoot;
-import javax.faces.event.AbortProcessingException;
-import javax.faces.event.ActionEvent;
-import javax.faces.event.ActionListener;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.faces.webflow.FlowActionListener;
import org.springframework.util.ClassUtils;
import org.springframework.util.ReflectionUtils;
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.component.UIData;
+import jakarta.faces.component.UIViewRoot;
+import jakarta.faces.event.AbortProcessingException;
+import jakarta.faces.event.ActionEvent;
+import jakarta.faces.event.ActionListener;
+
/**
* Custom {@link ActionListener} that inspects the {@link UIComponent} that signaled the current {@link ActionEvent} to
* determine whether it is a child of any iterator type of component (such as {@link UIData}) that uses a
@@ -72,7 +72,7 @@ public class SelectionTrackingActionListener implements ActionListener {
Method valueAccessor = getValueMethod(parent.getClass());
if (valueAccessor != null) {
Object value = ReflectionUtils.invokeMethod(valueAccessor, parent);
- if (value != null && value instanceof SelectionAware) {
+ if (value instanceof SelectionAware) {
((SelectionAware>) value).setCurrentRowSelected(true);
if (logger.isDebugEnabled()) {
logger.debug("Row selection has been set on the current SelectionAware data model.");
diff --git a/spring-faces/src/main/java/org/springframework/faces/model/SerializableListDataModel.java b/spring-faces/src/main/java/org/springframework/faces/model/SerializableListDataModel.java
index bbdbbcf0..d4631e16 100644
--- a/spring-faces/src/main/java/org/springframework/faces/model/SerializableListDataModel.java
+++ b/spring-faces/src/main/java/org/springframework/faces/model/SerializableListDataModel.java
@@ -22,17 +22,16 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
-import javax.faces.model.ListDataModel;
-
import org.springframework.util.Assert;
+import jakarta.faces.model.ListDataModel;
+
/**
* A simple {@link ListDataModel List-to-JSF-DataModel} adapter that is also {@link Serializable}.
*
* @author Jeremy Grelle
* @author Phillip Webb
*/
-@SuppressWarnings("serial")
public class SerializableListDataModel extends ListDataModel implements Serializable {
diff --git a/spring-faces/src/main/java/org/springframework/faces/model/converter/DataModelConverter.java b/spring-faces/src/main/java/org/springframework/faces/model/converter/DataModelConverter.java
index 99b69c18..bda04c75 100644
--- a/spring-faces/src/main/java/org/springframework/faces/model/converter/DataModelConverter.java
+++ b/spring-faces/src/main/java/org/springframework/faces/model/converter/DataModelConverter.java
@@ -18,12 +18,12 @@ package org.springframework.faces.model.converter;
import java.lang.reflect.Constructor;
import java.util.List;
-import javax.faces.model.DataModel;
-
import org.springframework.binding.convert.converters.Converter;
import org.springframework.faces.model.OneSelectionTrackingListDataModel;
import org.springframework.util.ClassUtils;
+import jakarta.faces.model.DataModel;
+
/**
* A {@link Converter} implementation that converts an Object, Object array, or {@link List} into a JSF
* {@link DataModel}.
diff --git a/spring-faces/src/main/java/org/springframework/faces/model/converter/FacesConversionService.java b/spring-faces/src/main/java/org/springframework/faces/model/converter/FacesConversionService.java
index d5155d7d..cf1ffbed 100644
--- a/spring-faces/src/main/java/org/springframework/faces/model/converter/FacesConversionService.java
+++ b/spring-faces/src/main/java/org/springframework/faces/model/converter/FacesConversionService.java
@@ -15,7 +15,7 @@
*/
package org.springframework.faces.model.converter;
-import javax.faces.model.DataModel;
+import jakarta.faces.model.DataModel;
import org.springframework.binding.convert.service.DefaultConversionService;
import org.springframework.core.convert.ConversionService;
diff --git a/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java b/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java
index d789612e..f2e838f2 100644
--- a/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java
+++ b/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java
@@ -16,14 +16,6 @@
package org.springframework.faces.mvc;
import java.util.Map;
-import javax.faces.application.ViewHandler;
-import javax.faces.component.UIViewRoot;
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseId;
-import javax.faces.lifecycle.Lifecycle;
-import javax.faces.lifecycle.LifecycleFactory;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.springframework.faces.webflow.FacesContextHelper;
import org.springframework.faces.webflow.JsfUtils;
@@ -31,6 +23,15 @@ import org.springframework.util.Assert;
import org.springframework.web.servlet.support.RequestContextUtils;
import org.springframework.web.servlet.view.AbstractUrlBasedView;
+import jakarta.faces.application.ViewHandler;
+import jakarta.faces.component.UIViewRoot;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.event.PhaseId;
+import jakarta.faces.lifecycle.Lifecycle;
+import jakarta.faces.lifecycle.LifecycleFactory;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
/**
* JSF View that renders a transient (stateless) JSF view template. The UIViewRoot will not be saved and thus the JSF
* lifecycle will not be able to be invoked on postback.
@@ -47,7 +48,7 @@ public class JsfView extends AbstractUrlBasedView {
}
protected void renderMergedOutputModel(Map model, HttpServletRequest request,
- HttpServletResponse response) throws Exception {
+ HttpServletResponse response) {
FacesContextHelper facesContextHelper = new FacesContextHelper();
FacesContext facesContext = facesContextHelper.getFacesContext(getServletContext(), request, response);
@@ -83,6 +84,7 @@ public class JsfView extends AbstractUrlBasedView {
Map requestMap = facesContext.getExternalContext().getRequestMap();
for (Map.Entry entry : model.entrySet()) {
// JSF does not insist that putAll is implemented, hence we use individual put calls
+ //noinspection UseBulkOperation
requestMap.put(entry.getKey(), entry.getValue());
}
}
diff --git a/spring-faces/src/main/java/org/springframework/faces/security/FaceletsAuthorizeTag.java b/spring-faces/src/main/java/org/springframework/faces/security/FaceletsAuthorizeTag.java
index 6bc3fb7d..d7f65a8f 100644
--- a/spring-faces/src/main/java/org/springframework/faces/security/FaceletsAuthorizeTag.java
+++ b/spring-faces/src/main/java/org/springframework/faces/security/FaceletsAuthorizeTag.java
@@ -15,19 +15,19 @@
*/
package org.springframework.faces.security;
-import javax.el.ValueExpression;
-import javax.faces.context.FacesContext;
-import javax.faces.view.facelets.FaceletContext;
-import javax.faces.view.facelets.TagAttribute;
-import javax.faces.view.facelets.TagHandler;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-
import org.springframework.security.taglibs.authz.AbstractAuthorizeTag;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
+import jakarta.el.ValueExpression;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.view.facelets.FaceletContext;
+import jakarta.faces.view.facelets.TagAttribute;
+import jakarta.faces.view.facelets.TagHandler;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+
/**
* A concrete implementation of {@link AbstractAuthorizeTag} for use with standard Facelets rendering technology.
*
@@ -131,7 +131,7 @@ public class FaceletsAuthorizeTag extends AbstractAuthorizeTag {
if (tagAttribute != null) {
if (evaluate) {
ValueExpression expression = tagAttribute.getValueExpression(faceletContext, String.class);
- value = (String) expression.getValue(faceletContext.getFacesContext().getELContext());
+ value = expression.getValue(faceletContext.getFacesContext().getELContext());
} else {
value = tagAttribute.getValue();
}
diff --git a/spring-faces/src/main/java/org/springframework/faces/security/FaceletsAuthorizeTagHandler.java b/spring-faces/src/main/java/org/springframework/faces/security/FaceletsAuthorizeTagHandler.java
index 9382db80..8a2ab5b6 100644
--- a/spring-faces/src/main/java/org/springframework/faces/security/FaceletsAuthorizeTagHandler.java
+++ b/spring-faces/src/main/java/org/springframework/faces/security/FaceletsAuthorizeTagHandler.java
@@ -17,11 +17,11 @@ package org.springframework.faces.security;
import java.io.IOException;
-import javax.faces.component.UIComponent;
-import javax.faces.view.facelets.FaceletContext;
-import javax.faces.view.facelets.TagAttribute;
-import javax.faces.view.facelets.TagConfig;
-import javax.faces.view.facelets.TagHandler;
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.view.facelets.FaceletContext;
+import jakarta.faces.view.facelets.TagAttribute;
+import jakarta.faces.view.facelets.TagConfig;
+import jakarta.faces.view.facelets.TagHandler;
import org.springframework.security.core.context.SecurityContextHolder;
diff --git a/spring-faces/src/main/java/org/springframework/faces/support/LifecycleWrapper.java b/spring-faces/src/main/java/org/springframework/faces/support/LifecycleWrapper.java
index 5c0ec9e8..09464cc6 100644
--- a/spring-faces/src/main/java/org/springframework/faces/support/LifecycleWrapper.java
+++ b/spring-faces/src/main/java/org/springframework/faces/support/LifecycleWrapper.java
@@ -15,11 +15,11 @@
*/
package org.springframework.faces.support;
-import javax.faces.FacesException;
-import javax.faces.FacesWrapper;
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseListener;
-import javax.faces.lifecycle.Lifecycle;
+import jakarta.faces.FacesException;
+import jakarta.faces.FacesWrapper;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.event.PhaseListener;
+import jakarta.faces.lifecycle.Lifecycle;
/**
* Provides a simple implementation of {@link Lifecycle} that can be subclassed by developers wishing to provide
diff --git a/spring-faces/src/main/java/org/springframework/faces/support/RequestLoggingPhaseListener.java b/spring-faces/src/main/java/org/springframework/faces/support/RequestLoggingPhaseListener.java
index c85b58e6..e0af8346 100644
--- a/spring-faces/src/main/java/org/springframework/faces/support/RequestLoggingPhaseListener.java
+++ b/spring-faces/src/main/java/org/springframework/faces/support/RequestLoggingPhaseListener.java
@@ -15,13 +15,13 @@
*/
package org.springframework.faces.support;
-import javax.faces.event.PhaseEvent;
-import javax.faces.event.PhaseId;
-import javax.faces.event.PhaseListener;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import jakarta.faces.event.PhaseEvent;
+import jakarta.faces.event.PhaseId;
+import jakarta.faces.event.PhaseListener;
+
/**
* {@link PhaseListener} that logs the execution of the individual phases of the JSF lifecycle. Useful during JSF
* application development in order to detect unreported JSF errors that cause the lifecycle to short-circuit. Turn
@@ -29,7 +29,6 @@ import org.apache.commons.logging.LogFactory;
*
* @author Jeremy Grelle
*/
-@SuppressWarnings("serial")
public class RequestLoggingPhaseListener implements PhaseListener {
private static final Log logger = LogFactory.getLog(RequestLoggingPhaseListener.class);
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FacesContextHelper.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FacesContextHelper.java
index 7ba1914f..b595c650 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FacesContextHelper.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FacesContextHelper.java
@@ -16,9 +16,9 @@
package org.springframework.faces.webflow;
-import javax.faces.context.FacesContext;
-import javax.faces.context.FacesContextFactory;
-import javax.faces.lifecycle.Lifecycle;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.context.FacesContextFactory;
+import jakarta.faces.lifecycle.Lifecycle;
/**
* Provides helper methods for getting a FacesContext that is suitable for use outside of Web Flow. Inside a running
@@ -44,7 +44,7 @@ public class FacesContextHelper {
* @see #release
*/
public FacesContext getFacesContext(Object context, Object request, Object response) {
- FacesContext facesContext = null;
+ FacesContext facesContext;
if (FacesContext.getCurrentInstance() != null) {
facesContext = FacesContext.getCurrentInstance();
} else {
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowActionListener.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowActionListener.java
index 37e68276..79f931ba 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowActionListener.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowActionListener.java
@@ -18,12 +18,12 @@ package org.springframework.faces.webflow;
import java.util.ArrayList;
import java.util.List;
-import javax.faces.application.NavigationHandler;
-import javax.faces.component.ActionSource2;
-import javax.faces.context.FacesContext;
-import javax.faces.event.AbortProcessingException;
-import javax.faces.event.ActionEvent;
-import javax.faces.event.ActionListener;
+import jakarta.faces.application.NavigationHandler;
+import jakarta.faces.component.ActionSource2;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.event.AbortProcessingException;
+import jakarta.faces.event.ActionEvent;
+import jakarta.faces.event.ActionListener;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -43,7 +43,6 @@ import org.springframework.webflow.validation.WebFlowMessageCodesResolver;
/**
* The default {@link ActionListener} implementation to be used with Web Flow.
- *
* This implementation bypasses the JSF {@link NavigationHandler} mechanism to instead let the event be handled directly
* by Web Flow.
*
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowApplication.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowApplication.java
index 874f4e6b..9d5b8b95 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowApplication.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowApplication.java
@@ -15,10 +15,10 @@
*/
package org.springframework.faces.webflow;
-import javax.faces.application.Application;
-import javax.faces.application.ApplicationWrapper;
-import javax.faces.application.StateManager;
-import javax.faces.application.ViewHandler;
+import jakarta.faces.application.Application;
+import jakarta.faces.application.ApplicationWrapper;
+import jakarta.faces.application.StateManager;
+import jakarta.faces.application.ViewHandler;
import org.springframework.util.Assert;
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowApplicationFactory.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowApplicationFactory.java
index 560aee9a..1785eb70 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowApplicationFactory.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowApplicationFactory.java
@@ -15,11 +15,11 @@
*/
package org.springframework.faces.webflow;
-import javax.faces.application.Application;
-import javax.faces.application.ApplicationFactory;
-
import org.springframework.util.Assert;
+import jakarta.faces.application.Application;
+import jakarta.faces.application.ApplicationFactory;
+
/**
* Custom {@link ApplicationFactory} that ensures the FlowApplication is the first {@link Application} in the chain,
* which in turn guarantees the install order for other JSF components.
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowELResolver.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowELResolver.java
index 01a9ea8b..37954459 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowELResolver.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowELResolver.java
@@ -15,8 +15,8 @@
*/
package org.springframework.faces.webflow;
-import javax.el.CompositeELResolver;
-import javax.el.ELResolver;
+import jakarta.el.CompositeELResolver;
+import jakarta.el.ELResolver;
import org.springframework.binding.expression.el.MapAdaptableELResolver;
import org.springframework.webflow.expression.el.FlowResourceELResolver;
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowExternalContext.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowExternalContext.java
index 9eb92629..e0939eb9 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowExternalContext.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowExternalContext.java
@@ -17,9 +17,9 @@ package org.springframework.faces.webflow;
import java.io.IOException;
-import javax.faces.context.ExternalContext;
-import javax.faces.context.ExternalContextWrapper;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.faces.context.ExternalContext;
+import jakarta.faces.context.ExternalContextWrapper;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowFacesContext.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowFacesContext.java
index 43f26dcc..21354691 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowFacesContext.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowFacesContext.java
@@ -29,14 +29,14 @@ import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import javax.el.ELContext;
-import javax.faces.application.FacesMessage;
-import javax.faces.context.ExternalContext;
-import javax.faces.context.FacesContext;
-import javax.faces.context.FacesContextWrapper;
-import javax.faces.context.PartialViewContext;
-import javax.faces.context.PartialViewContextFactory;
-import javax.faces.lifecycle.Lifecycle;
+import jakarta.el.ELContext;
+import jakarta.faces.application.FacesMessage;
+import jakarta.faces.context.ExternalContext;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.context.FacesContextWrapper;
+import jakarta.faces.context.PartialViewContext;
+import jakarta.faces.context.PartialViewContextFactory;
+import jakarta.faces.lifecycle.Lifecycle;
import org.springframework.binding.message.Message;
import org.springframework.binding.message.MessageResolver;
@@ -130,7 +130,7 @@ public class FlowFacesContext extends FacesContextWrapper {
public boolean getRenderResponse() {
Boolean renderResponse = this.context.getFlashScope().getBoolean(RENDER_RESPONSE_KEY);
- return (renderResponse == null ? false : renderResponse);
+ return (renderResponse != null && renderResponse);
}
public boolean getResponseComplete() {
@@ -170,7 +170,7 @@ public class FlowFacesContext extends FacesContextWrapper {
Set clientIds = new LinkedHashSet<>();
for (Message message : this.context.getMessageContext().getAllMessages()) {
Object source = message.getSource();
- if (source != null && source instanceof String) {
+ if (source instanceof String) {
clientIds.add((String) source);
} else if (message.getSource() instanceof FacesMessageSource) {
clientIds.add(((FacesMessageSource) source).getClientId());
@@ -293,9 +293,8 @@ public class FlowFacesContext extends FacesContextWrapper {
* uncommon for FacesMessages to be changed after they have been added to a FacesContext, for
* example, from a PhaseListener.
*
- * NOTE: Only {@link javax.faces.application.FacesMessage} instances are directly adapted, any subclasses will be
+ * NOTE: Only {@link jakarta.faces.application.FacesMessage} instances are directly adapted, any subclasses will be
* converted to the standard FacesMessage implementation. This is to protect against bugs such as SWF-1073.
- *
* For convenience this class also implements the {@link MessageResolver} interface.
*/
protected static class FlowFacesMessage extends Message implements MessageResolver {
@@ -310,8 +309,8 @@ public class FlowFacesContext extends FacesContextWrapper {
/**
* Use standard faces message as required to protect against bugs such as SWF-1073.
*
- * @param message {@link javax.faces.application.FacesMessage} or subclass.
- * @return {@link javax.faces.application.FacesMessage} instance
+ * @param message {@link jakarta.faces.application.FacesMessage} or subclass.
+ * @return {@link jakarta.faces.application.FacesMessage} instance
*/
private FacesMessage asStandardFacesMessageInstance(FacesMessage message) {
if (FacesMessage.class.equals(message.getClass())) {
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowFacesContextLifecycleListener.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowFacesContextLifecycleListener.java
index 20242689..79a30c42 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowFacesContextLifecycleListener.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowFacesContextLifecycleListener.java
@@ -15,7 +15,7 @@
*/
package org.springframework.faces.webflow;
-import javax.faces.context.FacesContext;
+import jakarta.faces.context.FacesContext;
import org.springframework.webflow.execution.FlowExecutionListener;
import org.springframework.webflow.execution.RequestContext;
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowLifecycle.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowLifecycle.java
index 51bbb4c1..c172149b 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowLifecycle.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowLifecycle.java
@@ -15,11 +15,11 @@
*/
package org.springframework.faces.webflow;
-import javax.faces.FacesException;
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseId;
-import javax.faces.lifecycle.Lifecycle;
-import javax.faces.lifecycle.LifecycleFactory;
+import jakarta.faces.FacesException;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.event.PhaseId;
+import jakarta.faces.lifecycle.Lifecycle;
+import jakarta.faces.lifecycle.LifecycleFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -74,10 +74,8 @@ public class FlowLifecycle extends LifecycleWrapper {
private boolean skipPhase(FacesContext context, PhaseId phaseId) {
if (context.getResponseComplete()) {
return true;
- } else if (context.getRenderResponse()) {
- return true;
} else {
- return false;
+ return context.getRenderResponse();
}
}
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowPartialViewContext.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowPartialViewContext.java
index a7d6f265..ba76140d 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowPartialViewContext.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowPartialViewContext.java
@@ -19,8 +19,8 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import javax.faces.context.PartialViewContext;
-import javax.faces.context.PartialViewContextWrapper;
+import jakarta.faces.context.PartialViewContext;
+import jakarta.faces.context.PartialViewContextWrapper;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowRenderKit.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowRenderKit.java
index f7d3df4e..74ad241e 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowRenderKit.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowRenderKit.java
@@ -15,9 +15,9 @@
*/
package org.springframework.faces.webflow;
-import javax.faces.render.RenderKit;
-import javax.faces.render.RenderKitWrapper;
-import javax.faces.render.ResponseStateManager;
+import jakarta.faces.render.RenderKit;
+import jakarta.faces.render.RenderKitWrapper;
+import jakarta.faces.render.ResponseStateManager;
/**
* A render kit implementation that ensures use of Web Flow's FlowViewResponseStateManager, which takes over reading and
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowResourceHandler.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowResourceHandler.java
index 75049f3c..67d436c7 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowResourceHandler.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowResourceHandler.java
@@ -17,17 +17,18 @@ package org.springframework.faces.webflow;
import java.io.IOException;
import java.net.URL;
-import javax.faces.FacesException;
-import javax.faces.application.ResourceHandler;
-import javax.faces.application.ResourceHandlerWrapper;
-import javax.faces.application.ViewResource;
-import javax.faces.context.FacesContext;
import org.springframework.context.ApplicationContext;
import org.springframework.core.io.Resource;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
+import jakarta.faces.FacesException;
+import jakarta.faces.application.ResourceHandler;
+import jakarta.faces.application.ResourceHandlerWrapper;
+import jakarta.faces.application.ViewResource;
+import jakarta.faces.context.FacesContext;
+
/**
* Resolves Facelets resources using Spring Resource paths such as "classpath:foo.xhtml".
*
This handler is auto-configured in the faces-config.xml bundled with the
diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowResourceResolver.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowResourceResolver.java
deleted file mode 100644
index 727070e2..00000000
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowResourceResolver.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright 2004-2012 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.faces.webflow;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.faces.FacesException;
-
-import org.springframework.context.ApplicationContext;
-import org.springframework.core.io.Resource;
-import org.springframework.util.ClassUtils;
-import org.springframework.webflow.execution.RequestContext;
-import org.springframework.webflow.execution.RequestContextHolder;
-
-/**
- * Resolves Facelets templates using Spring Resource paths such as "classpath:foo.xhtml".
- * Configure it via a context parameter in web.xml:
- *