[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...

Gavin King gavin.king at jboss.com
Thu Feb 22 10:46:56 EST 2007


  User: gavin   
  Date: 07/02/22 10:46:56

  Modified:    src/main/org/jboss/seam/core   Manager.java Pages.java
  Log:
  always use the scheme when redirecting
  
  Revision  Changes    Path
  1.146     +18 -22    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.145
  retrieving revision 1.146
  diff -u -b -r1.145 -r1.146
  --- Manager.java	22 Feb 2007 14:37:46 -0000	1.145
  +++ Manager.java	22 Feb 2007 15:46:56 -0000	1.146
  @@ -45,7 +45,7 @@
    *
    * @author Gavin King
    * @author <a href="mailto:theute at jboss.org">Thomas Heute</a>
  - * @version $Revision: 1.145 $
  + * @version $Revision: 1.146 $
    */
   @Scope(ScopeType.EVENT)
   @Name("org.jboss.seam.core.manager")
  @@ -866,12 +866,7 @@
       */
      public void redirect(String viewId)
      {
  -      redirect(viewId, null, true, null);
  -   }
  -   
  -   public void redirect(String viewId, String scheme)
  -   {
  -      redirect(viewId, null, true, scheme);
  +      redirect(viewId, null, true);
      }   
      
      public void interpolateAndRedirect(String url)
  @@ -958,12 +953,6 @@
      public void redirect(String viewId, Map<String, Object> parameters, 
               boolean includeConversationId)
      {
  -      redirect(viewId, parameters, includeConversationId, null);
  -   }
  -   
  -   public void redirect(String viewId, Map<String, Object> parameters, 
  -            boolean includeConversationId, String scheme)
  -   {
         /*if ( Lifecycle.getPhaseId()==PhaseId.RENDER_RESPONSE )
         {
            throw new IllegalStateException("attempted to redirect during RENDER_RESPONSE phase");
  @@ -979,15 +968,7 @@
            url = encodeConversationId(url);
            beforeRedirect();
         }
  -      if (scheme != null)
  -      {
  -         URL u = getRequestURL(context);         
  -         try
  -         {
  -            url = new URL(scheme, u.getHost(), u.getPort(), url).toString();
  -         }
  -         catch (MalformedURLException ex) {}
  -      }            
  +      url = encodeScheme(viewId, context, url);            
         if ( log.isDebugEnabled() )
         {
            log.debug("redirecting to: " + url);
  @@ -1009,6 +990,21 @@
         context.responseComplete(); //work around MyFaces bug in 1.1.1
      }
      
  +   private String encodeScheme(String viewId, FacesContext context, String url)
  +   {
  +      String scheme = Pages.instance().getScheme(viewId);
  +      if (scheme != null)
  +      {
  +         URL u = getRequestURL(context);         
  +         try
  +         {
  +            url = new URL(scheme, u.getHost(), u.getPort(), url).toString();
  +         }
  +         catch (MalformedURLException ex) {}
  +      }
  +      return url;
  +   }
  +   
      private URL getRequestURL(FacesContext facesContext)
      {
         Object req = facesContext.getExternalContext().getRequest(); 
  
  
  
  1.93      +5 -6      jboss-seam/src/main/org/jboss/seam/core/Pages.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Pages.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Pages.java,v
  retrieving revision 1.92
  retrieving revision 1.93
  diff -u -b -r1.92 -r1.93
  --- Pages.java	22 Feb 2007 15:12:22 -0000	1.92
  +++ Pages.java	22 Feb 2007 15:46:56 -0000	1.93
  @@ -238,12 +238,11 @@
      {
         boolean result = false;
         String viewId = facesContext.getViewRoot().getViewId();
  -      String requestScheme = getRequestScheme(facesContext);
  -      String scheme = getScheme(viewId);
   
  -      if ( requestScheme != null && scheme != null && !requestScheme.equals(scheme) )
  +      String requestScheme = getRequestScheme(facesContext);
  +      if ( requestScheme!=null && !requestScheme.equals( getScheme(viewId) ) )
         {            
  -         Manager.instance().redirect( viewId, scheme );              
  +         Manager.instance().redirect(viewId);              
            return result;
         }       
         
  
  
  



More information about the jboss-cvs-commits mailing list