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

Shane Bryzak sbryzak at redhat.com
Thu Feb 22 10:12:22 EST 2007


  User: sbryzak2
  Date: 07/02/22 10:12:22

  Modified:    src/main/org/jboss/seam/core  Pages.java
  Log:
  fix scheme check
  
  Revision  Changes    Path
  1.92      +22 -8     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.91
  retrieving revision 1.92
  diff -u -b -r1.91 -r1.92
  --- Pages.java	22 Feb 2007 14:49:32 -0000	1.91
  +++ Pages.java	22 Feb 2007 15:12:22 -0000	1.92
  @@ -238,15 +238,18 @@
      {
         boolean result = false;
         String viewId = facesContext.getViewRoot().getViewId();
  -      String scheme = getRequestScheme(facesContext);
  -      for ( Page page: getPageStack(viewId) )
  -      {         
  -         if ( scheme != null && !scheme.equals(page.getScheme()) )
  +      String requestScheme = getRequestScheme(facesContext);
  +      String scheme = getScheme(viewId);
  +
  +      if ( requestScheme != null && scheme != null && !requestScheme.equals(scheme) )
            {            
  -            Manager.instance().redirect( viewId, page.getScheme() );              
  +         Manager.instance().redirect( viewId, scheme );              
               return result;
            }         
  -         else if ( page.isConversationRequired() && !Manager.instance().isLongRunningConversation() )
  +      
  +      for ( Page page: getPageStack(viewId))
  +      {         
  +         if ( page.isConversationRequired() && !Manager.instance().isLongRunningConversation() )
            {
               redirectToNoConversationView();
               return result;
  @@ -322,6 +325,17 @@
         }
      }
   
  +   public String getScheme(String viewId)
  +   {
  +      List<Page> stack = getPageStack(viewId);
  +      for ( int i = stack.size() - 1; i >= 0; i-- )
  +      {
  +         Page page = stack.get(i);
  +         if (page.getScheme() != null) return page.getScheme();
  +      }
  +      return null;
  +   }   
  +
      protected void noConversation()
      {
         Events.instance().raiseEvent("org.jboss.seam.noConversation");
  
  
  



More information about the jboss-cvs-commits mailing list