/* Copyright 2006 - 2010 Under Dusken Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ package no.dusken.aranea.admin.control; import no.dusken.aranea.service.*; import org.springframework.beans.factory.annotation.Required; import org.springframework.web.bind.ServletRequestUtils; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.multiaction.MultiActionController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.Map; /** * Simple multiactioncontroller that controles the page where the user selects object to edit */ public class SelectResourceController extends MultiActionController { private SectionService sectionService; private BannerService bannerService; private BannerLocationService bannerLocationService; private PersonService personService; private ArticleService articleService; private ExternalPageService externalPageService; private IssueService issueService; private MediaResourceService mediaResourceService; private ImageService imageService; /* * The number of objects on each page */ private int numberPerPage; public ModelAndView selectSection(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); map.put("topLevelSections", sectionService.getTopLevelSections(true)); return new ModelAndView("no/dusken/aranea/base/admin/section/select", map); } public ModelAndView selectArticle(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); int offset = ServletRequestUtils.getIntParameter(request, "offset", 0); map.put("articles", articleService.getArticles(offset, numberPerPage + 1)); map.put("nextOffset", offset + numberPerPage); if(offset > 0){ map.put("previousOffset", offset - numberPerPage); } return new ModelAndView("no/dusken/aranea/base/admin/article/select", map); } public ModelAndView selectIssue(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); int offset = ServletRequestUtils.getIntParameter(request, "offset", 0); map.put("issues", issueService.getIssues(offset, numberPerPage + 1)); map.put("nextOffset", offset + numberPerPage); if(offset > 0){ map.put("previousOffset", offset - numberPerPage); } return new ModelAndView("no/dusken/aranea/base/admin/issue/select", map); } public ModelAndView selectExternalPage(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); int offset = ServletRequestUtils.getIntParameter(request, "offset", 0); map.put("externalpages", externalPageService.getPages(offset, numberPerPage + 1)); map.put("nextOffset", offset + numberPerPage); if(offset > 0){ map.put("previousOffset", offset - numberPerPage); } return new ModelAndView("no/dusken/aranea/base/admin/externalPage/select", map); } public ModelAndView selectBanner(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); map.put("banners", bannerService.getBanners()); map.put("bannerLocations", bannerLocationService.getBannerLocations()); return new ModelAndView("no/dusken/aranea/base/admin/banner/select", map); } public ModelAndView selectPerson(HttpServletRequest request, HttpServletResponse response){ Map<String, Object> map = new HashMap<String, Object>(); map.put("activePersons", personService.getPersonsByActive(true)); map.put("notActivePersons", personService.getPersonsByActive(false)); return new ModelAndView("no/dusken/aranea/base/admin/person/list", map); } public ModelAndView selectMedia(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); int offset = ServletRequestUtils.getIntParameter(request, "offset", 0); map.put("page", offset); map.put("mediaResources", mediaResourceService.getAllMediaResources(offset, numberPerPage)); return new ModelAndView("no/dusken/aranea/base/admin/mediaResource/select", map); } public ModelAndView selectImage(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); int offset = ServletRequestUtils.getIntParameter(request, "offset", 0); map.put("images", imageService.getImages(offset, numberPerPage + 1)); map.put("nextOffset", offset + numberPerPage); if(offset > 0){ map.put("previousOffset", offset - numberPerPage); } return new ModelAndView("no/dusken/aranea/base/admin/image/select", map); } @Required public void setSectionService(SectionService sectionService) { this.sectionService = sectionService; } @Required public void setBannerService(BannerService bannerService) { this.bannerService = bannerService; } @Required public void setBannerLocationService(BannerLocationService bannerLocationService) { this.bannerLocationService = bannerLocationService; } @Required public void setPersonService(PersonService personService) { this.personService = personService; } @Required public void setIssueService(IssueService issueService) { this.issueService = issueService; } @Required public void setNumberPerPage(int numberPerPage) { this.numberPerPage = numberPerPage; } @Required public void setArticleService(ArticleService articleService) { this.articleService = articleService; } @Required public void setExternalPageService(ExternalPageService externalPageService) { this.externalPageService = externalPageService; } @Required public void setMediaResourceService(MediaResourceService medidaResourceService) { this.mediaResourceService = medidaResourceService; } @Required public void setImageService(ImageService imageService) { this.imageService = imageService; } }