refactored jframe getter methods to jframe package

This commit is contained in:
aj 2018-04-19 20:58:56 -07:00
parent 711928b5b8
commit 1e5539d4f1
6 changed files with 143 additions and 57 deletions

View File

@ -3,6 +3,8 @@ package sarsoo.fmframework.fx.controller;
import java.io.IOException; import java.io.IOException;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Locale; import java.util.Locale;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
@ -30,6 +32,7 @@ import javafx.scene.control.*;
import javafx.scene.input.MouseEvent; import javafx.scene.input.MouseEvent;
import javafx.scene.layout.GridPane; import javafx.scene.layout.GridPane;
import javafx.scene.chart.*; import javafx.scene.chart.*;
import javafx.scene.chart.PieChart.Data;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCode;
@ -75,6 +78,8 @@ public class ControllerMain {
String scrobbles = numberFormat.format(Getter.getScrobbles(Reference.getUserName())); String scrobbles = numberFormat.format(Getter.getScrobbles(Reference.getUserName()));
tags = Getter.getUserTags(Reference.getUserName()); tags = Getter.getUserTags(Reference.getUserName());
TrackTab tab = new TrackTab(Getter.getLastTrack());
final CountDownLatch latch = new CountDownLatch(1); final CountDownLatch latch = new CountDownLatch(1);
Platform.runLater(new Runnable() { Platform.runLater(new Runnable() {
@Override @Override
@ -85,6 +90,8 @@ public class ControllerMain {
labelStatsUsername.setText(Reference.getUserName()); labelStatsUsername.setText(Reference.getUserName());
labelStatsScrobblesTotal.setText(scrobbles); labelStatsScrobblesTotal.setText(scrobbles);
addTab(tab);
refreshPieCharts(); refreshPieCharts();
int counter; int counter;
@ -173,7 +180,7 @@ public class ControllerMain {
@Override @Override
protected Void call() throws Exception { protected Void call() throws Exception {
Album album = Getter.getAlbum(); Album album = sarsoo.fmframework.jframe.Getter.getAlbum();
if (album != null) { if (album != null) {
AlbumTab tab = new AlbumTab(album); AlbumTab tab = new AlbumTab(album);
@ -210,7 +217,7 @@ public class ControllerMain {
@Override @Override
protected Void call() throws Exception { protected Void call() throws Exception {
Artist artist = Getter.getArtist(); Artist artist = sarsoo.fmframework.jframe.Getter.getArtist();
if (artist != null) { if (artist != null) {
ArtistTab tab = new ArtistTab(artist); ArtistTab tab = new ArtistTab(artist);
@ -249,7 +256,7 @@ public class ControllerMain {
@Override @Override
protected Void call() throws Exception { protected Void call() throws Exception {
Track track = Getter.getTrack(); Track track = sarsoo.fmframework.jframe.Getter.getTrack();
if (track != null) { if (track != null) {
TrackTab tab = new TrackTab(track); TrackTab tab = new TrackTab(track);
@ -278,9 +285,9 @@ public class ControllerMain {
@FXML @FXML
protected void handleScrobble(ActionEvent event) throws IOException { protected void handleScrobble(ActionEvent event) throws IOException {
Album album = Getter.getAlbum(); Album album = sarsoo.fmframework.jframe.Getter.getAlbum();
if (album != null) { if (album != null) {
Track track = Getter.getTrack(album); Track track = sarsoo.fmframework.jframe.Getter.getTrack(album);
} }
} }
@ -361,7 +368,7 @@ public class ControllerMain {
labelStatsUsername.setText(Reference.getUserName()); labelStatsUsername.setText(Reference.getUserName());
labelStatsScrobblesTotal.setText(scrobbles); labelStatsScrobblesTotal.setText(scrobbles);
refreshPieCharts(); // refreshPieCharts();
menuTag.getItems().clear(); menuTag.getItems().clear();
int counter; int counter;
@ -465,10 +472,23 @@ public class ControllerMain {
@Override @Override
protected Void call() throws Exception { protected Void call() throws Exception {
int total = Getter.getScrobbles(Reference.getUserName());
FMObjList rap = Getter.getUserTag(Reference.getUserName(), "rap"); FMObjList rap = Getter.getUserTag(Reference.getUserName(), "rap");
FMObjList classicRap = Getter.getUserTag(Reference.getUserName(), "classic rap"); FMObjList classicRap = Getter.getUserTag(Reference.getUserName(), "classic rap");
FMObjList grime = Getter.getUserTag(Reference.getUserName(), "grime"); FMObjList grime = Getter.getUserTag(Reference.getUserName(), "grime");
FMObjList classicRock = Getter.getUserTag(Reference.getUserName(), "classic rock");
FMObjList popPunk = Getter.getUserTag(Reference.getUserName(), "pop punk");
FMObjList electronic = Getter.getUserTag(Reference.getUserName(), "electronic");
FMObjList metal = Getter.getUserTag(Reference.getUserName(), "metal");
FMObjList indie = Getter.getUserTag(Reference.getUserName(), "indie");
FMObjList rock = Getter.getUserTag(Reference.getUserName(), "rock");
FMObjList jazz = Getter.getUserTag(Reference.getUserName(), "jazz");
FMObjList blues = Getter.getUserTag(Reference.getUserName(), "blues");
FMObjList core = Getter.getUserTag(Reference.getUserName(), "core");
FMObjList rnb = Getter.getUserTag(Reference.getUserName(), "rnb");
int rapTotal = rap.getTotalUserScrobbles() - classicRap.getTotalUserScrobbles() int rapTotal = rap.getTotalUserScrobbles() - classicRap.getTotalUserScrobbles()
- grime.getTotalUserScrobbles(); - grime.getTotalUserScrobbles();
@ -477,13 +497,69 @@ public class ControllerMain {
new PieChart.Data("classic rap", classicRap.getTotalUserScrobbles()), new PieChart.Data("classic rap", classicRap.getTotalUserScrobbles()),
new PieChart.Data("grime", grime.getTotalUserScrobbles())); new PieChart.Data("grime", grime.getTotalUserScrobbles()));
int other = Getter.getScrobbles(Reference.getUserName()) - rap.getTotalUserScrobbles(); Collections.sort(rapData, new Comparator<PieChart.Data>() {
@Override
public int compare(Data arg0, Data arg1) {
return (int) (arg1.getPieValue() - arg0.getPieValue());
}
});
int other = total - rap.getTotalUserScrobbles();
ObservableList<PieChart.Data> rapTotalData = FXCollections.observableArrayList( ObservableList<PieChart.Data> rapTotalData = FXCollections.observableArrayList(
new PieChart.Data("rap", rapTotal),
new PieChart.Data("classic rap", classicRap.getTotalUserScrobbles()),
new PieChart.Data("grime", grime.getTotalUserScrobbles()));
Collections.sort(rapTotalData, new Comparator<PieChart.Data>() {
@Override
public int compare(Data arg0, Data arg1) {
return (int) (arg1.getPieValue() - arg0.getPieValue());
}
});
rapTotalData.add(new PieChart.Data("other", other));
int totalOther = total - rap.getTotalUserScrobbles()
- classicRock.getTotalUserScrobbles()
- popPunk.getTotalUserScrobbles()
- electronic.getTotalUserScrobbles()
- metal.getTotalUserScrobbles()
- indie.getTotalUserScrobbles()
- rock.getTotalUserScrobbles()
- jazz.getTotalUserScrobbles()
- blues.getTotalUserScrobbles()
- core.getTotalUserScrobbles()
- rnb.getTotalUserScrobbles();
ObservableList<PieChart.Data> genreData = FXCollections.observableArrayList(
new PieChart.Data("rap", rapTotal), new PieChart.Data("rap", rapTotal),
new PieChart.Data("classic rap", classicRap.getTotalUserScrobbles()), new PieChart.Data("classic rap", classicRap.getTotalUserScrobbles()),
new PieChart.Data("grime", grime.getTotalUserScrobbles()), new PieChart.Data("grime", grime.getTotalUserScrobbles()),
new PieChart.Data("other", other));
new PieChart.Data("classic rock", classicRock.getTotalUserScrobbles()),
new PieChart.Data("pop punk", popPunk.getTotalUserScrobbles()),
new PieChart.Data("electronic", electronic.getTotalUserScrobbles()),
new PieChart.Data("metal", metal.getTotalUserScrobbles()),
new PieChart.Data("indie", indie.getTotalUserScrobbles()),
new PieChart.Data("rock", rock.getTotalUserScrobbles()),
new PieChart.Data("jazz", jazz.getTotalUserScrobbles()),
new PieChart.Data("blues", blues.getTotalUserScrobbles()),
new PieChart.Data("core", core.getTotalUserScrobbles()),
new PieChart.Data("rnb", rnb.getTotalUserScrobbles()));
Collections.sort(genreData, new Comparator<PieChart.Data>() {
@Override
public int compare(Data arg0, Data arg1) {
return (int) (arg1.getPieValue() - arg0.getPieValue());
}
});
genreData.add(new PieChart.Data("other", totalOther));
final CountDownLatch latch = new CountDownLatch(1); final CountDownLatch latch = new CountDownLatch(1);
Platform.runLater(new Runnable() { Platform.runLater(new Runnable() {
@ -494,6 +570,8 @@ public class ControllerMain {
pieChartRapTotal.setData(rapTotalData); pieChartRapTotal.setData(rapTotalData);
pieChartGenres.setData(genreData);
accordionCharts.setExpandedPane(titledPaneRap); accordionCharts.setExpandedPane(titledPaneRap);
} finally { } finally {
latch.countDown(); latch.countDown();

View File

@ -60,7 +60,7 @@
<content> <content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0"> <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children> <children>
<PieChart fx:id="pieChartGenres" layoutX="-189.0" layoutY="-102.0" prefHeight="249.0" prefWidth="220.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" /> <PieChart fx:id="pieChartGenres" layoutX="-189.0" layoutY="-102.0" prefHeight="249.0" prefWidth="220.0" styleClass="pieChart" stylesheets="@../styles/mainPane.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
</children> </children>
</AnchorPane> </AnchorPane>
</content> </content>

View File

@ -166,7 +166,7 @@ public class FMObjListView extends JFrame {
addAlbum.addActionListener(new ActionListener() { addAlbum.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent arg0) { public void actionPerformed(ActionEvent arg0) {
Album album = Getter.getAlbum(); Album album = sarsoo.fmframework.jframe.Getter.getAlbum();
if (album != null) { if (album != null) {
} }

View File

@ -0,0 +1,52 @@
package sarsoo.fmframework.jframe;
import javax.swing.JOptionPane;
import sarsoo.fmframework.music.Album;
import sarsoo.fmframework.music.Artist;
import sarsoo.fmframework.music.Track;
import sarsoo.fmframework.util.Reference;
public class Getter {
public static Album getAlbum() {
String albumName = JOptionPane.showInputDialog(null, "Enter Album Name");
if (albumName != null) {
String artistName = JOptionPane.showInputDialog(null, "Enter Artist Name");
if (artistName != null) {
return Album.getAlbum(albumName, artistName, Reference.getUserName());
}
}
return null;
}
public static Artist getArtist() {
String artistName = JOptionPane.showInputDialog(null, "Enter Artist Name");
if (artistName != null) {
return Artist.getArtist(artistName, Reference.getUserName());
}
return null;
}
public static Track getTrack() {
String trackName = JOptionPane.showInputDialog(null, "Enter Track Name");
if (trackName != null) {
String artistName = JOptionPane.showInputDialog(null, "Enter Artist Name");
if (artistName != null) {
return Track.getTrack(artistName, trackName, Reference.getUserName());
}
}
return null;
}
public static Track getTrack(Album album) {
String trackName = JOptionPane.showInputDialog(null, "Enter Track Name");
if (trackName != null) {
Track track = Track.getTrack(album.getArtist().getName(), trackName, Reference.getUserName());
track.setAlbum(album);
return track;
}
return null;
}
}

View File

@ -33,7 +33,7 @@ public class MainMenu extends JFrame {
getAlbum.addActionListener(new ActionListener() { getAlbum.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) { public void actionPerformed(ActionEvent arg0) {
Album album = Getter.getAlbum(); Album album = sarsoo.fmframework.jframe.Getter.getAlbum();
if (album != null) { if (album != null) {
album.view(); album.view();
} else { } else {
@ -43,7 +43,7 @@ public class MainMenu extends JFrame {
}); });
getArtist.addActionListener(new ActionListener() { getArtist.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) { public void actionPerformed(ActionEvent arg0) {
Artist artist = Getter.getArtist(); Artist artist = sarsoo.fmframework.jframe.Getter.getArtist();
if (artist != null) { if (artist != null) {
artist.view(); artist.view();
} else { } else {

View File

@ -2,14 +2,10 @@ package sarsoo.fmframework.util;
import java.util.ArrayList; import java.util.ArrayList;
import javax.swing.JOptionPane;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap; import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import sarsoo.fmframework.music.Album;
import sarsoo.fmframework.music.Artist;
import sarsoo.fmframework.music.Tag; import sarsoo.fmframework.music.Tag;
import sarsoo.fmframework.music.Track; import sarsoo.fmframework.music.Track;
import sarsoo.fmframework.net.Network; import sarsoo.fmframework.net.Network;
@ -18,46 +14,6 @@ import sarsoo.fmframework.net.URLBuilder;
import sarsoo.fmframework.parser.Parser; import sarsoo.fmframework.parser.Parser;
public class Getter { public class Getter {
public static Album getAlbum() {
String albumName = JOptionPane.showInputDialog(null, "Enter Album Name");
if (albumName != null) {
String artistName = JOptionPane.showInputDialog(null, "Enter Artist Name");
if (artistName != null) {
return Album.getAlbum(albumName, artistName, Reference.getUserName());
}
}
return null;
}
public static Artist getArtist() {
String artistName = JOptionPane.showInputDialog(null, "Enter Artist Name");
if (artistName != null) {
return Artist.getArtist(artistName, Reference.getUserName());
}
return null;
}
public static Track getTrack() {
String trackName = JOptionPane.showInputDialog(null, "Enter Track Name");
if (trackName != null) {
String artistName = JOptionPane.showInputDialog(null, "Enter Artist Name");
if (artistName != null) {
return Track.getTrack(artistName, trackName, Reference.getUserName());
}
}
return null;
}
public static Track getTrack(Album album) {
String trackName = JOptionPane.showInputDialog(null, "Enter Track Name");
if (trackName != null) {
Track track = Track.getTrack(album.getArtist().getName(), trackName, Reference.getUserName());
track.setAlbum(album);
return track;
}
return null;
}
public static Track getLastTrack() { public static Track getLastTrack() {
String url = URLBuilder.getLastTrackUrl(Reference.getUserName()); String url = URLBuilder.getLastTrackUrl(Reference.getUserName());