You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Jesse Long (JIRA)" <ji...@apache.org> on 2012/05/07 10:44:54 UTC

[jira] [Created] (WICKET-4535) Inconsistent use of generics in sorting APIs

Jesse Long created WICKET-4535:
----------------------------------

             Summary: Inconsistent use of generics in sorting APIs
                 Key: WICKET-4535
                 URL: https://issues.apache.org/jira/browse/WICKET-4535
             Project: Wicket
          Issue Type: Bug
          Components: wicket-extensions
    Affects Versions: 6.0.0-beta1
            Reporter: Jesse Long
            Priority: Minor


The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.

Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Long updated WICKET-4535:
-------------------------------

    Attachment: myproject.zip

The problem is not yet solved. OrderByLink still makes assumptions about ISortState<String>.

Please see attached quickstart. This is a simple inplementation of ISortableDataProvider using integers to sort arrays of strings by index. Throws cast exception every time.
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-beta2
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch, myproject.zip
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Martin Grigorov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Grigorov reassigned WICKET-4535:
---------------------------------------

    Assignee: Martin Grigorov
    
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-RC1
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Long updated WICKET-4535:
-------------------------------

    Attachment: WICKET-4535-5.patch

WICKET-4535-5.patch

This fixes my issue for 6.0.0-beta2. Also included some javadoc fixes.

Also added version for archetype extension in quickstart pom. I cant build wicket without that... maven 3.0.3
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-beta2
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch, WICKET-4535-5.patch, myproject.zip
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Long updated WICKET-4535:
-------------------------------

    Attachment: WICKET-4535-4.patch

Apparently git diff works a whole lot better than git status for generating patches :-)
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Priority: Minor
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Martin Grigorov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Grigorov resolved WICKET-4535.
-------------------------------------

    Resolution: Fixed
    
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-RC1
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Long updated WICKET-4535:
-------------------------------

    Attachment:     (was: threadContext.patch)
    
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-beta2
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Reopened] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Martin Grigorov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Grigorov reopened WICKET-4535:
-------------------------------------

    
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-beta2
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch, myproject.zip
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Long updated WICKET-4535:
-------------------------------

    Comment: was deleted

(was: threadContext.patch against 6.0.0-beta2)
    
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-beta2
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Long updated WICKET-4535:
-------------------------------

    Attachment: WICKET-4535-2.patch

WICKET-4535-2.patch

New patch, may have some improvements on the first patch.

Also contains changes to SortableDataProvider and friends to take type parameter for sort property. This requires changes to DataTable TableTree etc, which I have implemented (Adding type parameter for sort property). Also touched IColumn.

I have left the DefaultDataTable, and the tree equivalent as having the sort property type of String (default implementation does not have so many API changes and type params).

I have updated wicket-devutils and wicket-examples for the changes.

I have tried to add @Override to all methods needing it in all files I have touched. (That's why there are so many changes just adding @Override).

In wicket-examples, I added generics where they were missing for that parts of the code I touched, and the classes those parts used.

I removed Removed SortableTreeProvider#setSortState() see https://issues.apache.org/jira/browse/WICKET-3580 basically, it does not make sense to modify the sort state itself, because the data/tree provider is coded to use just one type of ISortState it knows about. In fact, that implementation failed is the ISortState was not SingleSortState, and SingleSortState is mutable, so there is no need to set it.

This is obviously not a small patch, and it introduces a lot of API changes. I'm sure a lot of people will complain about the introduction of second type parameters for many of the types. That's why I left the DefaultDataTable etc as DataTable<T, String>.

I dont think we can go middle road on this one. We must either implement the generics correctly (as I hope I have done with this patch), or remove the type parameter from ISortState, and just use String. 

ISortState is either parameterizable, or it isn't. We must make that decision. If it is to be parameterizable, then I think this patch is needed. If not, then we must remove the half implemented parameterization for ISortState and all its uses.
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Priority: Minor
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Martin Grigorov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13398318#comment-13398318 ] 

Martin Grigorov commented on WICKET-4535:
-----------------------------------------

The CssProvider deals with the value of the CSS class, so it could be only a String, I think.
I'll try your quickstart to see why it fails with ClassCastException.
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-beta2
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch, WICKET-4535-5.patch, myproject.zip
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Long updated WICKET-4535:
-------------------------------

    Attachment: WICKET-4535-1.patch

WICKET-4535-1.patch

Initial work on adding generics for the Sort APIs. I have made all sort fields must extends Serializable, which makes sense to me.

I have made ISortableDataProvider and ISortableTreeProvider implement ISortableStateLocator<String> (ie. String type sort properties by default). We must introduce a new type parameter to these classes to allow arbitrary sort fields. I would recommend it.

I have not fxes HeadersToolbar and AjaxFallbackHeadersToolbar, but changing these requires IColumn to change as well, allowing IColumn to return the generic sort property type in getSortProperty(). I would actually recommend these changes, but it should probably be debated first.
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Priority: Minor
>         Attachments: WICKET-4535-1.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Martin Grigorov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Grigorov resolved WICKET-4535.
-------------------------------------

    Resolution: Fixed

Patch WICKET-4535-5.patch is applied. Thanks!
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-beta2
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch, WICKET-4535-5.patch, myproject.zip
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Igor Vaynberg (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Vaynberg updated WICKET-4535:
----------------------------------

    Fix Version/s: 6.0.0-RC1
    
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Priority: Minor
>             Fix For: 6.0.0-RC1
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Long updated WICKET-4535:
-------------------------------

    Attachment: threadContext.patch

threadContext.patch against 6.0.0-beta2
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 6.0.0-beta2
>
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch, WICKET-4535-4.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Long updated WICKET-4535:
-------------------------------

    Attachment: WICKET-4535-3.patch

Smaller patch just removing the type parameters to ISortState and friends. This is probably the easiest and most sensible way for wicket 6.
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Priority: Minor
>         Attachments: WICKET-4535-1.patch, WICKET-4535-2.patch, WICKET-4535-3.patch
>
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (WICKET-4535) Inconsistent use of generics in sorting APIs

Posted by "Jesse Long (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269461#comment-13269461 ] 

Jesse Long commented on WICKET-4535:
------------------------------------

Basically, it all boils down to ISortState being generic. So many things make assumptions about ISortState being ISortState<String>
                
> Inconsistent use of generics in sorting APIs
> --------------------------------------------
>
>                 Key: WICKET-4535
>                 URL: https://issues.apache.org/jira/browse/WICKET-4535
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 6.0.0-beta1
>            Reporter: Jesse Long
>            Priority: Minor
>
> The Sort APIs use very generics inconsistently. Classes like SortableDataProvider, ISortState, SortParam etc do not all uniformly cater for sort properties other than string. There is a lot of unchecked casting, which is not really required, if generics were used across the board.
> Fixing this will probably cause API changes for 6.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira