[jbossseam-issues] [JBoss JIRA] Closed: (JBSEAM-4077) Refactor/Redesign org.jboss.seam.navigation.Pages

Pete Muir (JIRA) jira-events at lists.jboss.org
Sat Apr 4 07:40:22 EDT 2009


     [ https://jira.jboss.org/jira/browse/JBSEAM-4077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pete Muir closed JBSEAM-4077.
-----------------------------

    Fix Version/s: 2.1.2.CR1
       Resolution: Done
         Assignee: Pete Muir


Thanks, I applied the patch :-)

> Refactor/Redesign org.jboss.seam.navigation.Pages
> -------------------------------------------------
>
>                 Key: JBSEAM-4077
>                 URL: https://jira.jboss.org/jira/browse/JBSEAM-4077
>             Project: Seam
>          Issue Type: Feature Request
>          Components: Core
>    Affects Versions: 2.1.1.GA
>            Reporter: Drew Kutchar
>            Assignee: Pete Muir
>             Fix For: 2.1.2.CR1
>
>         Attachments: JBSEAM-4077.patch
>
>
> Currently org.jboss.seam.navigation.Pages is a major pain point since some of the methods are marked private and some are static (don't know why).
> For example, selectDataModelRow() is private and it's got this line "if ( index<dataModel.getRowCount() )" in it which I don't think is really necessary. This caused a lot of pain for us when we were trying to integrate it with RichFaces ExtendedDataModel and DataScroller. Basically when you're getting ranges from the database, the RowCount would query the database. So we had to avoid using @DataModel and @DataModelSelection completely. I know I can override installing the Pages component, but then I have to copy/paste pretty much everything from Pages to our CustomPages just to change a line, talk about anti-DRY. I can give you more details on this if you want.
> In addition, the other not so cool method is "public static String getRequestScheme(FacesContext facesContext)" which determines if a request is secure by looking at the URL. There are scenarios that you would want to override this method. Consider the case when you have an SSL accelerator. The accelerator will terminate the SSL connection and create a new HTTP connection to the app server. Now you have the option to pass an HTTP header when the accelerator decrypts HTTPS packets so you're app server knows that the request was originally secure (so no need to redirect, or anything).
> This class has not been designed that well for extension and I think it can be improved.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list