01: /**********************************************************************************
02: * $URL:https://source.sakaiproject.org/svn/osp/trunk/presentation/tool/src/java/org/theospi/portfolio/presentation/control/ViewPresentationStatsController.java $
03: * $Id:ViewPresentationStatsController.java 9134 2006-05-08 20:28:42Z chmaurer@iupui.edu $
04: ***********************************************************************************
05: *
06: * Copyright (c) 2005, 2006 The Sakai Foundation.
07: *
08: * Licensed under the Educational Community License, Version 1.0 (the "License");
09: * you may not use this file except in compliance with the License.
10: * You may obtain a copy of the License at
11: *
12: * http://www.opensource.org/licenses/ecl1.php
13: *
14: * Unless required by applicable law or agreed to in writing, software
15: * distributed under the License is distributed on an "AS IS" BASIS,
16: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: * See the License for the specific language governing permissions and
18: * limitations under the License.
19: *
20: **********************************************************************************/package org.theospi.portfolio.presentation.control;
21:
22: import java.util.Map;
23:
24: import org.apache.commons.logging.Log;
25: import org.apache.commons.logging.LogFactory;
26: import org.sakaiproject.metaobj.utils.mvc.intf.LoadObjectController;
27: import org.springframework.validation.Errors;
28: import org.springframework.web.servlet.ModelAndView;
29: import org.theospi.portfolio.presentation.model.Presentation;
30: import org.theospi.portfolio.security.AuthorizationFailedException;
31:
32: public class ViewPresentationStatsController extends
33: AbstractPresentationController implements LoadObjectController {
34:
35: protected final Log logger = LogFactory.getLog(getClass());
36:
37: public ModelAndView handleRequest(Object requestModel, Map request,
38: Map session, Map application, Errors errors) {
39: Presentation presentation = (Presentation) requestModel;
40: return new ModelAndView("success", "presentationLogs",
41: getPresentationManager().findLogsByPresID(
42: presentation.getId()));
43: }
44:
45: public Object fillBackingObject(Object incomingModel, Map request,
46: Map session, Map application) throws Exception {
47: Presentation presentation = (Presentation) incomingModel;
48: presentation = getPresentationManager().getPresentation(
49: presentation.getId());
50: //TODO do we want to make this an authz ?
51: if (!presentation.getOwner()
52: .equals(getAuthManager().getAgent())) {
53: throw new AuthorizationFailedException(
54: "you are not authorized to view stats on this presentation");
55: }
56: return presentation;
57: }
58:
59: }
|