diff options
Diffstat (limited to 'subsonic-main/src/main/java/net/sourceforge/subsonic/command')
12 files changed, 1748 insertions, 0 deletions
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/AdvancedSettingsCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/AdvancedSettingsCommand.java new file mode 100644 index 00000000..6c87df51 --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/AdvancedSettingsCommand.java @@ -0,0 +1,146 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import net.sourceforge.subsonic.controller.AdvancedSettingsController; + +/** + * Command used in {@link AdvancedSettingsController}. + * + * @author Sindre Mehus + */ +public class AdvancedSettingsCommand { + private String downsampleCommand; + private String coverArtLimit; + private String downloadLimit; + private String uploadLimit; + private String streamPort; + private boolean ldapEnabled; + private String ldapUrl; + private String ldapSearchFilter; + private String ldapManagerDn; + private String ldapManagerPassword; + private boolean ldapAutoShadowing; + private String brand; + private boolean isReloadNeeded; + + public String getDownsampleCommand() { + return downsampleCommand; + } + + public void setDownsampleCommand(String downsampleCommand) { + this.downsampleCommand = downsampleCommand; + } + + public String getCoverArtLimit() { + return coverArtLimit; + } + + public void setCoverArtLimit(String coverArtLimit) { + this.coverArtLimit = coverArtLimit; + } + + public String getDownloadLimit() { + return downloadLimit; + } + + public void setDownloadLimit(String downloadLimit) { + this.downloadLimit = downloadLimit; + } + + public String getUploadLimit() { + return uploadLimit; + } + + public String getStreamPort() { + return streamPort; + } + + public void setStreamPort(String streamPort) { + this.streamPort = streamPort; + } + + public void setUploadLimit(String uploadLimit) { + this.uploadLimit = uploadLimit; + } + + public boolean isLdapEnabled() { + return ldapEnabled; + } + + public void setLdapEnabled(boolean ldapEnabled) { + this.ldapEnabled = ldapEnabled; + } + + public String getLdapUrl() { + return ldapUrl; + } + + public void setLdapUrl(String ldapUrl) { + this.ldapUrl = ldapUrl; + } + + public String getLdapSearchFilter() { + return ldapSearchFilter; + } + + public void setLdapSearchFilter(String ldapSearchFilter) { + this.ldapSearchFilter = ldapSearchFilter; + } + + public String getLdapManagerDn() { + return ldapManagerDn; + } + + public void setLdapManagerDn(String ldapManagerDn) { + this.ldapManagerDn = ldapManagerDn; + } + + public String getLdapManagerPassword() { + return ldapManagerPassword; + } + + public void setLdapManagerPassword(String ldapManagerPassword) { + this.ldapManagerPassword = ldapManagerPassword; + } + + public boolean isLdapAutoShadowing() { + return ldapAutoShadowing; + } + + public void setLdapAutoShadowing(boolean ldapAutoShadowing) { + this.ldapAutoShadowing = ldapAutoShadowing; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getBrand() { + return brand; + } + + public void setReloadNeeded(boolean reloadNeeded) { + isReloadNeeded = reloadNeeded; + } + + public boolean isReloadNeeded() { + return isReloadNeeded; + } +} diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/DonateCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/DonateCommand.java new file mode 100644 index 00000000..04af0ff6 --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/DonateCommand.java @@ -0,0 +1,88 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import net.sourceforge.subsonic.controller.DonateController; + +import java.util.Date; + +import org.apache.commons.lang.StringUtils; + +/** + * Command used in {@link DonateController}. + * + * @author Sindre Mehus + */ +public class DonateCommand { + + private String path; + private String emailAddress; + private String license; + private Date licenseDate; + private boolean licenseValid; + private String brand; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getEmailAddress() { + return emailAddress; + } + + public void setEmailAddress(String emailAddress) { + this.emailAddress = StringUtils.trim(emailAddress); + } + + public String getLicense() { + return license; + } + + public void setLicense(String license) { + this.license = StringUtils.trim(license); + } + + public Date getLicenseDate() { + return licenseDate; + } + + public void setLicenseDate(Date licenseDate) { + this.licenseDate = licenseDate; + } + + public boolean isLicenseValid() { + return licenseValid; + } + + public void setLicenseValid(boolean licenseValid) { + this.licenseValid = licenseValid; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } +} diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/EnumHolder.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/EnumHolder.java new file mode 100644 index 00000000..bb1fc5ff --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/EnumHolder.java @@ -0,0 +1,42 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +/** + * Holds the name and description of an enum value. + * + * @author Sindre Mehus + */ +public class EnumHolder { + private String name; + private String description; + + public EnumHolder(String name, String description) { + this.name = name; + this.description = description; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } +} diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/GeneralSettingsCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/GeneralSettingsCommand.java new file mode 100644 index 00000000..2322a3bd --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/GeneralSettingsCommand.java @@ -0,0 +1,184 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import net.sourceforge.subsonic.controller.GeneralSettingsController; +import net.sourceforge.subsonic.domain.Theme; + +/** + * Command used in {@link GeneralSettingsController}. + * + * @author Sindre Mehus + */ +public class GeneralSettingsCommand { + + private String musicFileTypes; + private String videoFileTypes; + private String coverArtFileTypes; + private String index; + private String ignoredArticles; + private String shortcuts; + private boolean sortAlbumsByYear; + private boolean gettingStartedEnabled; + private String welcomeTitle; + private String welcomeSubtitle; + private String welcomeMessage; + private String loginMessage; + private String localeIndex; + private String[] locales; + private String themeIndex; + private Theme[] themes; + private boolean isReloadNeeded; + + public String getMusicFileTypes() { + return musicFileTypes; + } + + public void setMusicFileTypes(String musicFileTypes) { + this.musicFileTypes = musicFileTypes; + } + + public String getVideoFileTypes() { + return videoFileTypes; + } + + public void setVideoFileTypes(String videoFileTypes) { + this.videoFileTypes = videoFileTypes; + } + + public String getCoverArtFileTypes() { + return coverArtFileTypes; + } + + public void setCoverArtFileTypes(String coverArtFileTypes) { + this.coverArtFileTypes = coverArtFileTypes; + } + + public String getIndex() { + return index; + } + + public void setIndex(String index) { + this.index = index; + } + + public String getIgnoredArticles() { + return ignoredArticles; + } + + public void setIgnoredArticles(String ignoredArticles) { + this.ignoredArticles = ignoredArticles; + } + + public String getShortcuts() { + return shortcuts; + } + + public void setShortcuts(String shortcuts) { + this.shortcuts = shortcuts; + } + + public String getWelcomeTitle() { + return welcomeTitle; + } + + public void setWelcomeTitle(String welcomeTitle) { + this.welcomeTitle = welcomeTitle; + } + + public String getWelcomeSubtitle() { + return welcomeSubtitle; + } + + public void setWelcomeSubtitle(String welcomeSubtitle) { + this.welcomeSubtitle = welcomeSubtitle; + } + + public String getWelcomeMessage() { + return welcomeMessage; + } + + public void setWelcomeMessage(String welcomeMessage) { + this.welcomeMessage = welcomeMessage; + } + + public String getLoginMessage() { + return loginMessage; + } + + public void setLoginMessage(String loginMessage) { + this.loginMessage = loginMessage; + } + + public String getLocaleIndex() { + return localeIndex; + } + + public void setLocaleIndex(String localeIndex) { + this.localeIndex = localeIndex; + } + + public String[] getLocales() { + return locales; + } + + public void setLocales(String[] locales) { + this.locales = locales; + } + + public String getThemeIndex() { + return themeIndex; + } + + public void setThemeIndex(String themeIndex) { + this.themeIndex = themeIndex; + } + + public Theme[] getThemes() { + return themes; + } + + public void setThemes(Theme[] themes) { + this.themes = themes; + } + + public boolean isReloadNeeded() { + return isReloadNeeded; + } + + public void setReloadNeeded(boolean reloadNeeded) { + isReloadNeeded = reloadNeeded; + } + + public boolean isSortAlbumsByYear() { + return sortAlbumsByYear; + } + + public void setSortAlbumsByYear(boolean sortAlbumsByYear) { + this.sortAlbumsByYear = sortAlbumsByYear; + } + + public boolean isGettingStartedEnabled() { + return gettingStartedEnabled; + } + + public void setGettingStartedEnabled(boolean gettingStartedEnabled) { + this.gettingStartedEnabled = gettingStartedEnabled; + } +} diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/MusicFolderSettingsCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/MusicFolderSettingsCommand.java new file mode 100644 index 00000000..8fcfa72c --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/MusicFolderSettingsCommand.java @@ -0,0 +1,187 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import java.io.File; +import java.util.Date; +import java.util.List; + +import net.sourceforge.subsonic.controller.MusicFolderSettingsController; +import net.sourceforge.subsonic.domain.MusicFolder; +import org.apache.commons.lang.StringUtils; + +/** + * Command used in {@link MusicFolderSettingsController}. + * + * @author Sindre Mehus + */ +public class MusicFolderSettingsCommand { + + private String interval; + private String hour; + private boolean scanning; + private boolean fastCache; + private boolean organizeByFolderStructure; + private List<MusicFolderInfo> musicFolders; + private MusicFolderInfo newMusicFolder; + private boolean reload; + + public String getInterval() { + return interval; + } + + public void setInterval(String interval) { + this.interval = interval; + } + + public String getHour() { + return hour; + } + + public void setHour(String hour) { + this.hour = hour; + } + + public boolean isScanning() { + return scanning; + } + + public void setScanning(boolean scanning) { + this.scanning = scanning; + } + + public boolean isFastCache() { + return fastCache; + } + + public List<MusicFolderInfo> getMusicFolders() { + return musicFolders; + } + + public void setMusicFolders(List<MusicFolderInfo> musicFolders) { + this.musicFolders = musicFolders; + } + + public void setFastCache(boolean fastCache) { + this.fastCache = fastCache; + } + + public MusicFolderInfo getNewMusicFolder() { + return newMusicFolder; + } + + public void setNewMusicFolder(MusicFolderInfo newMusicFolder) { + this.newMusicFolder = newMusicFolder; + } + + public void setReload(boolean reload) { + this.reload = reload; + } + + public boolean isReload() { + return reload; + } + + public boolean isOrganizeByFolderStructure() { + return organizeByFolderStructure; + } + + public void setOrganizeByFolderStructure(boolean organizeByFolderStructure) { + this.organizeByFolderStructure = organizeByFolderStructure; + } + + public static class MusicFolderInfo { + + private Integer id; + private String path; + private String name; + private boolean enabled; + private boolean delete; + private boolean existing; + + public MusicFolderInfo(MusicFolder musicFolder) { + id = musicFolder.getId(); + path = musicFolder.getPath().getPath(); + name = musicFolder.getName(); + enabled = musicFolder.isEnabled(); + existing = musicFolder.getPath().exists() && musicFolder.getPath().isDirectory(); + } + + public MusicFolderInfo() { + enabled = true; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public boolean isDelete() { + return delete; + } + + public void setDelete(boolean delete) { + this.delete = delete; + } + + public MusicFolder toMusicFolder() { + String path = StringUtils.trimToNull(this.path); + if (path == null) { + return null; + } + File file = new File(path); + String name = StringUtils.trimToNull(this.name); + if (name == null) { + name = file.getName(); + } + return new MusicFolder(id, new File(path), name, enabled, new Date()); + } + + public boolean isExisting() { + return existing; + } + } +}
\ No newline at end of file diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/NetworkSettingsCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/NetworkSettingsCommand.java new file mode 100644 index 00000000..d0ae2b07 --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/NetworkSettingsCommand.java @@ -0,0 +1,92 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import java.util.Date; + +/** + * @author Sindre Mehus + * @version $Id$ + */ +public class NetworkSettingsCommand { + + private boolean portForwardingEnabled; + private boolean urlRedirectionEnabled; + private String urlRedirectFrom; + private int port; + private boolean trial; + private Date trialExpires; + private boolean trialExpired; + + public void setPortForwardingEnabled(boolean portForwardingEnabled) { + this.portForwardingEnabled = portForwardingEnabled; + } + + public boolean isPortForwardingEnabled() { + return portForwardingEnabled; + } + + public boolean isUrlRedirectionEnabled() { + return urlRedirectionEnabled; + } + + public void setUrlRedirectionEnabled(boolean urlRedirectionEnabled) { + this.urlRedirectionEnabled = urlRedirectionEnabled; + } + + public String getUrlRedirectFrom() { + return urlRedirectFrom; + } + + public void setUrlRedirectFrom(String urlRedirectFrom) { + this.urlRedirectFrom = urlRedirectFrom; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } + + public void setTrial(boolean trial) { + this.trial = trial; + } + + public boolean isTrial() { + return trial; + } + + public void setTrialExpires(Date trialExpires) { + this.trialExpires = trialExpires; + } + + public Date getTrialExpires() { + return trialExpires; + } + + public void setTrialExpired(boolean trialExpired) { + this.trialExpired = trialExpired; + } + + public boolean isTrialExpired() { + return trialExpired; + } +} diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PasswordSettingsCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PasswordSettingsCommand.java new file mode 100644 index 00000000..b9e5383c --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PasswordSettingsCommand.java @@ -0,0 +1,65 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import net.sourceforge.subsonic.controller.*; + +/** + * Command used in {@link PasswordSettingsController}. + * + * @author Sindre Mehus + */ +public class PasswordSettingsCommand { + private String username; + private String password; + private String confirmPassword; + private boolean ldapAuthenticated; + + 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; + } +}
\ No newline at end of file diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PersonalSettingsCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PersonalSettingsCommand.java new file mode 100644 index 00000000..680d06e9 --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PersonalSettingsCommand.java @@ -0,0 +1,215 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import net.sourceforge.subsonic.controller.PersonalSettingsController; +import net.sourceforge.subsonic.domain.Avatar; +import net.sourceforge.subsonic.domain.Theme; +import net.sourceforge.subsonic.domain.User; +import net.sourceforge.subsonic.domain.UserSettings; + +import java.util.List; + +/** + * Command used in {@link PersonalSettingsController}. + * + * @author Sindre Mehus + */ +public class PersonalSettingsCommand { + private User user; + private String localeIndex; + private String[] locales; + private String themeIndex; + private Theme[] themes; + private int avatarId; + private List<Avatar> avatars; + private Avatar customAvatar; + private UserSettings.Visibility mainVisibility; + private UserSettings.Visibility playlistVisibility; + private boolean partyModeEnabled; + private boolean showNowPlayingEnabled; + private boolean showChatEnabled; + private boolean nowPlayingAllowed; + private boolean finalVersionNotificationEnabled; + private boolean betaVersionNotificationEnabled; + private boolean lastFmEnabled; + private String lastFmUsername; + private String lastFmPassword; + private boolean isReloadNeeded; + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + + public String getLocaleIndex() { + return localeIndex; + } + + public void setLocaleIndex(String localeIndex) { + this.localeIndex = localeIndex; + } + + public String[] getLocales() { + return locales; + } + + public void setLocales(String[] locales) { + this.locales = locales; + } + + public String getThemeIndex() { + return themeIndex; + } + + public void setThemeIndex(String themeIndex) { + this.themeIndex = themeIndex; + } + + public Theme[] getThemes() { + return themes; + } + + public void setThemes(Theme[] themes) { + this.themes = themes; + } + + public int getAvatarId() { + return avatarId; + } + + public void setAvatarId(int avatarId) { + this.avatarId = avatarId; + } + + public List<Avatar> getAvatars() { + return avatars; + } + + public void setAvatars(List<Avatar> avatars) { + this.avatars = avatars; + } + + public Avatar getCustomAvatar() { + return customAvatar; + } + + public void setCustomAvatar(Avatar customAvatar) { + this.customAvatar = customAvatar; + } + + public UserSettings.Visibility getMainVisibility() { + return mainVisibility; + } + + public void setMainVisibility(UserSettings.Visibility mainVisibility) { + this.mainVisibility = mainVisibility; + } + + public UserSettings.Visibility getPlaylistVisibility() { + return playlistVisibility; + } + + public void setPlaylistVisibility(UserSettings.Visibility playlistVisibility) { + this.playlistVisibility = playlistVisibility; + } + + public boolean isPartyModeEnabled() { + return partyModeEnabled; + } + + public void setPartyModeEnabled(boolean partyModeEnabled) { + this.partyModeEnabled = partyModeEnabled; + } + + public boolean isShowNowPlayingEnabled() { + return showNowPlayingEnabled; + } + + public void setShowNowPlayingEnabled(boolean showNowPlayingEnabled) { + this.showNowPlayingEnabled = showNowPlayingEnabled; + } + + public boolean isShowChatEnabled() { + return showChatEnabled; + } + + public void setShowChatEnabled(boolean showChatEnabled) { + this.showChatEnabled = showChatEnabled; + } + + public boolean isNowPlayingAllowed() { + return nowPlayingAllowed; + } + + public void setNowPlayingAllowed(boolean nowPlayingAllowed) { + this.nowPlayingAllowed = nowPlayingAllowed; + } + + public boolean isFinalVersionNotificationEnabled() { + return finalVersionNotificationEnabled; + } + + public void setFinalVersionNotificationEnabled(boolean finalVersionNotificationEnabled) { + this.finalVersionNotificationEnabled = finalVersionNotificationEnabled; + } + + public boolean isBetaVersionNotificationEnabled() { + return betaVersionNotificationEnabled; + } + + public void setBetaVersionNotificationEnabled(boolean betaVersionNotificationEnabled) { + this.betaVersionNotificationEnabled = betaVersionNotificationEnabled; + } + + public boolean isLastFmEnabled() { + return lastFmEnabled; + } + + public void setLastFmEnabled(boolean lastFmEnabled) { + this.lastFmEnabled = lastFmEnabled; + } + + public String getLastFmUsername() { + return lastFmUsername; + } + + public void setLastFmUsername(String lastFmUsername) { + this.lastFmUsername = lastFmUsername; + } + + public String getLastFmPassword() { + return lastFmPassword; + } + + public void setLastFmPassword(String lastFmPassword) { + this.lastFmPassword = lastFmPassword; + } + + public boolean isReloadNeeded() { + return isReloadNeeded; + } + + public void setReloadNeeded(boolean reloadNeeded) { + isReloadNeeded = reloadNeeded; + } +} diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PlayerSettingsCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PlayerSettingsCommand.java new file mode 100644 index 00000000..8331260d --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PlayerSettingsCommand.java @@ -0,0 +1,250 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import java.util.Date; +import java.util.List; + +import net.sourceforge.subsonic.controller.PlayerSettingsController; +import net.sourceforge.subsonic.domain.CoverArtScheme; +import net.sourceforge.subsonic.domain.Player; +import net.sourceforge.subsonic.domain.PlayerTechnology; +import net.sourceforge.subsonic.domain.TranscodeScheme; +import net.sourceforge.subsonic.domain.Transcoding; + +/** + * Command used in {@link PlayerSettingsController}. + * + * @author Sindre Mehus + */ +public class PlayerSettingsCommand { + private String playerId; + private String name; + private String description; + private String type; + private Date lastSeen; + private boolean isDynamicIp; + private boolean isAutoControlEnabled; + private String coverArtSchemeName; + private String technologyName; + private String transcodeSchemeName; + private boolean transcodingSupported; + private String transcodeDirectory; + private List<Transcoding> allTranscodings; + private int[] activeTranscodingIds; + private EnumHolder[] technologyHolders; + private EnumHolder[] transcodeSchemeHolders; + private EnumHolder[] coverArtSchemeHolders; + private Player[] players; + private boolean isAdmin; + private boolean isReloadNeeded; + + public String getPlayerId() { + return playerId; + } + + public void setPlayerId(String playerId) { + this.playerId = playerId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Date getLastSeen() { + return lastSeen; + } + + public void setLastSeen(Date lastSeen) { + this.lastSeen = lastSeen; + } + + public boolean isDynamicIp() { + return isDynamicIp; + } + + public void setDynamicIp(boolean dynamicIp) { + isDynamicIp = dynamicIp; + } + + public boolean isAutoControlEnabled() { + return isAutoControlEnabled; + } + + public void setAutoControlEnabled(boolean autoControlEnabled) { + isAutoControlEnabled = autoControlEnabled; + } + + public String getCoverArtSchemeName() { + return coverArtSchemeName; + } + + public void setCoverArtSchemeName(String coverArtSchemeName) { + this.coverArtSchemeName = coverArtSchemeName; + } + + public String getTranscodeSchemeName() { + return transcodeSchemeName; + } + + public void setTranscodeSchemeName(String transcodeSchemeName) { + this.transcodeSchemeName = transcodeSchemeName; + } + + public boolean isTranscodingSupported() { + return transcodingSupported; + } + + public void setTranscodingSupported(boolean transcodingSupported) { + this.transcodingSupported = transcodingSupported; + } + + public String getTranscodeDirectory() { + return transcodeDirectory; + } + + public void setTranscodeDirectory(String transcodeDirectory) { + this.transcodeDirectory = transcodeDirectory; + } + + public List<Transcoding> getAllTranscodings() { + return allTranscodings; + } + + public void setAllTranscodings(List<Transcoding> allTranscodings) { + this.allTranscodings = allTranscodings; + } + + public int[] getActiveTranscodingIds() { + return activeTranscodingIds; + } + + public void setActiveTranscodingIds(int[] activeTranscodingIds) { + this.activeTranscodingIds = activeTranscodingIds; + } + + public EnumHolder[] getTechnologyHolders() { + return technologyHolders; + } + + public void setTechnologies(PlayerTechnology[] technologies) { + technologyHolders = new EnumHolder[technologies.length]; + for (int i = 0; i < technologies.length; i++) { + PlayerTechnology technology = technologies[i]; + technologyHolders[i] = new EnumHolder(technology.name(), technology.toString()); + } + } + + public EnumHolder[] getTranscodeSchemeHolders() { + return transcodeSchemeHolders; + } + + public void setTranscodeSchemes(TranscodeScheme[] transcodeSchemes) { + transcodeSchemeHolders = new EnumHolder[transcodeSchemes.length]; + for (int i = 0; i < transcodeSchemes.length; i++) { + TranscodeScheme scheme = transcodeSchemes[i]; + transcodeSchemeHolders[i] = new EnumHolder(scheme.name(), scheme.toString()); + } + } + + public EnumHolder[] getCoverArtSchemeHolders() { + return coverArtSchemeHolders; + } + + public void setCoverArtSchemes(CoverArtScheme[] coverArtSchemes) { + coverArtSchemeHolders = new EnumHolder[coverArtSchemes.length]; + for (int i = 0; i < coverArtSchemes.length; i++) { + CoverArtScheme scheme = coverArtSchemes[i]; + coverArtSchemeHolders[i] = new EnumHolder(scheme.name(), scheme.toString()); + } + } + + public String getTechnologyName() { + return technologyName; + } + + public void setTechnologyName(String technologyName) { + this.technologyName = technologyName; + } + + public Player[] getPlayers() { + return players; + } + + public void setPlayers(Player[] players) { + this.players = players; + } + + public boolean isAdmin() { + return isAdmin; + } + + public void setAdmin(boolean admin) { + isAdmin = admin; + } + + public boolean isReloadNeeded() { + return isReloadNeeded; + } + + public void setReloadNeeded(boolean reloadNeeded) { + isReloadNeeded = reloadNeeded; + } + + /** + * Holds the transcoding and whether it is active for the given player. + */ + public static class TranscodingHolder { + private Transcoding transcoding; + private boolean isActive; + + public TranscodingHolder(Transcoding transcoding, boolean isActive) { + this.transcoding = transcoding; + this.isActive = isActive; + } + + public Transcoding getTranscoding() { + return transcoding; + } + + public boolean isActive() { + return isActive; + } + } +}
\ No newline at end of file diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PodcastSettingsCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PodcastSettingsCommand.java new file mode 100644 index 00000000..e6917ff4 --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PodcastSettingsCommand.java @@ -0,0 +1,66 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import net.sourceforge.subsonic.controller.PodcastSettingsController; + +/** + * Command used in {@link PodcastSettingsController}. + * + * @author Sindre Mehus + */ +public class PodcastSettingsCommand { + + private String interval; + private String folder; + private String episodeRetentionCount; + private String episodeDownloadCount; + + public String getInterval() { + return interval; + } + + public void setInterval(String interval) { + this.interval = interval; + } + + public String getFolder() { + return folder; + } + + public void setFolder(String folder) { + this.folder = folder; + } + + public String getEpisodeRetentionCount() { + return episodeRetentionCount; + } + + public void setEpisodeRetentionCount(String episodeRetentionCount) { + this.episodeRetentionCount = episodeRetentionCount; + } + + public String getEpisodeDownloadCount() { + return episodeDownloadCount; + } + + public void setEpisodeDownloadCount(String episodeDownloadCount) { + this.episodeDownloadCount = episodeDownloadCount; + } +} diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/SearchCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/SearchCommand.java new file mode 100644 index 00000000..0dacfbd4 --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/SearchCommand.java @@ -0,0 +1,135 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import net.sourceforge.subsonic.domain.*; +import net.sourceforge.subsonic.controller.*; + +import java.util.*; + +/** + * Command used in {@link SearchController}. + * + * @author Sindre Mehus + */ +public class SearchCommand { + + private String query; + private List<MediaFile> artists; + private List<MediaFile> albums; + private List<MediaFile> songs; + private boolean isIndexBeingCreated; + private User user; + private boolean partyModeEnabled; + private Player player; + + public String getQuery() { + return query; + } + + public void setQuery(String query) { + this.query = query; + } + + public boolean isIndexBeingCreated() { + return isIndexBeingCreated; + } + + public void setIndexBeingCreated(boolean indexBeingCreated) { + isIndexBeingCreated = indexBeingCreated; + } + + public List<MediaFile> getArtists() { + return artists; + } + + public void setArtists(List<MediaFile> artists) { + this.artists = artists; + } + + public List<MediaFile> getAlbums() { + return albums; + } + + public void setAlbums(List<MediaFile> albums) { + this.albums = albums; + } + + public List<MediaFile> getSongs() { + return songs; + } + + public void setSongs(List<MediaFile> songs) { + this.songs = songs; + } + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + + public boolean isPartyModeEnabled() { + return partyModeEnabled; + } + + public void setPartyModeEnabled(boolean partyModeEnabled) { + this.partyModeEnabled = partyModeEnabled; + } + + public Player getPlayer() { + return player; + } + + public void setPlayer(Player player) { + this.player = player; + } + + public static class Match { + private MediaFile mediaFile; + private String title; + private String album; + private String artist; + + public Match(MediaFile mediaFile, String title, String album, String artist) { + this.mediaFile = mediaFile; + this.title = title; + this.album = album; + this.artist = artist; + } + + public MediaFile getMediaFile() { + return mediaFile; + } + + public String getTitle() { + return title; + } + + public String getAlbum() { + return album; + } + + public String getArtist() { + return artist; + } + } +} diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/UserSettingsCommand.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/UserSettingsCommand.java new file mode 100644 index 00000000..ce185f7b --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/command/UserSettingsCommand.java @@ -0,0 +1,278 @@ +/* + This file is part of Subsonic. + + Subsonic 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. + + Subsonic 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 Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.command; + +import java.util.List; + +import net.sourceforge.subsonic.controller.*; +import net.sourceforge.subsonic.domain.*; + +/** + * Command used in {@link UserSettingsController}. + * + * @author Sindre Mehus + */ +public class UserSettingsCommand { + private String username; + private boolean isAdminRole; + private boolean isDownloadRole; + private boolean isUploadRole; + private boolean isCoverArtRole; + private boolean isCommentRole; + private boolean isPodcastRole; + private boolean isStreamRole; + private boolean isJukeboxRole; + private boolean isSettingsRole; + private boolean isShareRole; + + private List<User> users; + private boolean isAdmin; + private boolean isPasswordChange; + private boolean isNew; + private boolean isDelete; + private String password; + private String confirmPassword; + private String email; + private boolean isLdapAuthenticated; + private boolean isLdapEnabled; + + private String transcodeSchemeName; + private EnumHolder[] transcodeSchemeHolders; + private boolean transcodingSupported; + private String transcodeDirectory; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public boolean isAdminRole() { + return isAdminRole; + } + + public void setAdminRole(boolean adminRole) { + isAdminRole = adminRole; + } + + public boolean isDownloadRole() { + return isDownloadRole; + } + + public void setDownloadRole(boolean downloadRole) { + isDownloadRole = downloadRole; + } + + public boolean isUploadRole() { + return isUploadRole; + } + + public void setUploadRole(boolean uploadRole) { + isUploadRole = uploadRole; + } + + public boolean isCoverArtRole() { + return isCoverArtRole; + } + + public void setCoverArtRole(boolean coverArtRole) { + isCoverArtRole = coverArtRole; + } + + public boolean isCommentRole() { + return isCommentRole; + } + + public void setCommentRole(boolean commentRole) { + isCommentRole = commentRole; + } + + public boolean isPodcastRole() { + return isPodcastRole; + } + + public void setPodcastRole(boolean podcastRole) { + isPodcastRole = podcastRole; + } + + public boolean isStreamRole() { + return isStreamRole; + } + + public void setStreamRole(boolean streamRole) { + isStreamRole = streamRole; + } + + public boolean isJukeboxRole() { + return isJukeboxRole; + } + + public void setJukeboxRole(boolean jukeboxRole) { + isJukeboxRole = jukeboxRole; + } + + public boolean isSettingsRole() { + return isSettingsRole; + } + + public void setSettingsRole(boolean settingsRole) { + isSettingsRole = settingsRole; + } + + public boolean isShareRole() { + return isShareRole; + } + + public void setShareRole(boolean shareRole) { + isShareRole = shareRole; + } + + public List<User> getUsers() { + return users; + } + + public void setUsers(List<User> users) { + this.users = users; + } + + public boolean isAdmin() { + return isAdmin; + } + + public void setAdmin(boolean admin) { + isAdmin = admin; + } + + public boolean isPasswordChange() { + return isPasswordChange; + } + + public void setPasswordChange(boolean passwordChange) { + isPasswordChange = passwordChange; + } + + public boolean isNew() { + return isNew; + } + + public void setNew(boolean isNew) { + this.isNew = isNew; + } + + public boolean isDelete() { + return isDelete; + } + + public void setDelete(boolean delete) { + isDelete = delete; + } + + 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 String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public boolean isLdapAuthenticated() { + return isLdapAuthenticated; + } + + public void setLdapAuthenticated(boolean ldapAuthenticated) { + isLdapAuthenticated = ldapAuthenticated; + } + + public boolean isLdapEnabled() { + return isLdapEnabled; + } + + public void setLdapEnabled(boolean ldapEnabled) { + isLdapEnabled = ldapEnabled; + } + + public String getTranscodeSchemeName() { + return transcodeSchemeName; + } + + public void setTranscodeSchemeName(String transcodeSchemeName) { + this.transcodeSchemeName = transcodeSchemeName; + } + + public EnumHolder[] getTranscodeSchemeHolders() { + return transcodeSchemeHolders; + } + + public void setTranscodeSchemes(TranscodeScheme[] transcodeSchemes) { + transcodeSchemeHolders = new EnumHolder[transcodeSchemes.length]; + for (int i = 0; i < transcodeSchemes.length; i++) { + TranscodeScheme scheme = transcodeSchemes[i]; + transcodeSchemeHolders[i] = new EnumHolder(scheme.name(), scheme.toString()); + } + } + + public boolean isTranscodingSupported() { + return transcodingSupported; + } + + public void setTranscodingSupported(boolean transcodingSupported) { + this.transcodingSupported = transcodingSupported; + } + + public String getTranscodeDirectory() { + return transcodeDirectory; + } + + public void setTranscodeDirectory(String transcodeDirectory) { + this.transcodeDirectory = transcodeDirectory; + } + + public void setUser(User user) { + username = user == null ? null : user.getUsername(); + isAdminRole = user != null && user.isAdminRole(); + isDownloadRole = user != null && user.isDownloadRole(); + isUploadRole = user != null && user.isUploadRole(); + isCoverArtRole = user != null && user.isCoverArtRole(); + isCommentRole = user != null && user.isCommentRole(); + isPodcastRole = user != null && user.isPodcastRole(); + isStreamRole = user != null && user.isStreamRole(); + isJukeboxRole = user != null && user.isJukeboxRole(); + isSettingsRole = user != null && user.isSettingsRole(); + isShareRole = user != null && user.isShareRole(); + isLdapAuthenticated = user != null && user.isLdapAuthenticated(); + } +}
\ No newline at end of file |