+
+ 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)) {