Beginning support for "legacy" migration, allowing pure JSF requests to be used alongside Web Flow requests.
This commit is contained in:
@@ -34,8 +34,18 @@ import org.springframework.util.StringUtils;
|
||||
*/
|
||||
public class FlowActionListener implements ActionListener {
|
||||
|
||||
private ActionListener delegate;
|
||||
|
||||
public FlowActionListener(ActionListener delegate) {
|
||||
this.delegate = delegate;
|
||||
}
|
||||
|
||||
public void processAction(ActionEvent actionEvent) throws AbortProcessingException {
|
||||
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
delegate.processAction(actionEvent);
|
||||
}
|
||||
|
||||
FacesContext context = FacesContext.getCurrentInstance();
|
||||
ActionSource source = (ActionSource) actionEvent.getSource();
|
||||
String result = null;
|
||||
|
||||
@@ -40,6 +40,9 @@ public class FlowExecutionViewHandler extends ViewHandler {
|
||||
}
|
||||
|
||||
public String getActionURL(FacesContext context, String viewId) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
return delegate.getActionURL(context, viewId);
|
||||
}
|
||||
return RequestContextHolder.getRequestContext().getFlowExecutionUrl();
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ public class FlowFacesContext extends FacesContext {
|
||||
* Translates a FacesMessage to an SWF Message and adds it to the current MessageContext
|
||||
*/
|
||||
public void addMessage(String clientId, FacesMessage message) {
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
delegate.addMessage(clientId, message);
|
||||
return;
|
||||
}
|
||||
@@ -96,7 +96,7 @@ public class FlowFacesContext extends FacesContext {
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public Iterator<String> getClientIdsWithMessages() {
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
return delegate.getClientIdsWithMessages();
|
||||
}
|
||||
return new ClientIdIterator();
|
||||
@@ -108,7 +108,7 @@ public class FlowFacesContext extends FacesContext {
|
||||
*/
|
||||
public FacesMessage.Severity getMaximumSeverity() {
|
||||
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
return delegate.getMaximumSeverity();
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ public class FlowFacesContext extends FacesContext {
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public Iterator<FacesMessage> getMessages() {
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
return delegate.getMessages();
|
||||
}
|
||||
return new FacesMessageIterator();
|
||||
@@ -146,14 +146,14 @@ public class FlowFacesContext extends FacesContext {
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public Iterator<FacesMessage> getMessages(String clientId) {
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
return delegate.getMessages(clientId);
|
||||
}
|
||||
return new FacesMessageIterator(clientId);
|
||||
}
|
||||
|
||||
public boolean getRenderResponse() {
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
return delegate.getRenderResponse();
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ public class FlowFacesContext extends FacesContext {
|
||||
|
||||
public boolean getResponseComplete() {
|
||||
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
return delegate.getResponseComplete();
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ public class FlowFacesContext extends FacesContext {
|
||||
}
|
||||
|
||||
public void renderResponse() {
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
delegate.renderResponse();
|
||||
return;
|
||||
}
|
||||
@@ -188,7 +188,7 @@ public class FlowFacesContext extends FacesContext {
|
||||
}
|
||||
|
||||
public void responseComplete() {
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
delegate.responseComplete();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -57,6 +57,9 @@ public class FlowRenderKitWrapper extends RenderKit {
|
||||
}
|
||||
|
||||
public ResponseStateManager getResponseStateManager() {
|
||||
if (!JsfFlowUtils.isFlowRequest()) {
|
||||
return delegate.getResponseStateManager();
|
||||
}
|
||||
return manager;
|
||||
}
|
||||
|
||||
|
||||
@@ -65,4 +65,11 @@ class JsfFlowUtils {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isFlowRequest() {
|
||||
if (RequestContextHolder.getRequestContext() == null) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user