You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by st...@apache.org on 2010/08/11 19:33:45 UTC
svn commit: r984486 -
/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultWindowContextManager.java
Author: struberg
Date: Wed Aug 11 17:33:44 2010
New Revision: 984486
URL: http://svn.apache.org/viewvc?rev=984486&view=rev
Log:
EXTCDI-42 add request parameters to redirect.
This is needed to pass over f:viewParams
Modified:
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultWindowContextManager.java
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultWindowContextManager.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultWindowContextManager.java?rev=984486&r1=984485&r2=984486&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultWindowContextManager.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/DefaultWindowContextManager.java Wed Aug 11 17:33:44 2010
@@ -478,6 +478,29 @@ public class DefaultWindowContextManager
String targetURL = facesContext.getApplication()
.getViewHandler().getActionURL(facesContext, facesContext.getViewRoot().getViewId());
+
+ char delimiter = '?';
+ if (targetURL.contains("?"))
+ {
+ delimiter = '&';
+ }
+
+ // add any given RequestParameters other than the windowId.
+ // this is e.g. needed for f:viewParam handling
+ Map<String, String> requestParms = facesContext.getExternalContext().getRequestParameterMap();
+ for(Map.Entry<String, String> requestParam : requestParms.entrySet())
+ {
+ String key = requestParam.getKey();
+ if (key.equals(WINDOW_CONTEXT_ID_PARAMETER_KEY))
+ {
+ continue;
+ }
+
+ targetURL += delimiter + key + "=" + requestParam.getValue();
+ delimiter = '&';
+ }
+
+
this.windowHandler.sendRedirect(FacesContext.getCurrentInstance().getExternalContext(), targetURL);
}
catch (IOException e)