diff --git a/libresonic-main/src/main/java/org/libresonic/player/controller/GeneralSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/GeneralSettingsController.java index 9c1b5ffb..daa38959 100644 --- a/libresonic-main/src/main/java/org/libresonic/player/controller/GeneralSettingsController.java +++ b/libresonic-main/src/main/java/org/libresonic/player/controller/GeneralSettingsController.java @@ -23,6 +23,12 @@ import java.util.Locale; import javax.servlet.http.HttpServletRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.mvc.SimpleFormController; import org.libresonic.player.command.GeneralSettingsCommand; @@ -34,11 +40,15 @@ import org.libresonic.player.service.SettingsService; * * @author Sindre Mehus */ -public class GeneralSettingsController extends SimpleFormController { +@Controller +@RequestMapping("/generalSettings") +public class GeneralSettingsController { + @Autowired private SettingsService settingsService; - protected Object formBackingObject(HttpServletRequest request) throws Exception { + @RequestMapping(method = RequestMethod.GET) + protected String formBackingObject(Model model) throws Exception { GeneralSettingsCommand command = new GeneralSettingsCommand(); command.setCoverArtFileTypes(settingsService.getCoverArtFileTypes()); command.setIgnoredArticles(settingsService.getIgnoredArticles()); @@ -76,12 +86,12 @@ public class GeneralSettingsController extends SimpleFormController { } command.setLocales(localeStrings); - return command; - + model.addAttribute("command",command); + return "generalSettings"; } - protected void doSubmitAction(Object comm) throws Exception { - GeneralSettingsCommand command = (GeneralSettingsCommand) comm; + @RequestMapping(method = RequestMethod.POST) + protected String doSubmitAction(@ModelAttribute GeneralSettingsCommand command, Model model) throws Exception { int themeIndex = Integer.parseInt(command.getThemeIndex()); Theme theme = settingsService.getAvailableThemes()[themeIndex]; @@ -112,9 +122,8 @@ public class GeneralSettingsController extends SimpleFormController { settingsService.setThemeId(theme.getId()); settingsService.setLocale(locale); settingsService.save(); - } - public void setSettingsService(SettingsService settingsService) { - this.settingsService = settingsService; + return "redirect:generalSettings.view"; } + } diff --git a/libresonic-main/src/main/webapp/WEB-INF/libresonic-servlet.xml b/libresonic-main/src/main/webapp/WEB-INF/libresonic-servlet.xml index 270279f6..690befd5 100644 --- a/libresonic-main/src/main/webapp/WEB-INF/libresonic-servlet.xml +++ b/libresonic-main/src/main/webapp/WEB-INF/libresonic-servlet.xml @@ -208,12 +208,6 @@ - - - - - - @@ -435,7 +429,6 @@ shareSettingsController transcodingSettingsController internetRadioSettingsController - generalSettingsController personalSettingsController avatarUploadController userSettingsController