/**********************************************************************************
* $URL:https://source.sakaiproject.org/svn/osp/trunk/presentation/tool/src/java/org/theospi/portfolio/presentation/control/AbstractPresentationController.java $
* $Id:AbstractPresentationController.java 9134 2006-05-08 20:28:42Z chmaurer@iupui.edu $
***********************************************************************************
*
* Copyright (c) 2005, 2006, 2008 The Sakai Foundation
*
* Licensed under the Educational Community 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.osedu.org/licenses/ECL-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 org.theospi.portfolio.presentation.control;
import java.util.Collection;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.sakaiproject.metaobj.security.AuthenticationManager;
import org.sakaiproject.metaobj.shared.mgt.AgentManager;
import org.sakaiproject.metaobj.shared.mgt.HomeFactory;
import org.sakaiproject.metaobj.shared.mgt.IdManager;
import org.sakaiproject.metaobj.shared.model.Id;
import org.sakaiproject.metaobj.utils.mvc.intf.Controller;
import org.sakaiproject.metaobj.worksite.mgt.WorksiteManager;
import org.sakaiproject.tool.cover.ToolManager;
import org.theospi.portfolio.presentation.PresentationManager;
import org.theospi.portfolio.presentation.model.PresentationTemplate;
import org.theospi.portfolio.security.AuthorizationFacade;
import org.theospi.portfolio.shared.model.Node;
import org.theospi.utils.mvc.impl.servlet.AbstractFormController;
abstract public class AbstractPresentationController extends AbstractFormController implements Controller {
private AgentManager agentManager;
private PresentationManager presentationManager;
private AuthenticationManager authManager;
private HomeFactory homeFactory;
protected final Log logger = LogFactory.getLog(getClass());
//private FileArtifactFinder fileArtifactFinder;
private IdManager idManager;
private Collection mimeTypes;
private AuthorizationFacade authzManager;
private WorksiteManager worksiteManager;
private AddTemplateController addTemplateController;
protected PresentationTemplate getActiveTemplate(Map session){
//AddTemplateController addTemplateController = (AddTemplateController)ComponentManager.getInstance().get("addTemplateController");
return (PresentationTemplate) session.get(getAddTemplateController().getFormAttributeName());
}
/**
*
* @return true is current agent is a maintainer in the current site
*/
protected Boolean isMaintainer(){
return Boolean.valueOf(getAuthzManager().isAuthorized(WorksiteManager.WORKSITE_MAINTAIN,
getIdManager().getId(ToolManager.getCurrentPlacement().getContext())));
}
protected Node loadNode(Id nodeId) {
return getPresentationManager().getNode(nodeId);
}
public WorksiteManager getWorksiteManager() {
return worksiteManager;
}
public void setWorksiteManager(WorksiteManager worksiteManager) {
this.worksiteManager = worksiteManager;
}
public PresentationManager getPresentationManager() {
return presentationManager;
}
protected Collection getHomes() {
return getHomeFactory().getHomes().entrySet();
}
public void setPresentationManager(PresentationManager presentationManager) {
this.presentationManager = presentationManager;
}
public AuthenticationManager getAuthManager() {
return authManager;
}
public void setAuthManager(AuthenticationManager authManager) {
this.authManager = authManager;
}
public AgentManager getAgentManager() {
return agentManager;
}
public void setAgentManager(AgentManager agentManager) {
this.agentManager = agentManager;
}
public HomeFactory getHomeFactory() {
return homeFactory;
}
public void setHomeFactory(HomeFactory homeFactory) {
this.homeFactory = homeFactory;
}
//public FileArtifactFinder getFileArtifactFinder() {
// return fileArtifactFinder;
//}
//public void setFileArtifactFinder(FileArtifactFinder fileFinder) {
// this.fileArtifactFinder = fileFinder;
//}
public IdManager getIdManager() {
return idManager;
}
public void setIdManager(IdManager idManager) {
this.idManager = idManager;
}
public Collection getMimeTypes() {
return mimeTypes;
}
public void setMimeTypes(Collection mimeTypes) {
this.mimeTypes = mimeTypes;
}
public AuthorizationFacade getAuthzManager() {
return authzManager;
}
public void setAuthzManager(AuthorizationFacade authzManager) {
this.authzManager = authzManager;
}
public AddTemplateController getAddTemplateController() {
return addTemplateController;
}
public void setAddTemplateController(AddTemplateController addTemplateController) {
this.addTemplateController = addTemplateController;
}
}