added image url checking, removed redundant url type

This commit is contained in:
aj 2019-05-30 23:13:09 +01:00
parent 6904663e59
commit 73b74bcee3
2 changed files with 64 additions and 66 deletions

View File

@ -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<WorkerStateEvent>() {
GetFXImageService service = new GetFXImageService(album.getImageURL(), counter);
@Override
public void handle(WorkerStateEvent t) {
service.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
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<Node> list = tilePane.getChildren();
list.clear();
Collections.sort(images, new Comparator<TiledImage>() {
@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));
}
}

View File

@ -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<Tag> tagList;
protected ArrayList<Track> 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<Tag> tagList;
protected ArrayList<Track> 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<Tag> tagList) {
this.tagList = tagList;
return this;
}
public AlbumBuilder setTrackList(ArrayList<Track> 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<Scrobble> getScrobbles() {
if(trackList != null) {
if (trackList != null) {
if (trackList.size() > 0) {
ArrayList<Scrobble> scrobbles = new ArrayList<Scrobble>();
for (Track i: trackList) {
for (Track i : trackList) {
scrobbles.addAll(i.getScrobbles());
}
return scrobbles;