Move to Spring4 + remove PasswordSettingsController + remove PremiumSettingsController
This commit is contained in:
-75
@@ -1,75 +0,0 @@
|
|||||||
/*
|
|
||||||
This file is part of Libresonic.
|
|
||||||
|
|
||||||
Libresonic is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Libresonic is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Copyright 2016 (C) Libresonic Authors
|
|
||||||
Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
|
|
||||||
*/
|
|
||||||
package org.libresonic.player.command;
|
|
||||||
|
|
||||||
import org.libresonic.player.controller.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Command used in {@link PasswordSettingsController}.
|
|
||||||
*
|
|
||||||
* @author Sindre Mehus
|
|
||||||
*/
|
|
||||||
public class PasswordSettingsCommand {
|
|
||||||
private String username;
|
|
||||||
private String password;
|
|
||||||
private String confirmPassword;
|
|
||||||
private boolean ldapAuthenticated;
|
|
||||||
private boolean toast;
|
|
||||||
|
|
||||||
public String getUsername() {
|
|
||||||
return username;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUsername(String username) {
|
|
||||||
this.username = username;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPassword() {
|
|
||||||
return password;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPassword(String password) {
|
|
||||||
this.password = password;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getConfirmPassword() {
|
|
||||||
return confirmPassword;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setConfirmPassword(String confirmPassword) {
|
|
||||||
this.confirmPassword = confirmPassword;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isLdapAuthenticated() {
|
|
||||||
return ldapAuthenticated;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLdapAuthenticated(boolean ldapAuthenticated) {
|
|
||||||
this.ldapAuthenticated = ldapAuthenticated;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isToast() {
|
|
||||||
return toast;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setToast(boolean toast) {
|
|
||||||
this.toast = toast;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-107
@@ -1,107 +0,0 @@
|
|||||||
/*
|
|
||||||
This file is part of Libresonic.
|
|
||||||
|
|
||||||
Libresonic is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Libresonic is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Copyright 2016 (C) Libresonic Authors
|
|
||||||
Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
|
|
||||||
*/
|
|
||||||
package org.libresonic.player.command;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
|
|
||||||
import org.libresonic.player.controller.PremiumSettingsController;
|
|
||||||
import org.libresonic.player.domain.LicenseInfo;
|
|
||||||
import org.libresonic.player.domain.User;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Command used in {@link PremiumSettingsController}.
|
|
||||||
*
|
|
||||||
* @author Sindre Mehus
|
|
||||||
*/
|
|
||||||
public class PremiumSettingsCommand {
|
|
||||||
|
|
||||||
private String path;
|
|
||||||
private String brand;
|
|
||||||
private LicenseInfo licenseInfo;
|
|
||||||
private String licenseCode;
|
|
||||||
private boolean forceChange;
|
|
||||||
private boolean submissionError;
|
|
||||||
private User user;
|
|
||||||
private boolean toast;
|
|
||||||
|
|
||||||
public String getPath() {
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPath(String path) {
|
|
||||||
this.path = path;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBrand() {
|
|
||||||
return brand;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBrand(String brand) {
|
|
||||||
this.brand = brand;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LicenseInfo getLicenseInfo() {
|
|
||||||
return licenseInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLicenseCode() {
|
|
||||||
return licenseCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLicenseCode(String licenseCode) {
|
|
||||||
this.licenseCode = StringUtils.trimToNull(licenseCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLicenseInfo(LicenseInfo licenseInfo) {
|
|
||||||
this.licenseInfo = licenseInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isForceChange() {
|
|
||||||
return forceChange;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setForceChange(boolean forceChange) {
|
|
||||||
this.forceChange = forceChange;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSubmissionError() {
|
|
||||||
return submissionError;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSubmissionError(boolean submissionError) {
|
|
||||||
this.submissionError = submissionError;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUser(User user) {
|
|
||||||
this.user = user;
|
|
||||||
}
|
|
||||||
|
|
||||||
public User getUser() {
|
|
||||||
return user;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setToast(boolean toast) {
|
|
||||||
this.toast = toast;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isToast() {
|
|
||||||
return toast;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+4
-8
@@ -19,21 +19,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.libresonic.player.controller;
|
package org.libresonic.player.controller;
|
||||||
|
|
||||||
import java.util.Locale;
|
import org.libresonic.player.command.GeneralSettingsCommand;
|
||||||
|
import org.libresonic.player.domain.Theme;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import org.libresonic.player.service.SettingsService;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
|
|
||||||
import org.libresonic.player.command.GeneralSettingsCommand;
|
import java.util.Locale;
|
||||||
import org.libresonic.player.domain.Theme;
|
|
||||||
import org.libresonic.player.service.SettingsService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller for the page used to administrate general settings.
|
* Controller for the page used to administrate general settings.
|
||||||
|
|||||||
-6
@@ -20,14 +20,12 @@
|
|||||||
package org.libresonic.player.controller;
|
package org.libresonic.player.controller;
|
||||||
|
|
||||||
import org.libresonic.player.command.MusicFolderSettingsCommand;
|
import org.libresonic.player.command.MusicFolderSettingsCommand;
|
||||||
import org.libresonic.player.command.NetworkSettingsCommand;
|
|
||||||
import org.libresonic.player.dao.AlbumDao;
|
import org.libresonic.player.dao.AlbumDao;
|
||||||
import org.libresonic.player.dao.ArtistDao;
|
import org.libresonic.player.dao.ArtistDao;
|
||||||
import org.libresonic.player.dao.MediaFileDao;
|
import org.libresonic.player.dao.MediaFileDao;
|
||||||
import org.libresonic.player.domain.MusicFolder;
|
import org.libresonic.player.domain.MusicFolder;
|
||||||
import org.libresonic.player.service.MediaScannerService;
|
import org.libresonic.player.service.MediaScannerService;
|
||||||
import org.libresonic.player.service.SettingsService;
|
import org.libresonic.player.service.SettingsService;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
@@ -35,11 +33,7 @@ import org.springframework.web.bind.annotation.ModelAttribute;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
import org.springframework.web.servlet.view.RedirectView;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
+5
-10
@@ -19,24 +19,19 @@
|
|||||||
*/
|
*/
|
||||||
package org.libresonic.player.controller;
|
package org.libresonic.player.controller;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.tools.ant.taskdefs.ManifestTask;
|
import org.libresonic.player.command.NetworkSettingsCommand;
|
||||||
|
import org.libresonic.player.domain.UrlRedirectType;
|
||||||
|
import org.libresonic.player.service.NetworkService;
|
||||||
|
import org.libresonic.player.service.SettingsService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
|
|
||||||
import org.libresonic.player.command.NetworkSettingsCommand;
|
import java.util.Random;
|
||||||
import org.libresonic.player.domain.UrlRedirectType;
|
|
||||||
import org.libresonic.player.service.NetworkService;
|
|
||||||
import org.libresonic.player.service.SettingsService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller for the page used to change the network settings.
|
* Controller for the page used to change the network settings.
|
||||||
|
|||||||
-60
@@ -1,60 +0,0 @@
|
|||||||
/*
|
|
||||||
This file is part of Libresonic.
|
|
||||||
|
|
||||||
Libresonic is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Libresonic is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Copyright 2016 (C) Libresonic Authors
|
|
||||||
Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
|
|
||||||
*/
|
|
||||||
package org.libresonic.player.controller;
|
|
||||||
|
|
||||||
import org.springframework.web.servlet.mvc.*;
|
|
||||||
import org.libresonic.player.service.*;
|
|
||||||
import org.libresonic.player.command.*;
|
|
||||||
import org.libresonic.player.domain.*;
|
|
||||||
|
|
||||||
import javax.servlet.http.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Controller for the page used to change password.
|
|
||||||
*
|
|
||||||
* @author Sindre Mehus
|
|
||||||
*/
|
|
||||||
public class PasswordSettingsController extends SimpleFormController {
|
|
||||||
|
|
||||||
private SecurityService securityService;
|
|
||||||
|
|
||||||
protected Object formBackingObject(HttpServletRequest request) throws Exception {
|
|
||||||
PasswordSettingsCommand command = new PasswordSettingsCommand();
|
|
||||||
User user = securityService.getCurrentUser(request);
|
|
||||||
command.setUsername(user.getUsername());
|
|
||||||
command.setLdapAuthenticated(user.isLdapAuthenticated());
|
|
||||||
return command;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void doSubmitAction(Object comm) throws Exception {
|
|
||||||
PasswordSettingsCommand command = (PasswordSettingsCommand) comm;
|
|
||||||
User user = securityService.getUserByName(command.getUsername());
|
|
||||||
user.setPassword(command.getPassword());
|
|
||||||
securityService.updateUser(user);
|
|
||||||
|
|
||||||
command.setPassword(null);
|
|
||||||
command.setConfirmPassword(null);
|
|
||||||
command.setToast(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSecurityService(SecurityService securityService) {
|
|
||||||
this.securityService = securityService;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+7
-14
@@ -19,28 +19,21 @@
|
|||||||
*/
|
*/
|
||||||
package org.libresonic.player.controller;
|
package org.libresonic.player.controller;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.libresonic.player.command.PersonalSettingsCommand;
|
||||||
|
import org.libresonic.player.domain.*;
|
||||||
|
import org.libresonic.player.service.SecurityService;
|
||||||
|
import org.libresonic.player.service.SettingsService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
|
|
||||||
import org.libresonic.player.command.PersonalSettingsCommand;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import org.libresonic.player.domain.AlbumListType;
|
import java.util.Date;
|
||||||
import org.libresonic.player.domain.AvatarScheme;
|
import java.util.Locale;
|
||||||
import org.libresonic.player.domain.Theme;
|
|
||||||
import org.libresonic.player.domain.User;
|
|
||||||
import org.libresonic.player.domain.UserSettings;
|
|
||||||
import org.libresonic.player.service.SecurityService;
|
|
||||||
import org.libresonic.player.service.SettingsService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller for the page used to administrate per-user settings.
|
* Controller for the page used to administrate per-user settings.
|
||||||
|
|||||||
+8
-15
@@ -19,29 +19,22 @@
|
|||||||
*/
|
*/
|
||||||
package org.libresonic.player.controller;
|
package org.libresonic.player.controller;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.libresonic.player.command.PlayerSettingsCommand;
|
||||||
|
import org.libresonic.player.domain.*;
|
||||||
|
import org.libresonic.player.service.PlayerService;
|
||||||
|
import org.libresonic.player.service.SecurityService;
|
||||||
|
import org.libresonic.player.service.TranscodingService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
|
|
||||||
import org.libresonic.player.command.PlayerSettingsCommand;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import org.libresonic.player.domain.Player;
|
import java.util.ArrayList;
|
||||||
import org.libresonic.player.domain.PlayerTechnology;
|
import java.util.List;
|
||||||
import org.libresonic.player.domain.TranscodeScheme;
|
|
||||||
import org.libresonic.player.domain.Transcoding;
|
|
||||||
import org.libresonic.player.domain.User;
|
|
||||||
import org.libresonic.player.service.PlayerService;
|
|
||||||
import org.libresonic.player.service.SecurityService;
|
|
||||||
import org.libresonic.player.service.TranscodingService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller for the player settings page.
|
* Controller for the player settings page.
|
||||||
|
|||||||
+3
-6
@@ -19,18 +19,15 @@
|
|||||||
*/
|
*/
|
||||||
package org.libresonic.player.controller;
|
package org.libresonic.player.controller;
|
||||||
|
|
||||||
|
import org.libresonic.player.command.PodcastSettingsCommand;
|
||||||
|
import org.libresonic.player.service.PodcastService;
|
||||||
|
import org.libresonic.player.service.SettingsService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
import org.libresonic.player.service.SettingsService;
|
|
||||||
import org.libresonic.player.service.PodcastService;
|
|
||||||
import org.libresonic.player.command.PodcastSettingsCommand;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller for the page used to administrate the Podcast receiver.
|
* Controller for the page used to administrate the Podcast receiver.
|
||||||
|
|||||||
-80
@@ -1,80 +0,0 @@
|
|||||||
/*
|
|
||||||
This file is part of Libresonic.
|
|
||||||
|
|
||||||
Libresonic is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Libresonic is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Copyright 2016 (C) Libresonic Authors
|
|
||||||
Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
|
|
||||||
*/
|
|
||||||
package org.libresonic.player.controller;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
|
|
||||||
import org.springframework.validation.BindException;
|
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
|
|
||||||
import org.libresonic.player.command.PremiumSettingsCommand;
|
|
||||||
import org.libresonic.player.service.SecurityService;
|
|
||||||
import org.libresonic.player.service.SettingsService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Controller for the Subsonic Premium page.
|
|
||||||
*
|
|
||||||
* @author Sindre Mehus
|
|
||||||
*/
|
|
||||||
public class PremiumSettingsController extends SimpleFormController {
|
|
||||||
|
|
||||||
private SettingsService settingsService;
|
|
||||||
private SecurityService securityService;
|
|
||||||
|
|
||||||
protected Object formBackingObject(HttpServletRequest request) throws Exception {
|
|
||||||
PremiumSettingsCommand command = new PremiumSettingsCommand();
|
|
||||||
command.setPath(request.getParameter("path"));
|
|
||||||
command.setForceChange(request.getParameter("change") != null);
|
|
||||||
command.setLicenseInfo(settingsService.getLicenseInfo());
|
|
||||||
command.setBrand(settingsService.getBrand());
|
|
||||||
command.setUser(securityService.getCurrentUser(request));
|
|
||||||
return command;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object com, BindException errors)
|
|
||||||
throws Exception {
|
|
||||||
PremiumSettingsCommand command = (PremiumSettingsCommand) com;
|
|
||||||
Date now = new Date();
|
|
||||||
|
|
||||||
settingsService.setLicenseCode(command.getLicenseCode());
|
|
||||||
settingsService.setLicenseEmail(command.getLicenseInfo().getLicenseEmail());
|
|
||||||
settingsService.setLicenseDate(now);
|
|
||||||
settingsService.save();
|
|
||||||
settingsService.scheduleLicenseValidation();
|
|
||||||
|
|
||||||
// Reflect changes in view. The validator will validate the license asynchronously.
|
|
||||||
command.setLicenseInfo(settingsService.getLicenseInfo());
|
|
||||||
command.setToast(true);
|
|
||||||
|
|
||||||
return new ModelAndView(getSuccessView(), errors.getModel());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSettingsService(SettingsService settingsService) {
|
|
||||||
this.settingsService = settingsService;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSecurityService(SecurityService securityService) {
|
|
||||||
this.securityService = securityService;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+11
-20
@@ -19,32 +19,23 @@
|
|||||||
*/
|
*/
|
||||||
package org.libresonic.player.controller;
|
package org.libresonic.player.controller;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.ui.Model;
|
|
||||||
import org.springframework.validation.BindException;
|
|
||||||
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.ModelAndView;
|
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
|
|
||||||
import org.libresonic.player.command.SearchCommand;
|
import org.libresonic.player.command.SearchCommand;
|
||||||
import org.libresonic.player.domain.MusicFolder;
|
import org.libresonic.player.domain.*;
|
||||||
import org.libresonic.player.domain.SearchCriteria;
|
|
||||||
import org.libresonic.player.domain.SearchResult;
|
|
||||||
import org.libresonic.player.domain.User;
|
|
||||||
import org.libresonic.player.domain.UserSettings;
|
|
||||||
import org.libresonic.player.service.PlayerService;
|
import org.libresonic.player.service.PlayerService;
|
||||||
import org.libresonic.player.service.SearchService;
|
import org.libresonic.player.service.SearchService;
|
||||||
import org.libresonic.player.service.SecurityService;
|
import org.libresonic.player.service.SecurityService;
|
||||||
import org.libresonic.player.service.SettingsService;
|
import org.libresonic.player.service.SettingsService;
|
||||||
|
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 javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller for the search page.
|
* Controller for the search page.
|
||||||
|
|||||||
+1
-5
@@ -19,6 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.libresonic.player.controller;
|
package org.libresonic.player.controller;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.libresonic.player.command.UserSettingsCommand;
|
import org.libresonic.player.command.UserSettingsCommand;
|
||||||
import org.libresonic.player.domain.MusicFolder;
|
import org.libresonic.player.domain.MusicFolder;
|
||||||
import org.libresonic.player.domain.TranscodeScheme;
|
import org.libresonic.player.domain.TranscodeScheme;
|
||||||
@@ -28,22 +29,17 @@ import org.libresonic.player.service.SecurityService;
|
|||||||
import org.libresonic.player.service.SettingsService;
|
import org.libresonic.player.service.SettingsService;
|
||||||
import org.libresonic.player.service.TranscodingService;
|
import org.libresonic.player.service.TranscodingService;
|
||||||
import org.libresonic.player.util.Util;
|
import org.libresonic.player.util.Util;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
import org.libresonic.player.validator.UserSettingsValidator;
|
import org.libresonic.player.validator.UserSettingsValidator;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.validation.BindingResult;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.ServletRequestBindingException;
|
import org.springframework.web.bind.ServletRequestBindingException;
|
||||||
import org.springframework.web.bind.ServletRequestUtils;
|
import org.springframework.web.bind.ServletRequestUtils;
|
||||||
import org.springframework.web.bind.WebDataBinder;
|
import org.springframework.web.bind.WebDataBinder;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ public class RatingDao extends AbstractDao {
|
|||||||
*/
|
*/
|
||||||
public Integer getRatingForUser(String username, MediaFile mediaFile) {
|
public Integer getRatingForUser(String username, MediaFile mediaFile) {
|
||||||
try {
|
try {
|
||||||
return getJdbcTemplate().queryForInt("select rating from user_rating where username=? and path=?", new Object[]{username, mediaFile.getPath()});
|
return getJdbcTemplate().queryForObject("select rating from user_rating where username=? and path=?", new Object[]{username, mediaFile.getPath()},Integer.class);
|
||||||
} catch (EmptyResultDataAccessException x) {
|
} catch (EmptyResultDataAccessException x) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ public abstract class Schema {
|
|||||||
|
|
||||||
protected boolean rowExists(JdbcTemplate template, String whereClause, String table) {
|
protected boolean rowExists(JdbcTemplate template, String whereClause, String table) {
|
||||||
try {
|
try {
|
||||||
int rowCount = template.queryForInt("select count(*) from " + table + " where " + whereClause);
|
int rowCount = template.queryForObject("select count(*) from " + table + " where " + whereClause,Integer.class);
|
||||||
return rowCount > 0;
|
return rowCount > 0;
|
||||||
} catch (Exception x) {
|
} catch (Exception x) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class Schema26 extends Schema {
|
|||||||
|
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 2") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 2",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 2.");
|
LOG.info("Updating database schema to version 2.");
|
||||||
template.execute("insert into version values (2)");
|
template.execute("insert into version values (2)");
|
||||||
}
|
}
|
||||||
@@ -99,7 +99,7 @@ public class Schema26 extends Schema {
|
|||||||
LOG.info("Database column 'player.dynamic_ip' was added successfully.");
|
LOG.info("Database column 'player.dynamic_ip' was added successfully.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from role where id = 6") == 0) {
|
if (template.queryForObject("select count(*) from role where id = 6",Integer.class) == 0) {
|
||||||
LOG.info("Role 'comment' not found in database. Creating it.");
|
LOG.info("Role 'comment' not found in database. Creating it.");
|
||||||
template.execute("insert into role values (6, 'comment')");
|
template.execute("insert into role values (6, 'comment')");
|
||||||
template.execute("insert into user_role " +
|
template.execute("insert into user_role " +
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class Schema27 extends Schema {
|
|||||||
|
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 3") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 3",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 3.");
|
LOG.info("Updating database schema to version 3.");
|
||||||
template.execute("insert into version values (3)");
|
template.execute("insert into version values (3)");
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class Schema28 extends Schema {
|
|||||||
|
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 4") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 4",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 4.");
|
LOG.info("Updating database schema to version 4.");
|
||||||
template.execute("insert into version values (4)");
|
template.execute("insert into version values (4)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class Schema29 extends Schema {
|
|||||||
|
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 5") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 5",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 5.");
|
LOG.info("Updating database schema to version 5.");
|
||||||
template.execute("insert into version values (5)");
|
template.execute("insert into version values (5)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class Schema30 extends Schema {
|
|||||||
|
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 6") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 6", Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 6.");
|
LOG.info("Updating database schema to version 6.");
|
||||||
template.execute("insert into version values (6)");
|
template.execute("insert into version values (6)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class Schema31 extends Schema {
|
|||||||
|
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 7") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 7",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 7.");
|
LOG.info("Updating database schema to version 7.");
|
||||||
template.execute("insert into version values (7)");
|
template.execute("insert into version values (7)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class Schema32 extends Schema {
|
|||||||
|
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 8") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 8",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 8.");
|
LOG.info("Updating database schema to version 8.");
|
||||||
template.execute("insert into version values (8)");
|
template.execute("insert into version values (8)");
|
||||||
}
|
}
|
||||||
@@ -83,7 +83,7 @@ public class Schema32 extends Schema {
|
|||||||
LOG.info("Database table 'podcast_episode' was created successfully.");
|
LOG.info("Database table 'podcast_episode' was created successfully.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from role where id = 7") == 0) {
|
if (template.queryForObject("select count(*) from role where id = 7",Integer.class) == 0) {
|
||||||
LOG.info("Role 'podcast' not found in database. Creating it.");
|
LOG.info("Role 'podcast' not found in database. Creating it.");
|
||||||
template.execute("insert into role values (7, 'podcast')");
|
template.execute("insert into role values (7, 'podcast')");
|
||||||
template.execute("insert into user_role " +
|
template.execute("insert into user_role " +
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class Schema33 extends Schema {
|
|||||||
|
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 9") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 9",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 9.");
|
LOG.info("Updating database schema to version 9.");
|
||||||
template.execute("insert into version values (9)");
|
template.execute("insert into version values (9)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class Schema34 extends Schema {
|
|||||||
|
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 10") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 10",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 10.");
|
LOG.info("Updating database schema to version 10.");
|
||||||
template.execute("insert into version values (10)");
|
template.execute("insert into version values (10)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ public class Schema35 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 11") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 11",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 11.");
|
LOG.info("Updating database schema to version 11.");
|
||||||
template.execute("insert into version values (11)");
|
template.execute("insert into version values (11)");
|
||||||
}
|
}
|
||||||
@@ -75,7 +75,7 @@ public class Schema35 extends Schema {
|
|||||||
LOG.info("Database column 'user_settings.web_player_default' was added successfully.");
|
LOG.info("Database column 'user_settings.web_player_default' was added successfully.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from role where id = 8") == 0) {
|
if (template.queryForObject("select count(*) from role where id = 8",Integer.class) == 0) {
|
||||||
LOG.info("Role 'stream' not found in database. Creating it.");
|
LOG.info("Role 'stream' not found in database. Creating it.");
|
||||||
template.execute("insert into role values (8, 'stream')");
|
template.execute("insert into role values (8, 'stream')");
|
||||||
template.execute("insert into user_role select distinct u.username, 8 from user u");
|
template.execute("insert into user_role select distinct u.username, 8 from user u");
|
||||||
@@ -135,7 +135,7 @@ public class Schema35 extends Schema {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void createAvatar(JdbcTemplate template, String avatar) {
|
private void createAvatar(JdbcTemplate template, String avatar) {
|
||||||
if (template.queryForInt("select count(*) from system_avatar where name = ?", new Object[]{avatar}) == 0) {
|
if (template.queryForObject("select count(*) from system_avatar where name = ?", new Object[]{avatar},Integer.class) == 0) {
|
||||||
|
|
||||||
InputStream in = null;
|
InputStream in = null;
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class Schema36 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 12") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 12",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 12.");
|
LOG.info("Updating database schema to version 12.");
|
||||||
template.execute("insert into version values (12)");
|
template.execute("insert into version values (12)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,19 +37,19 @@ public class Schema37 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 13") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 13",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 13.");
|
LOG.info("Updating database schema to version 13.");
|
||||||
template.execute("insert into version values (13)");
|
template.execute("insert into version values (13)");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from role where id = 9") == 0) {
|
if (template.queryForObject("select count(*) from role where id = 9",Integer.class) == 0) {
|
||||||
LOG.info("Role 'settings' not found in database. Creating it.");
|
LOG.info("Role 'settings' not found in database. Creating it.");
|
||||||
template.execute("insert into role values (9, 'settings')");
|
template.execute("insert into role values (9, 'settings')");
|
||||||
template.execute("insert into user_role select distinct u.username, 9 from user u");
|
template.execute("insert into user_role select distinct u.username, 9 from user u");
|
||||||
LOG.info("Role 'settings' was created successfully.");
|
LOG.info("Role 'settings' was created successfully.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from role where id = 10") == 0) {
|
if (template.queryForObject("select count(*) from role where id = 10",Integer.class) == 0) {
|
||||||
LOG.info("Role 'jukebox' not found in database. Creating it.");
|
LOG.info("Role 'jukebox' not found in database. Creating it.");
|
||||||
template.execute("insert into role values (10, 'jukebox')");
|
template.execute("insert into role values (10, 'jukebox')");
|
||||||
template.execute("insert into user_role " +
|
template.execute("insert into user_role " +
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class Schema38 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 14") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 14",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 14.");
|
LOG.info("Updating database schema to version 14.");
|
||||||
template.execute("insert into version values (14)");
|
template.execute("insert into version values (14)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class Schema40 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 15") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 15",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 15.");
|
LOG.info("Updating database schema to version 15.");
|
||||||
template.execute("insert into version values (15)");
|
template.execute("insert into version values (15)");
|
||||||
|
|
||||||
|
|||||||
@@ -40,12 +40,12 @@ public class Schema43 extends Schema {
|
|||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
// version 16 was used for 4.3.beta1
|
// version 16 was used for 4.3.beta1
|
||||||
if (template.queryForInt("select count(*) from version where version = 16") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 16",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 16.");
|
LOG.info("Updating database schema to version 16.");
|
||||||
template.execute("insert into version values (16)");
|
template.execute("insert into version values (16)");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 17") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 17",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 17.");
|
LOG.info("Updating database schema to version 17.");
|
||||||
template.execute("insert into version values (17)");
|
template.execute("insert into version values (17)");
|
||||||
|
|
||||||
|
|||||||
@@ -37,12 +37,12 @@ public class Schema45 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 18") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 18",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 18.");
|
LOG.info("Updating database schema to version 18.");
|
||||||
template.execute("insert into version values (18)");
|
template.execute("insert into version values (18)");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from role where id = 11") == 0) {
|
if (template.queryForObject("select count(*) from role where id = 11",Integer.class) == 0) {
|
||||||
LOG.info("Role 'share' not found in database. Creating it.");
|
LOG.info("Role 'share' not found in database. Creating it.");
|
||||||
template.execute("insert into role values (11, 'share')");
|
template.execute("insert into role values (11, 'share')");
|
||||||
template.execute("insert into user_role " +
|
template.execute("insert into user_role " +
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class Schema46 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 19") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 19",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 19.");
|
LOG.info("Updating database schema to version 19.");
|
||||||
template.execute("insert into version values (19)");
|
template.execute("insert into version values (19)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class Schema47 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 20") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 20",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 20.");
|
LOG.info("Updating database schema to version 20.");
|
||||||
template.execute("insert into version values (20)");
|
template.execute("insert into version values (20)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class Schema49 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 21") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 21",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 21.");
|
LOG.info("Updating database schema to version 21.");
|
||||||
template.execute("insert into version values (21)");
|
template.execute("insert into version values (21)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class Schema50 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 22") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 22",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 22.");
|
LOG.info("Updating database schema to version 22.");
|
||||||
template.execute("insert into version values (22)");
|
template.execute("insert into version values (22)");
|
||||||
|
|
||||||
@@ -57,7 +57,7 @@ public class Schema50 extends Schema {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Added in 5.0.beta2
|
// Added in 5.0.beta2
|
||||||
if (template.queryForInt("select count(*) from version where version = 23") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 23",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 23.");
|
LOG.info("Updating database schema to version 23.");
|
||||||
template.execute("insert into version values (23)");
|
template.execute("insert into version values (23)");
|
||||||
template.execute("update transcoding2 set step1='ffmpeg -i %s -map 0:0 -b:a %bk -v 0 -f mp3 -' where name='mp3 audio'");
|
template.execute("update transcoding2 set step1='ffmpeg -i %s -map 0:0 -b:a %bk -v 0 -f mp3 -' where name='mp3 audio'");
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class Schema51 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 23") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 23",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 23.");
|
LOG.info("Updating database schema to version 23.");
|
||||||
template.execute("insert into version values (23)");
|
template.execute("insert into version values (23)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class Schema52 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 24") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 24",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 24.");
|
LOG.info("Updating database schema to version 24.");
|
||||||
template.execute("insert into version values (24)");
|
template.execute("insert into version values (24)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class Schema53 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 25") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 25",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 25.");
|
LOG.info("Updating database schema to version 25.");
|
||||||
template.execute("insert into version values (25)");
|
template.execute("insert into version values (25)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class Schema61 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 26") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 26",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 26.");
|
LOG.info("Updating database schema to version 26.");
|
||||||
template.execute("insert into version values (26)");
|
template.execute("insert into version values (26)");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class Schema62 extends Schema {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JdbcTemplate template) {
|
public void execute(JdbcTemplate template) {
|
||||||
|
|
||||||
if (template.queryForInt("select count(*) from version where version = 27") == 0) {
|
if (template.queryForObject("select count(*) from version where version = 27",Integer.class) == 0) {
|
||||||
LOG.info("Updating database schema to version 27.");
|
LOG.info("Updating database schema to version 27.");
|
||||||
template.execute("insert into version values (27)");
|
template.execute("insert into version values (27)");
|
||||||
}
|
}
|
||||||
|
|||||||
-46
@@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
This file is part of Libresonic.
|
|
||||||
|
|
||||||
Libresonic is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Libresonic is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Copyright 2016 (C) Libresonic Authors
|
|
||||||
Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
|
|
||||||
*/
|
|
||||||
package org.libresonic.player.validator;
|
|
||||||
|
|
||||||
import org.springframework.validation.*;
|
|
||||||
import org.libresonic.player.command.*;
|
|
||||||
import org.libresonic.player.controller.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Validator for {@link PasswordSettingsController}.
|
|
||||||
*
|
|
||||||
* @author Sindre Mehus
|
|
||||||
*/
|
|
||||||
public class PasswordSettingsValidator implements Validator {
|
|
||||||
|
|
||||||
public boolean supports(Class clazz) {
|
|
||||||
return clazz.equals(PasswordSettingsCommand.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void validate(Object obj, Errors errors) {
|
|
||||||
PasswordSettingsCommand command = (PasswordSettingsCommand) obj;
|
|
||||||
|
|
||||||
if (command.getPassword() == null || command.getPassword().length() == 0) {
|
|
||||||
errors.rejectValue("password", "usersettings.nopassword");
|
|
||||||
} else if (!command.getPassword().equals(command.getConfirmPassword())) {
|
|
||||||
errors.rejectValue("password", "usersettings.wrongpassword");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-53
@@ -1,53 +0,0 @@
|
|||||||
/*
|
|
||||||
This file is part of Libresonic.
|
|
||||||
|
|
||||||
Libresonic is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Libresonic is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Libresonic. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Copyright 2016 (C) Libresonic Authors
|
|
||||||
Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
|
|
||||||
*/
|
|
||||||
package org.libresonic.player.validator;
|
|
||||||
|
|
||||||
import org.springframework.validation.Errors;
|
|
||||||
import org.springframework.validation.Validator;
|
|
||||||
|
|
||||||
import org.libresonic.player.command.PremiumSettingsCommand;
|
|
||||||
import org.libresonic.player.controller.PremiumSettingsController;
|
|
||||||
import org.libresonic.player.service.SettingsService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Validator for {@link PremiumSettingsController}.
|
|
||||||
*
|
|
||||||
* @author Sindre Mehus
|
|
||||||
*/
|
|
||||||
public class PremiumSettingsValidator implements Validator {
|
|
||||||
private SettingsService settingsService;
|
|
||||||
|
|
||||||
public boolean supports(Class clazz) {
|
|
||||||
return clazz.equals(PremiumSettingsCommand.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void validate(Object obj, Errors errors) {
|
|
||||||
PremiumSettingsCommand command = (PremiumSettingsCommand) obj;
|
|
||||||
|
|
||||||
if (!settingsService.isLicenseValid(command.getLicenseInfo().getLicenseEmail(), command.getLicenseCode())) {
|
|
||||||
command.setSubmissionError(true);
|
|
||||||
errors.rejectValue("licenseCode", "premium.invalidlicense");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSettingsService(SettingsService settingsService) {
|
|
||||||
this.settingsService = settingsService;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -3,9 +3,9 @@
|
|||||||
xmlns:security="http://www.springframework.org/schema/security"
|
xmlns:security="http://www.springframework.org/schema/security"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
|
http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||||
http://www.springframework.org/schema/security
|
http://www.springframework.org/schema/security
|
||||||
http://www.springframework.org/schema/security/spring-security-3.2.xsd">
|
http://www.springframework.org/schema/security/spring-security.xsd">
|
||||||
|
|
||||||
<security:http auto-config='true'>
|
<security:http auto-config='true'>
|
||||||
<!-- IS_AUTHENTICATED_ANONYMOUSLY -->
|
<!-- IS_AUTHENTICATED_ANONYMOUSLY -->
|
||||||
|
|||||||
@@ -196,14 +196,6 @@
|
|||||||
<property name="settingsService" ref="settingsService"/>
|
<property name="settingsService" ref="settingsService"/>
|
||||||
<property name="securityService" ref="securityService"/>
|
<property name="securityService" ref="securityService"/>
|
||||||
</bean>
|
</bean>
|
||||||
<bean id="passwordSettingsController" class="org.libresonic.player.controller.PasswordSettingsController">
|
|
||||||
<property name="sessionForm" value="true"/>
|
|
||||||
<property name="commandClass" value="org.libresonic.player.command.PasswordSettingsCommand"/>
|
|
||||||
<property name="validator" ref="passwordSettingsValidator"/>
|
|
||||||
<property name="successView" value="passwordSettings"/>
|
|
||||||
<property name="formView" value="passwordSettings"/>
|
|
||||||
<property name="securityService" ref="securityService"/>
|
|
||||||
</bean>
|
|
||||||
<bean id="homeController" class="org.libresonic.player.controller.HomeController">
|
<bean id="homeController" class="org.libresonic.player.controller.HomeController">
|
||||||
<property name="viewName" value="home"/>
|
<property name="viewName" value="home"/>
|
||||||
<property name="ratingService" ref="ratingService"/>
|
<property name="ratingService" ref="ratingService"/>
|
||||||
@@ -286,14 +278,6 @@
|
|||||||
<property name="settingsService" ref="settingsService"/>
|
<property name="settingsService" ref="settingsService"/>
|
||||||
<property name="mediaFileService" ref="mediaFileService"/>
|
<property name="mediaFileService" ref="mediaFileService"/>
|
||||||
</bean>
|
</bean>
|
||||||
<bean id="premiumSettingsController" class="org.libresonic.player.controller.PremiumSettingsController">
|
|
||||||
<property name="commandClass" value="org.libresonic.player.command.PremiumSettingsCommand"/>
|
|
||||||
<property name="successView" value="premiumSettings"/>
|
|
||||||
<property name="formView" value="premiumSettings"/>
|
|
||||||
<property name="validator" ref="premiumSettingsValidator"/>
|
|
||||||
<property name="settingsService" ref="settingsService"/>
|
|
||||||
<property name="securityService" ref="securityService"/>
|
|
||||||
</bean>
|
|
||||||
<bean id="multiController" class="org.libresonic.player.controller.MultiController">
|
<bean id="multiController" class="org.libresonic.player.controller.MultiController">
|
||||||
<property name="securityService" ref="securityService"/>
|
<property name="securityService" ref="securityService"/>
|
||||||
<property name="settingsService" ref="settingsService"/>
|
<property name="settingsService" ref="settingsService"/>
|
||||||
@@ -344,10 +328,6 @@
|
|||||||
<property name="viewName" value="db"/>
|
<property name="viewName" value="db"/>
|
||||||
<property name="daoHelper" ref="daoHelper"/>
|
<property name="daoHelper" ref="daoHelper"/>
|
||||||
</bean>
|
</bean>
|
||||||
<bean id="premiumSettingsValidator" class="org.libresonic.player.validator.PremiumSettingsValidator">
|
|
||||||
<property name="settingsService" ref="settingsService"/>
|
|
||||||
</bean>
|
|
||||||
<bean id="passwordSettingsValidator" class="org.libresonic.player.validator.PasswordSettingsValidator"/>
|
|
||||||
|
|
||||||
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
|
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
|
||||||
<property name="alwaysUseFullPath" value="true"/>
|
<property name="alwaysUseFullPath" value="true"/>
|
||||||
@@ -390,8 +370,6 @@
|
|||||||
<prop key="/transcodingSettings.view">transcodingSettingsController</prop>
|
<prop key="/transcodingSettings.view">transcodingSettingsController</prop>
|
||||||
<prop key="/internetRadioSettings.view">internetRadioSettingsController</prop>
|
<prop key="/internetRadioSettings.view">internetRadioSettingsController</prop>
|
||||||
<prop key="/avatarUpload.view">avatarUploadController</prop>
|
<prop key="/avatarUpload.view">avatarUploadController</prop>
|
||||||
<prop key="/passwordSettings.view">passwordSettingsController</prop>
|
|
||||||
<prop key="/premiumSettings.view">premiumSettingsController</prop>
|
|
||||||
<prop key="/allmusic.view">allmusicController</prop>
|
<prop key="/allmusic.view">allmusicController</prop>
|
||||||
<prop key="/home.view">homeController</prop>
|
<prop key="/home.view">homeController</prop>
|
||||||
<prop key="/editTags.view">editTagsController</prop>
|
<prop key="/editTags.view">editTagsController</prop>
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ public class TestCaseUtils {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static Integer recordsInTable(String tableName, DaoHelper daoHelper) {
|
public static Integer recordsInTable(String tableName, DaoHelper daoHelper) {
|
||||||
return daoHelper.getJdbcTemplate().queryForInt("select count(1) from " + tableName);
|
return daoHelper.getJdbcTemplate().queryForObject("select count(1) from " + tableName,Integer.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,8 +16,8 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<failOnDependencyWarning>true</failOnDependencyWarning>
|
<failOnDependencyWarning>true</failOnDependencyWarning>
|
||||||
<project.build.sourceEncoding>iso-8859-1</project.build.sourceEncoding>
|
<project.build.sourceEncoding>iso-8859-1</project.build.sourceEncoding>
|
||||||
<cxf.version>2.4.2</cxf.version>
|
<cxf.version>3.1.8</cxf.version>
|
||||||
<spring.version>3.2.17.RELEASE</spring.version>
|
<spring.version>4.3.4.RELEASE</spring.version>
|
||||||
<spring.security.version>3.2.9.RELEASE</spring.security.version>
|
<spring.security.version>3.2.9.RELEASE</spring.security.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
@@ -230,7 +230,6 @@
|
|||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
Reference in New Issue
Block a user