package net.pterodactylus.demoscenemusic.page.admin;
+import java.util.Collection;
+import java.util.List;
+
import net.pterodactylus.demoscenemusic.core.Core;
+import net.pterodactylus.demoscenemusic.data.Artist;
+import net.pterodactylus.demoscenemusic.data.Party;
import net.pterodactylus.demoscenemusic.data.Track;
import net.pterodactylus.demoscenemusic.page.ServletRequest;
import net.pterodactylus.util.database.DatabaseException;
templateContext.set("track", track);
if (request.getMethod() == Method.POST) {
- String name = request.getServletRequest().getParameter("name").trim();
- if (name.length() > 0) {
+
+ String partyId = request.getServletRequest().getParameter("party");
+ Party party = getCore().getDataManager().getPartyById(partyId);
+
+ String artistId = request.getServletRequest().getParameter("artist");
+ Artist artist = getCore().getDataManager().getArtistById(artistId);
+
+ /* check if a party should be removed. */
+ if ("true".equals(request.getServletRequest().getParameter("delete-party"))) {
+ Collection<Party> parties = track.getParties();
+ parties.remove(party);
+ track.setParties(parties);
+ }
+
+ /* check if a party should be added. */
+ if ("true".equals(request.getServletRequest().getParameter("add-party"))) {
+ Collection<Party> parties = track.getParties();
+ parties.add(party);
+ track.setParties(parties);
+ }
+
+ if ("true".equals(request.getServletRequest().getParameter("delete-artist"))) {
+ List<Artist> artists = track.getArtists();
+ artists.remove(artist);
+ track.setArtists(artists);
+ }
+
+ if ("true".equals(request.getServletRequest().getParameter("move-up"))) {
+ List<Artist> artists = track.getArtists();
+ int index = artists.indexOf(artist);
+ if (index > 0) {
+ artists.remove(artist);
+ artists.add(index - 1, artist);
+ }
+ track.setArtists(artists);
+ }
+
+ if ("true".equals(request.getServletRequest().getParameter("move-down"))) {
+ List<Artist> artists = track.getArtists();
+ int index = artists.indexOf(artist);
+ if (index < (artists.size() - 1)) {
+ artists.remove(artist);
+ artists.add(index + 1, artist);
+ }
+ track.setArtists(artists);
+ }
+
+ if ("true".equals(request.getServletRequest().getParameter("add-artist"))) {
+ List<Artist> artists = track.getArtists();
+ artists.add(artist);
+ track.setArtists(artists);
+ }
+
+ String name = request.getServletRequest().getParameter("name");
+ if ((name != null) && (name.trim().length() > 0)) {
track.setName(name);
}
- String remix = request.getServletRequest().getParameter("remix").trim();
- if (remix.length() > 0) {
+ String remix = request.getServletRequest().getParameter("remix");
+ if ((remix != null) && (remix.trim().length() > 0)) {
track.setRemix(remix);
}