X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fdata%2FDataManager.java;h=c87df731506efa288b689928be11bcd1eac8d485;hb=2fd39b4383b041559364dce6eaf56c9164dbed82;hp=df3e9db9fed06f881b6c1a2dc319c99b7a517afb;hpb=e803eeb6987a5865f72a10b82588ea2d85380044;p=demoscenemusic.git diff --git a/src/main/java/net/pterodactylus/demoscenemusic/data/DataManager.java b/src/main/java/net/pterodactylus/demoscenemusic/data/DataManager.java index df3e9db..c87df73 100644 --- a/src/main/java/net/pterodactylus/demoscenemusic/data/DataManager.java +++ b/src/main/java/net/pterodactylus/demoscenemusic/data/DataManager.java @@ -324,7 +324,7 @@ public class DataManager { Query query = new Query(Type.SELECT, "TRACKS"); query.addField(new Field("TRACKS.*")); query.addWhereClause(new ValueFieldWhereClause(new ValueField("TRACKS.ID", new StringParameter(id)))); - return database.getSingle(query, trackCreator); + return loadTrackProperties(database.getSingle(query, trackCreator)); } /** @@ -341,7 +341,36 @@ public class DataManager { query.addField(new Field("TRACKS.*")); query.addJoin(new Join(JoinType.INNER, "TRACK_ARTISTS", new Field("TRACKS.ID"), new Field("TRACK_ARTISTS.TRACK"))); query.addWhereClause(new ValueFieldWhereClause(new ValueField("TRACK_ARTISTS.ARTIST", new StringParameter(artistId)))); - return database.getMultiple(query, trackCreator); + return loadTrackProperties(database.getMultiple(query, trackCreator)); + } + + /** + * Loads the properties for the given track. + * + * @param track + * The track for which to load the properties + * @return The track with the properties loaded + * @throws DatabaseException + * if a database error occurs + */ + public Track loadTrackProperties(Track track) throws DatabaseException { + return loadProperties(track, "TRACK_PROPERTIES", "TRACK"); + } + + /** + * Loads the properties for the given tracks. + * + * @param tracks + * The tracks for which to load the properties + * @return The tracks with the properties loaded + * @throws DatabaseException + * if a database error occurs + */ + public List loadTrackProperties(List tracks) throws DatabaseException { + for (Track track : tracks) { + loadTrackProperties(track); + } + return tracks; } /**