Beginning support for "legacy" migration, allowing pure JSF requests to be used alongside Web Flow requests.

This commit is contained in:
Jeremy Grelle
2007-10-30 00:08:34 +00:00
parent a49c5c7ea0
commit 978a83baf7
6 changed files with 34 additions and 10 deletions

View File

@@ -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;

View File

@@ -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();
}

View File

@@ -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;
}

View File

@@ -57,6 +57,9 @@ public class FlowRenderKitWrapper extends RenderKit {
}
public ResponseStateManager getResponseStateManager() {
if (!JsfFlowUtils.isFlowRequest()) {
return delegate.getResponseStateManager();
}
return manager;
}

View File

@@ -65,4 +65,11 @@ class JsfFlowUtils {
}
}
}
public static boolean isFlowRequest() {
if (RequestContextHolder.getRequestContext() == null) {
return false;
}
return true;
}
}