diff --git a/src/main/java/sarsoo/fmframework/fx/controller/TopAlbumController.java b/src/main/java/sarsoo/fmframework/fx/controller/TopAlbumController.java index 0ae678c..e6b79e4 100644 --- a/src/main/java/sarsoo/fmframework/fx/controller/TopAlbumController.java +++ b/src/main/java/sarsoo/fmframework/fx/controller/TopAlbumController.java @@ -67,8 +67,8 @@ public class TopAlbumController { for (int i = 1; i < 16; i++) { dropDownLimit.getItems().add(i); } - - for (int i = 20; i < 110; i+=10) { + + for (int i = 20; i < 110; i += 10) { dropDownLimit.getItems().add(i); } @@ -169,23 +169,26 @@ public class TopAlbumController { Album album = (Album) obj; - GetFXImageService service = new GetFXImageService(album.getImageURL().toString(), counter); + if (album.getImageURL() != null) { - service.setOnSucceeded(new EventHandler() { + GetFXImageService service = new GetFXImageService(album.getImageURL(), counter); - @Override - public void handle(WorkerStateEvent t) { + service.setOnSucceeded(new EventHandler() { - TiledImage image = (TiledImage) t.getSource().getValue(); - - images.add(image); - - refreshImages(); - } - }); + @Override + public void handle(WorkerStateEvent t) { - service.start(); - counter++; + TiledImage image = (TiledImage) t.getSource().getValue(); + + images.add(image); + + refreshImages(); + } + }); + + service.start(); + counter++; + } } } } @@ -196,17 +199,17 @@ public class TopAlbumController { ObservableList list = tilePane.getChildren(); list.clear(); - + Collections.sort(images, new Comparator() { @Override public int compare(TiledImage arg0, TiledImage arg1) { return arg0.getIndex() - arg1.getIndex(); } - + }); - - for(TiledImage image: images) { + + for (TiledImage image : images) { list.add(new ImageView(image)); } } diff --git a/src/main/java/sarsoo/fmframework/music/Album.java b/src/main/java/sarsoo/fmframework/music/Album.java index 60c1440..a84e999 100644 --- a/src/main/java/sarsoo/fmframework/music/Album.java +++ b/src/main/java/sarsoo/fmframework/music/Album.java @@ -11,53 +11,53 @@ import javax.imageio.ImageIO; import sarsoo.fmframework.cache.Cacheable; -public class Album extends FMObj implements Serializable, Cacheable{ +public class Album extends FMObj implements Serializable, Cacheable { private static final long serialVersionUID = 1L; protected Artist artist; protected ArrayList tagList; protected ArrayList trackList; - - protected URL imageUrl; + + protected String imageUrl; protected BufferedImage image; - + private Album(AlbumBuilder builder) { this.name = builder.name; this.artist = builder.artist; - + this.url = builder.url; - + this.listeners = builder.listeners; this.playCount = builder.playCount; this.userPlayCount = builder.userPlayCount; - + this.wiki = builder.wiki; - + this.mbid = builder.mbid; - + this.tagList = builder.tagList; this.trackList = builder.trackList; - + this.imageUrl = builder.imageUrl; - + } - - public URL getImageURL() { + + public String getImageURL() { return imageUrl; } - + public void loadImage() { try { - image = ImageIO.read(imageUrl); + image = ImageIO.read(new URL(imageUrl)); } catch (IOException e) { e.printStackTrace(); } } - + public BufferedImage getImage() { return image; } - + public Artist getArtist() { return artist; } @@ -94,83 +94,78 @@ public class Album extends FMObj implements Serializable, Cacheable{ return "Album: " + name + " - " + artist.getName(); } - - public static class AlbumBuilder{ - + + public static class AlbumBuilder { + protected String name; protected Artist artist; - + protected String url; - + protected int listeners; protected int playCount; protected int userPlayCount; - + protected Wiki wiki; - + protected String mbid; - + protected ArrayList tagList; protected ArrayList trackList; - - protected URL imageUrl; - - + + protected String imageUrl; + public AlbumBuilder(String name, Artist artist) { - + this.name = name; this.artist = artist; } - + public AlbumBuilder setUrl(String url) { this.url = url; return this; } - + public AlbumBuilder setListeners(int listeners) { this.listeners = listeners; return this; } - + public AlbumBuilder setPlayCount(int playCount) { this.playCount = playCount; return this; } - + public AlbumBuilder setUserPlayCount(int userPlayCount) { this.userPlayCount = userPlayCount; return this; } - + public AlbumBuilder setWiki(Wiki wiki) { this.wiki = wiki; return this; } - + public AlbumBuilder setMbid(String Mbid) { this.mbid = Mbid; return this; } - + public AlbumBuilder setTagList(ArrayList tagList) { this.tagList = tagList; return this; } - + public AlbumBuilder setTrackList(ArrayList trackList) { this.trackList = trackList; return this; } - + public AlbumBuilder setImageUrl(String url) { - try { - this.imageUrl = new URL(url); - } catch (MalformedURLException e) { - e.printStackTrace(); - } + this.imageUrl = url; return this; } - + public Album build() { return new Album(this); } @@ -178,10 +173,10 @@ public class Album extends FMObj implements Serializable, Cacheable{ @Override public ArrayList getScrobbles() { - if(trackList != null) { + if (trackList != null) { if (trackList.size() > 0) { ArrayList scrobbles = new ArrayList(); - for (Track i: trackList) { + for (Track i : trackList) { scrobbles.addAll(i.getScrobbles()); } return scrobbles;