aboutsummaryrefslogtreecommitdiff
path: root/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareSettingsController.java
diff options
context:
space:
mode:
Diffstat (limited to 'subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareSettingsController.java')
-rw-r--r--subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareSettingsController.java161
1 files changed, 0 insertions, 161 deletions
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareSettingsController.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareSettingsController.java
deleted file mode 100644
index 2b8a958a..00000000
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareSettingsController.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- 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.controller;
-
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Share;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.ShareService;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.mvc.ParameterizableViewController;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Controller for the page used to administrate the set of shared media.
- *
- * @author Sindre Mehus
- */
-public class ShareSettingsController extends ParameterizableViewController {
-
- private ShareService shareService;
- private SecurityService securityService;
- private MediaFileService mediaFileService;
-
- @Override
- protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
-
- Map<String, Object> map = new HashMap<String, Object>();
-
- if (isFormSubmission(request)) {
- String error = handleParameters(request);
- map.put("error", error);
- }
-
- ModelAndView result = super.handleRequestInternal(request, response);
- map.put("shareBaseUrl", shareService.getShareBaseUrl());
- map.put("shareInfos", getShareInfos(request));
- map.put("user", securityService.getCurrentUser(request));
-
- result.addObject("model", map);
- return result;
- }
-
- /**
- * Determine if the given request represents a form submission.
- *
- * @param request current HTTP request
- * @return if the request represents a form submission
- */
- private boolean isFormSubmission(HttpServletRequest request) {
- return "POST".equals(request.getMethod());
- }
-
- private String handleParameters(HttpServletRequest request) {
- User user = securityService.getCurrentUser(request);
- for (Share share : shareService.getSharesForUser(user)) {
- int id = share.getId();
-
- String description = getParameter(request, "description", id);
- boolean delete = getParameter(request, "delete", id) != null;
- String expireIn = getParameter(request, "expireIn", id);
-
- if (delete) {
- shareService.deleteShare(id);
- } else {
- if (expireIn != null) {
- share.setExpires(parseExpireIn(expireIn));
- }
- share.setDescription(description);
- shareService.updateShare(share);
- }
- }
-
- return null;
- }
-
- private List<ShareInfo> getShareInfos(HttpServletRequest request) {
- List<ShareInfo> result = new ArrayList<ShareInfo>();
- User user = securityService.getCurrentUser(request);
- for (Share share : shareService.getSharesForUser(user)) {
- List<MediaFile> files = shareService.getSharedFiles(share.getId());
- if (!files.isEmpty()) {
- MediaFile file = files.get(0);
- result.add(new ShareInfo(share, file.isDirectory() ? file : mediaFileService.getParentOf(file)));
- }
- }
- return result;
- }
-
-
- private String getParameter(HttpServletRequest request, String name, int id) {
- return StringUtils.trimToNull(request.getParameter(name + "[" + id + "]"));
- }
-
- private Date parseExpireIn(String expireIn) {
- int days = Integer.parseInt(expireIn);
- if (days == 0) {
- return null;
- }
-
- Calendar calendar = Calendar.getInstance();
- calendar.add(Calendar.DAY_OF_YEAR, days);
- return calendar.getTime();
- }
-
- public void setSecurityService(SecurityService securityService) {
- this.securityService = securityService;
- }
-
- public void setShareService(ShareService shareService) {
- this.shareService = shareService;
- }
-
- public void setMediaFileService(MediaFileService mediaFileService) {
- this.mediaFileService = mediaFileService;
- }
-
- public static class ShareInfo {
- private final Share share;
- private final MediaFile dir;
-
- public ShareInfo(Share share, MediaFile dir) {
- this.share = share;
- this.dir = dir;
- }
-
- public Share getShare() {
- return share;
- }
-
- public MediaFile getDir() {
- return dir;
- }
- }
-} \ No newline at end of file