[jboss-cvs] jboss-seam/src/ui/org/jboss/seam/ui ...

Gavin King gavin.king at jboss.com
Tue Sep 26 23:53:50 EDT 2006


  User: gavin   
  Date: 06/09/26 23:53:50

  Modified:    src/ui/org/jboss/seam/ui  HtmlLink.java
  Log:
  stateful seam interceptors
  page parameters
  crud framework prototype
  bugfixes to PC passivation stuff
  
  Revision  Changes    Path
  1.12      +24 -2     jboss-seam/src/ui/org/jboss/seam/ui/HtmlLink.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: HtmlLink.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/HtmlLink.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -r1.11 -r1.12
  --- HtmlLink.java	17 Jul 2006 20:09:44 -0000	1.11
  +++ HtmlLink.java	27 Sep 2006 03:53:50 -0000	1.12
  @@ -3,6 +3,9 @@
   import java.io.IOException;
   import java.io.UnsupportedEncodingException;
   import java.net.URLEncoder;
  +import java.util.HashSet;
  +import java.util.Map;
  +import java.util.Set;
   
   import javax.faces.component.UIComponent;
   import javax.faces.component.UIData;
  @@ -14,6 +17,7 @@
   import javax.faces.model.DataModel;
   
   import org.jboss.seam.core.Manager;
  +import org.jboss.seam.core.Pages;
   
   public class HtmlLink extends HtmlOutputLink
   {
  @@ -89,13 +93,31 @@
         String viewId = view==null ? context.getViewRoot().getViewId() : view;
         String url = context.getApplication().getViewHandler().getActionURL(context, viewId);
         String encodedUrl = context.getExternalContext().encodeActionURL(url);
  +      
         String characterEncoding = context.getResponseWriter().getCharacterEncoding();
         boolean first = true;
  +      Set<String> usedParameters = new HashSet<String>();
  +      
         for (Object child: getChildren())
         {
            if (child instanceof UIParameter)
            {
  -            encodedUrl += getParameterString(characterEncoding, (UIParameter) child, first);
  +            UIParameter uip = (UIParameter) child;
  +            encodedUrl += getParameterString(characterEncoding, uip, first);
  +            first = false;
  +            usedParameters.add( uip.getName() );
  +         }
  +      }
  +      
  +      if (view!=null)
  +      {
  +         Map<String, Object> pageParameters = Pages.instance().getParameters(view, usedParameters);
  +         for ( Map.Entry<String, Object> me: pageParameters.entrySet() )
  +         {
  +            UIParameter uip = new UIParameter();
  +            uip.setName( me.getKey() );
  +            uip.setValue( me.getValue() );
  +            encodedUrl += getParameterString(characterEncoding, uip, first);
               first = false;
            }
         }
  
  
  



More information about the jboss-cvs-commits mailing list