[jboss-cvs] jboss-seam/src/main/org/jboss/seam/pages ...
Gavin King
gavin.king at jboss.com
Thu Mar 8 19:17:51 EST 2007
User: gavin
Date: 07/03/08 19:17:51
Modified: src/main/org/jboss/seam/pages
ConversationIdParameter.java
ELConversationIdParameter.java
SyntheticConversationIdParameter.java
Log:
fix some bugs with natural conversation ids
Revision Changes Path
1.3 +4 -2 jboss-seam/src/main/org/jboss/seam/pages/ConversationIdParameter.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ConversationIdParameter.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/pages/ConversationIdParameter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- ConversationIdParameter.java 8 Mar 2007 07:34:15 -0000 1.2
+++ ConversationIdParameter.java 9 Mar 2007 00:17:51 -0000 1.3
@@ -1,11 +1,13 @@
package org.jboss.seam.pages;
+import java.util.Map;
+
public interface ConversationIdParameter
{
String getName();
String getParameterName();
String getParameterValue();
- String getInitialConversationId();
- String getRequestConversationId();
+ String getInitialConversationId(Map parameters);
+ String getRequestConversationId(Map parameters);
}
1.3 +19 -22 jboss-seam/src/main/org/jboss/seam/pages/ELConversationIdParameter.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ELConversationIdParameter.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/pages/ELConversationIdParameter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- ELConversationIdParameter.java 8 Mar 2007 07:34:15 -0000 1.2
+++ ELConversationIdParameter.java 9 Mar 2007 00:17:51 -0000 1.3
@@ -1,10 +1,11 @@
package org.jboss.seam.pages;
-import javax.faces.context.FacesContext;
+import java.util.Map;
import org.jboss.seam.core.Expressions;
import org.jboss.seam.core.Manager;
import org.jboss.seam.core.Expressions.ValueBinding;
+import org.jboss.seam.util.Id;
/**
* Represents a conversation parameter that can be used to create a "natural"
@@ -15,13 +16,13 @@
public class ELConversationIdParameter implements ConversationIdParameter
{
private String name;
- private String paramName;
+ private String parameterName;
private ValueBinding vb;
public ELConversationIdParameter(String name, String paramName, String expression)
{
this.name = name;
- this.paramName = paramName;
+ this.parameterName = paramName;
this.vb = expression != null ? Expressions.instance().createValueBinding(expression) : null;
}
@@ -33,31 +34,26 @@
public String getParameterName()
{
- return paramName;
+ return parameterName;
}
- public String getInitialConversationId()
+ public String getInitialConversationId(Map parameters)
{
- FacesContext ctx = FacesContext.getCurrentInstance();
-
- String value = (String) ctx.getExternalContext().getRequestParameterMap().get(paramName);
+ String id = getRequestConversationId(parameters);
+ return id==null ? Id.nextId() : id;
+ }
- if (value == null)
+ public String getRequestConversationId(Map parameters)
+ {
+ String value = Manager.getRequestParameterValue(parameters, parameterName);
+ if (value==null)
{
return null;
-
-// TODO - redirect to no-conversation-view-id ?
-// return Id.nextId();
}
else
{
- return String.format("%s:%s", name, value);
- }
+ return name + ':' + value;
}
-
- public String getRequestConversationId()
- {
- return getInitialConversationId();
}
public String getParameterValue()
@@ -65,9 +61,10 @@
Object value = vb.getValue();
if (value != null)
{
+ //TODO: use a JSF converter!
return vb.getValue().toString();
}
- else
+ /*else
{
String conversationId = Manager.instance().getCurrentConversationId();
if (conversationId != null)
@@ -81,12 +78,12 @@
{
return conversationId;
}
- }
+ }*/
else
{
return null;
}
- }
+ //}
}
}
1.3 +4 -8 jboss-seam/src/main/org/jboss/seam/pages/SyntheticConversationIdParameter.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SyntheticConversationIdParameter.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/pages/SyntheticConversationIdParameter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- SyntheticConversationIdParameter.java 8 Mar 2007 07:34:15 -0000 1.2
+++ SyntheticConversationIdParameter.java 9 Mar 2007 00:17:51 -0000 1.3
@@ -1,6 +1,6 @@
package org.jboss.seam.pages;
-import javax.faces.context.FacesContext;
+import java.util.Map;
import org.jboss.seam.core.Manager;
import org.jboss.seam.util.Id;
@@ -22,17 +22,13 @@
return Manager.instance().getCurrentConversationId();
}
- public String getInitialConversationId()
+ public String getInitialConversationId(Map parameters)
{
return Id.nextId();
}
- public String getRequestConversationId()
+ public String getRequestConversationId(Map parameters)
{
- FacesContext ctx = FacesContext.getCurrentInstance();
-
- String value = (String) ctx.getExternalContext().getRequestParameterMap().get(getParameterName());
-
- return value != null ? value : Manager.instance().getCurrentConversationId();
+ return Manager.getRequestParameterValue( parameters, getParameterName() );
}
}
More information about the jboss-cvs-commits
mailing list