[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