Controllers migration.
This commit is contained in:
+43
-78
@@ -19,62 +19,45 @@
|
||||
*/
|
||||
package org.libresonic.player.controller;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.GradientPaint;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.RenderingHints;
|
||||
import org.apache.commons.codec.digest.DigestUtils;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.libresonic.player.Logger;
|
||||
import org.libresonic.player.dao.AlbumDao;
|
||||
import org.libresonic.player.dao.ArtistDao;
|
||||
import org.libresonic.player.domain.*;
|
||||
import org.libresonic.player.service.*;
|
||||
import org.libresonic.player.service.metadata.JaudiotaggerParser;
|
||||
import org.libresonic.player.util.StringUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.ServletRequestUtils;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.LastModified;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.Semaphore;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.codec.digest.DigestUtils;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.springframework.web.bind.ServletRequestUtils;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.Controller;
|
||||
import org.springframework.web.servlet.mvc.LastModified;
|
||||
|
||||
import org.libresonic.player.Logger;
|
||||
import org.libresonic.player.dao.AlbumDao;
|
||||
import org.libresonic.player.dao.ArtistDao;
|
||||
import org.libresonic.player.domain.Album;
|
||||
import org.libresonic.player.domain.Artist;
|
||||
import org.libresonic.player.domain.CoverArtScheme;
|
||||
import org.libresonic.player.domain.MediaFile;
|
||||
import org.libresonic.player.domain.Playlist;
|
||||
import org.libresonic.player.domain.PodcastChannel;
|
||||
import org.libresonic.player.domain.Transcoding;
|
||||
import org.libresonic.player.domain.VideoTranscodingSettings;
|
||||
import org.libresonic.player.service.MediaFileService;
|
||||
import org.libresonic.player.service.PlaylistService;
|
||||
import org.libresonic.player.service.PodcastService;
|
||||
import org.libresonic.player.service.SettingsService;
|
||||
import org.libresonic.player.service.TranscodingService;
|
||||
import org.libresonic.player.service.metadata.JaudiotaggerParser;
|
||||
import org.libresonic.player.util.StringUtil;
|
||||
|
||||
/**
|
||||
* Controller which produces cover art images.
|
||||
*
|
||||
* @author Sindre Mehus
|
||||
*/
|
||||
public class CoverArtController implements Controller, LastModified {
|
||||
@Controller
|
||||
@RequestMapping("/coverArt")
|
||||
public class CoverArtController implements LastModified {
|
||||
|
||||
public static final String ALBUM_COVERART_PREFIX = "al-";
|
||||
public static final String ARTIST_COVERART_PREFIX = "ar-";
|
||||
@@ -83,26 +66,34 @@ public class CoverArtController implements Controller, LastModified {
|
||||
|
||||
private static final Logger LOG = Logger.getLogger(CoverArtController.class);
|
||||
|
||||
@Autowired
|
||||
private MediaFileService mediaFileService;
|
||||
@Autowired
|
||||
private TranscodingService transcodingService;
|
||||
@Autowired
|
||||
private SettingsService settingsService;
|
||||
@Autowired
|
||||
private PlaylistService playlistService;
|
||||
@Autowired
|
||||
private PodcastService podcastService;
|
||||
@Autowired
|
||||
private ArtistDao artistDao;
|
||||
@Autowired
|
||||
private AlbumDao albumDao;
|
||||
private Semaphore semaphore;
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
semaphore = new Semaphore(settingsService.getCoverArtConcurrency());
|
||||
}
|
||||
|
||||
public long getLastModified(HttpServletRequest request) {
|
||||
CoverArtRequest coverArtRequest = createCoverArtRequest(request);
|
||||
long result = coverArtRequest.lastModified();
|
||||
// LOG.info("getLastModified - " + coverArtRequest + ": " + new Date(result));
|
||||
return result;
|
||||
// LOG.info("getLastModified - " + coverArtRequest + ": " + new Date(result));
|
||||
return coverArtRequest.lastModified();
|
||||
}
|
||||
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
|
||||
CoverArtRequest coverArtRequest = createCoverArtRequest(request);
|
||||
@@ -341,33 +332,6 @@ public class CoverArtController implements Controller, LastModified {
|
||||
return thumb;
|
||||
}
|
||||
|
||||
public void setMediaFileService(MediaFileService mediaFileService) {
|
||||
this.mediaFileService = mediaFileService;
|
||||
}
|
||||
|
||||
public void setArtistDao(ArtistDao artistDao) {
|
||||
this.artistDao = artistDao;
|
||||
}
|
||||
|
||||
public void setAlbumDao(AlbumDao albumDao) {
|
||||
this.albumDao = albumDao;
|
||||
}
|
||||
|
||||
public void setTranscodingService(TranscodingService transcodingService) {
|
||||
this.transcodingService = transcodingService;
|
||||
}
|
||||
|
||||
public void setSettingsService(SettingsService settingsService) {
|
||||
this.settingsService = settingsService;
|
||||
}
|
||||
|
||||
public void setPlaylistService(PlaylistService playlistService) {
|
||||
this.playlistService = playlistService;
|
||||
}
|
||||
|
||||
public void setPodcastService(PodcastService podcastService) {
|
||||
this.podcastService = podcastService;
|
||||
}
|
||||
|
||||
private abstract class CoverArtRequest {
|
||||
|
||||
@@ -551,7 +515,7 @@ public class CoverArtController implements Controller, LastModified {
|
||||
albums.add(album);
|
||||
}
|
||||
}
|
||||
return new ArrayList<MediaFile>(albums);
|
||||
return new ArrayList<>(albums);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -559,7 +523,7 @@ public class CoverArtController implements Controller, LastModified {
|
||||
|
||||
private final PodcastChannel channel;
|
||||
|
||||
public PodcastCoverArtRequest(PodcastChannel channel) {
|
||||
PodcastCoverArtRequest(PodcastChannel channel) {
|
||||
this.channel = channel;
|
||||
}
|
||||
|
||||
@@ -633,7 +597,8 @@ public class CoverArtController implements Controller, LastModified {
|
||||
|
||||
@Override
|
||||
public BufferedImage createImage(int size) {
|
||||
int height = size;
|
||||
int height;
|
||||
height = size;
|
||||
int width = height * 16 / 9;
|
||||
InputStream in = null;
|
||||
try {
|
||||
@@ -687,7 +652,7 @@ public class CoverArtController implements Controller, LastModified {
|
||||
private final int height;
|
||||
private final Color color;
|
||||
|
||||
public AutoCover(Graphics2D graphics, String key, String artist, String album, int width, int height) {
|
||||
AutoCover(Graphics2D graphics, String key, String artist, String album, int width, int height) {
|
||||
this.graphics = graphics;
|
||||
this.artist = artist;
|
||||
this.album = album;
|
||||
|
||||
+32
-68
@@ -19,54 +19,47 @@
|
||||
*/
|
||||
package org.libresonic.player.controller;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
import org.libresonic.player.domain.*;
|
||||
import org.libresonic.player.service.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.ServletRequestUtils;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.view.RedirectView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.web.bind.ServletRequestUtils;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.AbstractController;
|
||||
import org.springframework.web.servlet.view.RedirectView;
|
||||
|
||||
import org.libresonic.player.domain.CoverArtScheme;
|
||||
import org.libresonic.player.domain.MediaFile;
|
||||
import org.libresonic.player.domain.MediaFileComparator;
|
||||
import org.libresonic.player.domain.MusicFolder;
|
||||
import org.libresonic.player.domain.Player;
|
||||
import org.libresonic.player.domain.UserSettings;
|
||||
import org.libresonic.player.service.AdService;
|
||||
import org.libresonic.player.service.MediaFileService;
|
||||
import org.libresonic.player.service.PlayerService;
|
||||
import org.libresonic.player.service.RatingService;
|
||||
import org.libresonic.player.service.SecurityService;
|
||||
import org.libresonic.player.service.SettingsService;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Controller for the main page.
|
||||
*
|
||||
* @author Sindre Mehus
|
||||
*/
|
||||
public class MainController extends AbstractController {
|
||||
@Controller
|
||||
@RequestMapping("/main")
|
||||
public class MainController {
|
||||
|
||||
@Autowired
|
||||
private SecurityService securityService;
|
||||
@Autowired
|
||||
private PlayerService playerService;
|
||||
@Autowired
|
||||
private SettingsService settingsService;
|
||||
@Autowired
|
||||
private RatingService ratingService;
|
||||
@Autowired
|
||||
private MediaFileService mediaFileService;
|
||||
@Autowired
|
||||
private AdService adService;
|
||||
|
||||
@Override
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
|
||||
Player player = playerService.getPlayer(request, response);
|
||||
List<MediaFile> mediaFiles = getMediaFiles(request);
|
||||
@@ -91,8 +84,8 @@ public class MainController extends AbstractController {
|
||||
}
|
||||
|
||||
List<MediaFile> children = mediaFiles.size() == 1 ? mediaFileService.getChildrenOf(dir, true, true, true) : getMultiFolderChildren(mediaFiles);
|
||||
List<MediaFile> files = new ArrayList<MediaFile>();
|
||||
List<MediaFile> subDirs = new ArrayList<MediaFile>();
|
||||
List<MediaFile> files = new ArrayList<>();
|
||||
List<MediaFile> subDirs = new ArrayList<>();
|
||||
for (MediaFile child : children) {
|
||||
if (child.isFile()) {
|
||||
files.add(child);
|
||||
@@ -159,9 +152,7 @@ public class MainController extends AbstractController {
|
||||
view = "artistMain";
|
||||
}
|
||||
|
||||
ModelAndView result = new ModelAndView(view);
|
||||
result.addObject("model", map);
|
||||
return result;
|
||||
return new ModelAndView(view,"model",map);
|
||||
}
|
||||
|
||||
private boolean isViewAsList(HttpServletRequest request, UserSettings userSettings) {
|
||||
@@ -188,7 +179,7 @@ public class MainController extends AbstractController {
|
||||
}
|
||||
|
||||
private List<MediaFile> getMediaFiles(HttpServletRequest request) {
|
||||
List<MediaFile> mediaFiles = new ArrayList<MediaFile>();
|
||||
List<MediaFile> mediaFiles = new ArrayList<>();
|
||||
for (String path : ServletRequestUtils.getStringParameters(request, "path")) {
|
||||
MediaFile mediaFile = mediaFileService.getMediaFile(path);
|
||||
if (mediaFile != null) {
|
||||
@@ -223,18 +214,18 @@ public class MainController extends AbstractController {
|
||||
}
|
||||
|
||||
private List<MediaFile> getMultiFolderChildren(List<MediaFile> mediaFiles) throws IOException {
|
||||
SortedSet<MediaFile> result = new TreeSet<MediaFile>(new MediaFileComparator(settingsService.isSortAlbumsByYear()));
|
||||
SortedSet<MediaFile> result = new TreeSet<>(new MediaFileComparator(settingsService.isSortAlbumsByYear()));
|
||||
for (MediaFile mediaFile : mediaFiles) {
|
||||
if (mediaFile.isFile()) {
|
||||
mediaFile = mediaFileService.getParentOf(mediaFile);
|
||||
}
|
||||
result.addAll(mediaFileService.getChildrenOf(mediaFile, true, true, true));
|
||||
}
|
||||
return new ArrayList<MediaFile>(result);
|
||||
return new ArrayList<>(result);
|
||||
}
|
||||
|
||||
private List<MediaFile> getAncestors(MediaFile dir) throws IOException {
|
||||
LinkedList<MediaFile> result = new LinkedList<MediaFile>();
|
||||
LinkedList<MediaFile> result = new LinkedList<>();
|
||||
|
||||
try {
|
||||
MediaFile parent = mediaFileService.getParentOf(dir);
|
||||
@@ -249,41 +240,14 @@ public class MainController extends AbstractController {
|
||||
}
|
||||
|
||||
private List<MediaFile> getSieblingAlbums(MediaFile dir) {
|
||||
List<MediaFile> result = new ArrayList<MediaFile>();
|
||||
List<MediaFile> result = new ArrayList<>();
|
||||
|
||||
MediaFile parent = mediaFileService.getParentOf(dir);
|
||||
if (!mediaFileService.isRoot(parent)) {
|
||||
List<MediaFile> sieblings = mediaFileService.getChildrenOf(parent, false, true, true);
|
||||
for (MediaFile siebling : sieblings) {
|
||||
if (siebling.isAlbum() && !siebling.equals(dir)) {
|
||||
result.add(siebling);
|
||||
}
|
||||
}
|
||||
result.addAll(sieblings.stream().filter(siebling -> siebling.isAlbum() && !siebling.equals(dir)).collect(Collectors.toList()));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void setSecurityService(SecurityService securityService) {
|
||||
this.securityService = securityService;
|
||||
}
|
||||
|
||||
public void setPlayerService(PlayerService playerService) {
|
||||
this.playerService = playerService;
|
||||
}
|
||||
|
||||
public void setSettingsService(SettingsService settingsService) {
|
||||
this.settingsService = settingsService;
|
||||
}
|
||||
|
||||
public void setRatingService(RatingService ratingService) {
|
||||
this.ratingService = ratingService;
|
||||
}
|
||||
|
||||
public void setAdService(AdService adService) {
|
||||
this.adService = adService;
|
||||
}
|
||||
|
||||
public void setMediaFileService(MediaFileService mediaFileService) {
|
||||
this.mediaFileService = mediaFileService;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-5
@@ -36,6 +36,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Controller for the page used to administrate the set of music folders.
|
||||
@@ -97,11 +98,7 @@ public class MusicFolderSettingsController {
|
||||
}
|
||||
|
||||
private List<MusicFolderSettingsCommand.MusicFolderInfo> wrap(List<MusicFolder> musicFolders) {
|
||||
ArrayList<MusicFolderSettingsCommand.MusicFolderInfo> result = new ArrayList<MusicFolderSettingsCommand.MusicFolderInfo>();
|
||||
for (MusicFolder musicFolder : musicFolders) {
|
||||
result.add(new MusicFolderSettingsCommand.MusicFolderInfo(musicFolder));
|
||||
}
|
||||
return result;
|
||||
return musicFolders.stream().map(MusicFolderSettingsCommand.MusicFolderInfo::new).collect(Collectors.toCollection(ArrayList::new));
|
||||
}
|
||||
|
||||
@RequestMapping(method = RequestMethod.POST)
|
||||
|
||||
+19
-13
@@ -19,35 +19,41 @@
|
||||
*/
|
||||
package org.libresonic.player.controller;
|
||||
|
||||
import org.libresonic.player.domain.*;
|
||||
import org.libresonic.player.service.*;
|
||||
import org.springframework.web.servlet.*;
|
||||
import org.springframework.web.servlet.view.*;
|
||||
import org.springframework.web.servlet.mvc.*;
|
||||
import org.libresonic.player.domain.User;
|
||||
import org.libresonic.player.service.SecurityService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.AbstractController;
|
||||
import org.springframework.web.servlet.view.RedirectView;
|
||||
|
||||
import javax.servlet.http.*;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* Controller for the main settings page.
|
||||
*
|
||||
* @author Sindre Mehus
|
||||
*/
|
||||
public class SettingsController extends AbstractController {
|
||||
@Controller
|
||||
@RequestMapping("/settings")
|
||||
public class SettingsController {
|
||||
|
||||
@Autowired
|
||||
private SecurityService securityService;
|
||||
|
||||
|
||||
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
protected ModelAndView handleRequestInternal(HttpServletRequest request) throws Exception {
|
||||
|
||||
User user = securityService.getCurrentUser(request);
|
||||
|
||||
// Redirect to music folder settings if admin.
|
||||
String view = user.isAdminRole() ? "musicFolderSettings.view" : "personalSettings.view";
|
||||
String view = user.isAdminRole() ? "musicFolderSettings" : "personalSettings";
|
||||
|
||||
return new ModelAndView(new RedirectView(view));
|
||||
}
|
||||
|
||||
public void setSecurityService(SecurityService securityService) {
|
||||
this.securityService = securityService;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,35 +29,35 @@
|
||||
<security:intercept-url pattern="/sonos/**" access="permitAll" />
|
||||
<security:intercept-url pattern="/crossdomain.xml" access="permitAll" />
|
||||
|
||||
<!-- ROLE_SETTINGS -->
|
||||
<security:intercept-url pattern="/personalSettings.view" access="ROLE_SETTINGS" />
|
||||
<security:intercept-url pattern="/passwordSettings.view" access="ROLE_SETTINGS" />
|
||||
<security:intercept-url pattern="/playerSettings.view" access="ROLE_SETTINGS" />
|
||||
<security:intercept-url pattern="/shareSettings.view" access="ROLE_SETTINGS" />
|
||||
<!-- hasRole('ROLE_SETTINGS') -->
|
||||
<security:intercept-url pattern="/personalSettings.view" access="hasRole('ROLE_SETTINGS')" />
|
||||
<security:intercept-url pattern="/passwordSettings.view" access="hasRole('ROLE_SETTINGS')" />
|
||||
<security:intercept-url pattern="/playerSettings.view" access="hasRole('ROLE_SETTINGS')" />
|
||||
<security:intercept-url pattern="/shareSettings.view" access="hasRole('ROLE_SETTINGS')" />
|
||||
|
||||
<!-- ROLE_ADMIN -->
|
||||
<security:intercept-url pattern="/generalSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/advancedSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/userSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/musicFolderSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/networkSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/dlnaSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/sonosSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/transcodingSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/internetRadioSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/podcastSettings.view" access="ROLE_ADMIN" />
|
||||
<security:intercept-url pattern="/db.view" access="ROLE_ADMIN" />
|
||||
<!-- hasRole('ROLE_ADMIN') -->
|
||||
<security:intercept-url pattern="/generalSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/advancedSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/userSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/musicFolderSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/networkSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/dlnaSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/sonosSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/transcodingSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/internetRadioSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/podcastSettings.view" access="hasRole('ROLE_ADMIN')" />
|
||||
<security:intercept-url pattern="/db.view" access="hasRole('ROLE_ADMIN')" />
|
||||
|
||||
<!-- MISC -->
|
||||
<security:intercept-url pattern="/deletePlaylist.view" access="ROLE_PLAYLIST" />
|
||||
<security:intercept-url pattern="/savePlaylist.view" access="ROLE_PLAYLIST" />
|
||||
<security:intercept-url pattern="/download.view" access="ROLE_DOWNLOAD" />
|
||||
<security:intercept-url pattern="/upload.view" access="ROLE_UPLOAD" />
|
||||
<security:intercept-url pattern="/createShare.view" access="ROLE_SHARE" />
|
||||
<security:intercept-url pattern="/changeCoverArt.view" access="ROLE_COVERART" />
|
||||
<security:intercept-url pattern="/editTags.view" access="ROLE_COVERART" />
|
||||
<security:intercept-url pattern="/setMusicFileInfo.view" access="ROLE_COMMENT" />
|
||||
<security:intercept-url pattern="/podcastReceiverAdmin.view" access="ROLE_PODCAST" />
|
||||
<security:intercept-url pattern="/deletePlaylist.view" access="hasRole('ROLE_PLAYLIST')" />
|
||||
<security:intercept-url pattern="/savePlaylist.view" access="hasRole('ROLE_PLAYLIST')" />
|
||||
<security:intercept-url pattern="/download.view" access="hasRole('ROLE_DOWNLOAD')" />
|
||||
<security:intercept-url pattern="/upload.view" access="hasRole('ROLE_UPLOAD')" />
|
||||
<security:intercept-url pattern="/createShare.view" access="hasRole('ROLE_SHARE')" />
|
||||
<security:intercept-url pattern="/changeCoverArt.view" access="hasRole('ROLE_COVERART')" />
|
||||
<security:intercept-url pattern="/editTags.view" access="hasRole('ROLE_COVERART')" />
|
||||
<security:intercept-url pattern="/setMusicFileInfo.view" access="hasRole('ROLE_COMMENT')" />
|
||||
<security:intercept-url pattern="/podcastReceiverAdmin.view" access="hasRole('ROLE_PODCAST')" />
|
||||
|
||||
<!-- ROLE_USER -->
|
||||
<security:intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
|
||||
|
||||
@@ -19,14 +19,6 @@
|
||||
<property name="viewName" value="status"/>
|
||||
<property name="statusService" ref="statusService"/>
|
||||
</bean>
|
||||
<bean id="mainController" class="org.libresonic.player.controller.MainController">
|
||||
<property name="securityService" ref="securityService"/>
|
||||
<property name="playerService" ref="playerService"/>
|
||||
<property name="settingsService" ref="settingsService"/>
|
||||
<property name="ratingService" ref="ratingService"/>
|
||||
<property name="mediaFileService" ref="mediaFileService"/>
|
||||
<property name="adService" ref="adService"/>
|
||||
</bean>
|
||||
<bean id="playlistController" class="org.libresonic.player.controller.PlaylistController">
|
||||
<property name="viewName" value="playlist"/>
|
||||
<property name="securityService" ref="securityService"/>
|
||||
@@ -137,9 +129,6 @@
|
||||
<property name="mediaFileDao" ref="mediaFileDao"/>
|
||||
<property name="mediaFileService" ref="mediaFileService"/>
|
||||
</bean>
|
||||
<bean id="settingsController" class="org.libresonic.player.controller.SettingsController">
|
||||
<property name="securityService" ref="securityService"/>
|
||||
</bean>
|
||||
<bean id="dlnaSettingsController" class="org.libresonic.player.controller.DLNASettingsController">
|
||||
<property name="viewName" value="dlnaSettings"/>
|
||||
<property name="upnpService" ref="upnpService"/>
|
||||
@@ -177,15 +166,6 @@
|
||||
<property name="mediaFileService" ref="mediaFileService"/>
|
||||
<property name="metaDataParserFactory" ref="metaDataParserFactory"/>
|
||||
</bean>
|
||||
<bean id="coverArtController" class="org.libresonic.player.controller.CoverArtController" init-method="init">
|
||||
<property name="mediaFileService" ref="mediaFileService"/>
|
||||
<property name="transcodingService" ref="transcodingService"/>
|
||||
<property name="settingsService" ref="settingsService"/>
|
||||
<property name="playlistService" ref="playlistService"/>
|
||||
<property name="podcastService" ref="podcastService"/>
|
||||
<property name="artistDao" ref="artistDao"/>
|
||||
<property name="albumDao" ref="albumDao"/>
|
||||
</bean>
|
||||
<bean id="avatarController" class="org.libresonic.player.controller.AvatarController">
|
||||
<property name="settingsService" ref="settingsService"/>
|
||||
</bean>
|
||||
@@ -294,7 +274,6 @@
|
||||
<property name="alwaysUseFullPath" value="true"/>
|
||||
<property name="mappings">
|
||||
<props>
|
||||
<prop key="/main.view">mainController</prop>
|
||||
<prop key="/playlist.view">playlistController</prop>
|
||||
<prop key="/playlists.view">playlistsController</prop>
|
||||
<prop key="/help.view">helpController</prop>
|
||||
@@ -315,7 +294,6 @@
|
||||
<prop key="/index.view">multiController</prop>
|
||||
<prop key="/videoPlayer.view">videoPlayerController</prop>
|
||||
<prop key="/starred.view">starredController</prop>
|
||||
<prop key="/settings.view">settingsController</prop>
|
||||
<prop key="/dlnaSettings.view">dlnaSettingsController</prop>
|
||||
<prop key="/sonosSettings.view">sonosSettingsController</prop>
|
||||
<prop key="/shareSettings.view">shareSettingsController</prop>
|
||||
@@ -324,7 +302,6 @@
|
||||
<prop key="/avatarUpload.view">avatarUploadController</prop>
|
||||
<prop key="/allmusic.view">allmusicController</prop>
|
||||
<prop key="/editTags.view">editTagsController</prop>
|
||||
<prop key="/coverArt.view">coverArtController</prop>
|
||||
<prop key="/avatar.view">avatarController</prop>
|
||||
<prop key="/proxy.view">proxyController</prop>
|
||||
<prop key="/statusChart.view">statusChartController</prop>
|
||||
|
||||
Reference in New Issue
Block a user