fmobj comparable, objects in objlist get sorted
This commit is contained in:
parent
e90f12f6dd
commit
4c18bd07a2
@ -9,17 +9,17 @@ import sarsoo.fmframework.util.Reference;
|
||||
public class Driver {
|
||||
|
||||
public static void main(String[] args) {
|
||||
String username = JOptionPane.showInputDialog(null, "Enter User-Name");
|
||||
// String username = JOptionPane.showInputDialog(null, "Enter User-Name");
|
||||
// System.out.println(username);
|
||||
if (username != null) {
|
||||
// Reference.setUserName("sarsoo");
|
||||
Reference.setUserName(username);
|
||||
// if (username != null) {
|
||||
Reference.setUserName("sarsoo");
|
||||
// Reference.setUserName(username);
|
||||
|
||||
// System.out.println(Getter.getScrobbles(Reference.getUserName()));
|
||||
|
||||
MainMenu main = new MainMenu();
|
||||
main.setVisible(true);
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.Collections;
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.swing.JButton;
|
||||
@ -64,6 +65,9 @@ public class FMObjListView extends JFrame {
|
||||
|
||||
add(headerLabels);
|
||||
|
||||
Collections.sort(objects);
|
||||
Collections.reverse(objects);
|
||||
|
||||
int counter;
|
||||
for (counter = 0; counter < objects.size(); counter++) {
|
||||
FMObj fmObj = objects.get(counter);
|
||||
|
@ -9,17 +9,18 @@ import sarsoo.fmframework.net.Network;
|
||||
import sarsoo.fmframework.parser.Parser;
|
||||
import sarsoo.fmframework.util.Reference;
|
||||
|
||||
public class Album extends FMObj{
|
||||
public class Album extends FMObj {
|
||||
protected Artist artist;
|
||||
protected ArrayList<Tag> tagList;
|
||||
// protected ArrayList<Track> trackList;
|
||||
// protected ArrayList<Track> trackList;
|
||||
|
||||
public Album(String name, String artist) {
|
||||
super(name, null, null, 0, 0, 0, null);
|
||||
this.artist = Artist.getArtist(artist, Reference.getUserName());
|
||||
}
|
||||
|
||||
public Album(String name, String url, String mbid, Artist artist, int listeners, int playCount, int userPlayCount, Wiki wiki) {
|
||||
public Album(String name, String url, String mbid, Artist artist, int listeners, int playCount, int userPlayCount,
|
||||
Wiki wiki) {
|
||||
super(name, url, mbid, listeners, playCount, userPlayCount, wiki);
|
||||
this.artist = artist;
|
||||
}
|
||||
@ -31,33 +32,37 @@ public class Album extends FMObj{
|
||||
public static Album getAlbum(String name, String artist, String username) {
|
||||
String url = Network.getAlbumInfoUrl(name, artist, username);
|
||||
Document response = Network.getResponse(url);
|
||||
Album album = Parser.parseAlbum(response);
|
||||
return album;
|
||||
if (response != null) {
|
||||
Album album = Parser.parseAlbum(response);
|
||||
return album;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// public Track getTrack(int track) {
|
||||
// return trackList.get(track);
|
||||
// }
|
||||
//
|
||||
// public ArrayList<Track> getTrackList(){
|
||||
// return trackList;
|
||||
// }
|
||||
//
|
||||
// public void addTrack(Track track) {
|
||||
// trackList.add(track);
|
||||
// }
|
||||
//
|
||||
public ArrayList<Tag> getTags(){
|
||||
// public Track getTrack(int track) {
|
||||
// return trackList.get(track);
|
||||
// }
|
||||
//
|
||||
// public ArrayList<Track> getTrackList(){
|
||||
// return trackList;
|
||||
// }
|
||||
//
|
||||
// public void addTrack(Track track) {
|
||||
// trackList.add(track);
|
||||
// }
|
||||
//
|
||||
public ArrayList<Tag> getTags() {
|
||||
return tagList;
|
||||
}
|
||||
|
||||
public String getRymURL() {
|
||||
return "https://rateyourmusic.com/release/album/" + getArtist().getName().replaceAll(" ", "_").toLowerCase() + "/" + getName().replaceAll(" ", "_").toLowerCase();
|
||||
return "https://rateyourmusic.com/release/album/" + getArtist().getName().replaceAll(" ", "_").toLowerCase()
|
||||
+ "/" + getName().replaceAll(" ", "_").toLowerCase();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMusicBrainzURL() {
|
||||
return "https://musicbrainz.org/release/" + mbid;
|
||||
return "https://musicbrainz.org/release/" + mbid;
|
||||
|
||||
}
|
||||
|
||||
@ -69,11 +74,12 @@ public class Album extends FMObj{
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if(obj.getClass() != this.getClass()) return false;
|
||||
if (obj.getClass() != this.getClass())
|
||||
return false;
|
||||
|
||||
Album album = (Album)obj;
|
||||
if(getName() == album.getName())
|
||||
if(getArtist().equals(album.getArtist()))
|
||||
Album album = (Album) obj;
|
||||
if (getName() == album.getName())
|
||||
if (getArtist().equals(album.getArtist()))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
@ -8,9 +8,9 @@ import sarsoo.fmframework.net.Network;
|
||||
//import sarsoo.fmframework.net.TestCall;
|
||||
import sarsoo.fmframework.parser.Parser;
|
||||
|
||||
public class Artist extends FMObj{
|
||||
// protected boolean streamable;
|
||||
// protected boolean onTour;
|
||||
public class Artist extends FMObj {
|
||||
// protected boolean streamable;
|
||||
// protected boolean onTour;
|
||||
protected ArrayList<Album> albums;
|
||||
protected ArrayList<Artist> similarArtists;
|
||||
protected ArrayList<Tag> tagList;
|
||||
@ -25,10 +25,13 @@ public class Artist extends FMObj{
|
||||
|
||||
public static Artist getArtist(String name, String username) {
|
||||
String url = Network.getArtistInfoUrl(name, username);
|
||||
// TestCall.test(url);
|
||||
// TestCall.test(url);
|
||||
Document response = Network.getResponse(url);
|
||||
Artist artist = Parser.parseArtist(response);
|
||||
return artist;
|
||||
if (response != null) {
|
||||
Artist artist = Parser.parseArtist(response);
|
||||
return artist;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Artist getArtistByMbid(String mbid, String username) {
|
||||
@ -38,21 +41,21 @@ public class Artist extends FMObj{
|
||||
return artist;
|
||||
}
|
||||
|
||||
public ArrayList<Album> getAlbum(){
|
||||
public ArrayList<Album> getAlbum() {
|
||||
return albums;
|
||||
}
|
||||
|
||||
public ArrayList<Artist> getSimilarArtists(){
|
||||
public ArrayList<Artist> getSimilarArtists() {
|
||||
return similarArtists;
|
||||
}
|
||||
|
||||
public ArrayList<Tag> getTags(){
|
||||
public ArrayList<Tag> getTags() {
|
||||
return tagList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMusicBrainzURL() {
|
||||
return "https://musicbrainz.org/artist/" + mbid;
|
||||
return "https://musicbrainz.org/artist/" + mbid;
|
||||
}
|
||||
|
||||
public String getRymURL() {
|
||||
@ -61,11 +64,12 @@ public class Artist extends FMObj{
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if(obj.getClass() != this.getClass()) return false;
|
||||
if (obj.getClass() != this.getClass())
|
||||
return false;
|
||||
|
||||
Artist artist = (Artist)obj;
|
||||
if(getName() == artist.getName())
|
||||
return true;
|
||||
Artist artist = (Artist) obj;
|
||||
if (getName() == artist.getName())
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -74,5 +78,4 @@ public class Artist extends FMObj{
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ package sarsoo.fmframework.music;
|
||||
|
||||
import sarsoo.fmframework.gui.FMObjView;
|
||||
|
||||
public abstract class FMObj {
|
||||
public abstract class FMObj implements Comparable<FMObj>{
|
||||
|
||||
protected String name;
|
||||
protected String url;
|
||||
@ -33,6 +33,12 @@ public abstract class FMObj {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(FMObj obj) {
|
||||
|
||||
return userPlayCount - obj.getUserPlayCount();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import sarsoo.fmframework.net.Network;
|
||||
//import sarsoo.fmframework.net.TestCall;
|
||||
import sarsoo.fmframework.parser.Parser;
|
||||
|
||||
public class Track extends FMObj{
|
||||
public class Track extends FMObj {
|
||||
protected Album album;
|
||||
protected Artist artist;
|
||||
protected int trackNumber;
|
||||
@ -23,24 +23,28 @@ public class Track extends FMObj{
|
||||
this.artist = new Artist(artist);
|
||||
}
|
||||
|
||||
public Track(String name, String url, String mbid, Artist artist, int listeners, int playCount, int userPlayCount, Wiki wiki) {
|
||||
public Track(String name, String url, String mbid, Artist artist, int listeners, int playCount, int userPlayCount,
|
||||
Wiki wiki) {
|
||||
super(name, url, mbid, listeners, playCount, userPlayCount, wiki);
|
||||
this.artist = artist;
|
||||
}
|
||||
|
||||
public static Track getTrack(String name, String artist, String username) {
|
||||
String url = Network.getTrackInfoUrl(name, artist, username);
|
||||
// TestCall.test(url);
|
||||
// TestCall.test(url);
|
||||
Document response = Network.getResponse(url);
|
||||
Track track = Parser.parseTrack(response);
|
||||
return track;
|
||||
if (response != null) {
|
||||
Track track = Parser.parseTrack(response);
|
||||
return track;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Artist getArtist() {
|
||||
return artist;
|
||||
}
|
||||
|
||||
public ArrayList<Tag> getTags(){
|
||||
public ArrayList<Tag> getTags() {
|
||||
return tagList;
|
||||
}
|
||||
|
||||
@ -50,7 +54,7 @@ public class Track extends FMObj{
|
||||
|
||||
@Override
|
||||
public String getMusicBrainzURL() {
|
||||
return "https://musicbrainz.org/artist/" + mbid;
|
||||
return "https://musicbrainz.org/artist/" + mbid;
|
||||
}
|
||||
|
||||
public String getLyricsURL() {
|
||||
@ -63,11 +67,12 @@ public class Track extends FMObj{
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if(obj.getClass() != this.getClass()) return false;
|
||||
if (obj.getClass() != this.getClass())
|
||||
return false;
|
||||
|
||||
Track track = (Track)obj;
|
||||
if(getName() == track.getName())
|
||||
if(getArtist().equals(track.getArtist()))
|
||||
Track track = (Track) obj;
|
||||
if (getName() == track.getName())
|
||||
if (getArtist().equals(track.getArtist()))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user