You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Pedro Santos (JIRA)" <ji...@apache.org> on 2017/03/25 18:46:41 UTC

[jira] [Resolved] (WICKET-4201) IPageProvider and its implementations need to be improved

     [ https://issues.apache.org/jira/browse/WICKET-4201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pedro Santos resolved WICKET-4201.
----------------------------------
       Resolution: Fixed
    Fix Version/s: 8.0.0-M5

I saw Wicket 8.0.0-M5 is being voted, but I selected it as the fix version anyway just so we know that this ticket is fixed only for Wicket 8 branch. Will update the version when the next number got available.

> IPageProvider and its implementations need to be improved
> ---------------------------------------------------------
>
>                 Key: WICKET-4201
>                 URL: https://issues.apache.org/jira/browse/WICKET-4201
>             Project: Wicket
>          Issue Type: Task
>          Components: wicket
>    Affects Versions: 1.5.0, 1.5.1, 1.5.2
>            Reporter: Emond Papegaaij
>            Assignee: Pedro Santos
>             Fix For: 8.0.0-M5
>
>
> During the development op 1.5, IPageProvider and its implementations have become a bit of a mess. The interface is not clearly defined. One of the biggest problems is that several methods can throw exceptions and there is no way of knowing which method will throw which exception and when. It should always be clear what exceptions to expect. For example, getPage can throw a PageExpiredException, but getPageClass cannot, it should return null if no page class is set. Perhaps, it's even better to never throw exceptions at all. Also, the various introspection methods are not very well defined and make it almost impossible to come up with an alternative implementation of the interface (which, IMHO is a sign of a broken API).
> Changing this interface is not an option for 1.5, but looking at the number of subtle bugs that came from this part of the code, it should really be considered for wicket.next.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)