/*
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;
}
}