jkovacs / lastfm-java

Java bindings for the Last.fm Web Services
BSD 2-Clause "Simplified" License
74 stars 34 forks source link

Fix bug when using default get limit. #1

Closed pfdevmuller closed 10 years ago

pfdevmuller commented 10 years ago

Bug: The existing code passed 0 as the default page size limit when calling getArtists, getAlbums or getTracks. However, this resulted in a response from last.fm that contained the right data, but had empty strings as the the page, perPage and totalPages attributes. These attributes then failed to parse in ResponseBuilder, resulting in a NumberFormatException.

To Reproduce: Call Library.getArtists(String user, String apiKey) on a library with less than 50 artists.

Fix: To fix this I changed the library get methods (Library.getArtists, Library.getAlbums and Library.getTracks) to omit the limit parameter if limit <= 0. This results in last.fm using its default limit, which is currently 50, and the response has the appropriate page, perPage and totalPage attributes set, eliminating the parsing issue in ResponseBuilder.