[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...
Gavin King
gavin.king at jboss.com
Tue Jul 25 00:40:43 EDT 2006
User: gavin
Date: 06/07/25 00:40:43
Modified: src/main/org/jboss/seam/core Manager.java Redirect.java
RenderParameters.java
Log:
improvements to parameter handling and EL configuration
Revision Changes Path
1.81 +24 -7 jboss-seam/src/main/org/jboss/seam/core/Manager.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Manager.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Manager.java,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -b -r1.80 -r1.81
--- Manager.java 12 Jul 2006 23:02:32 -0000 1.80
+++ Manager.java 25 Jul 2006 04:40:43 -0000 1.81
@@ -44,7 +44,7 @@
*
* @author Gavin King
* @author <a href="mailto:theute at jboss.org">Thomas Heute</a>
- * @version $Revision: 1.80 $
+ * @version $Revision: 1.81 $
*/
@Scope(ScopeType.EVENT)
@Name("org.jboss.seam.core.manager")
@@ -863,10 +863,25 @@
StringBuilder builder = new StringBuilder(url);
for ( Map.Entry<String, Object> param: parameters.entrySet() )
{
+ Object parameterValue = param.getValue();
+ String parameterName = param.getKey();
+ if (parameterValue instanceof Iterable)
+ {
+ for ( Object value: (Iterable) parameterValue )
+ {
builder.append('&')
- .append( param.getKey() )
+ .append(parameterName)
.append('=')
- .append( param.getValue() );
+ .append(value);
+ }
+ }
+ else
+ {
+ builder.append('&')
+ .append(parameterName)
+ .append('=')
+ .append(parameterValue);
+ }
}
if ( url.indexOf('?')<0 )
{
@@ -983,11 +998,13 @@
}
}
+ @Deprecated
public boolean isNonFacesRequest()
{
return nonFacesRequest;
}
+ @Deprecated
public void setNonFacesRequest(boolean nonFacesRequest)
{
this.nonFacesRequest = nonFacesRequest;
1.5 +3 -1 jboss-seam/src/main/org/jboss/seam/core/Redirect.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Redirect.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Redirect.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- Redirect.java 12 Jul 2006 19:59:58 -0000 1.4
+++ Redirect.java 25 Jul 2006 04:40:43 -0000 1.5
@@ -56,7 +56,9 @@
}
/**
- * Set a request parameter value
+ * Set a request parameter value (to set a multi-valued
+ * request parameter, pass an array or collection as
+ * the value)
*/
public void setParameter(String name, Object value)
{
1.2 +34 -7 jboss-seam/src/main/org/jboss/seam/core/RenderParameters.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: RenderParameters.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/RenderParameters.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- RenderParameters.java 28 Jun 2006 18:35:21 -0000 1.1
+++ RenderParameters.java 25 Jul 2006 04:40:43 -0000 1.2
@@ -1,7 +1,9 @@
package org.jboss.seam.core;
+import java.util.AbstractMap;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
import javax.faces.context.FacesContext;
@@ -20,14 +22,39 @@
@Unwrap
public Map<String, Object> getParameters()
{
- if ( Manager.instance().isNonFacesRequest() )
+ return new AbstractMap<String, Object>()
{
- return FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
+
+ private Map requestParameters = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
+
+ @Override
+ public Set<Entry<String, Object>> entrySet()
+ {
+ return parameters.entrySet();
+ }
+
+ @Override
+ public Object get(Object key)
+ {
+ if ( parameters.containsKey(key) )
+ {
+ return parameters.get(key);
}
else
{
- return parameters;
+ return requestParameters.get(key);
+ }
+ }
+
+ @Override
+ public Object put(String key, Object value)
+ {
+ Object old = get(key);
+ parameters.put(key, value);
+ return old;
}
+
+ };
}
public static Map<String, Object> instance()
More information about the jboss-cvs-commits
mailing list