/********************************************************************************* * The contents of this file are subject to the Common Public Attribution * License Version 1.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.openemm.org/cpal1.html. The License is based on the Mozilla * Public License Version 1.1 but Sections 14 and 15 have been added to cover * use of software over a computer network and provide for limited attribution * for the Original Developer. In addition, Exhibit A has been modified to be * consistent with Exhibit B. * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for * the specific language governing rights and limitations under the License. * * The Original Code is OpenEMM. * The Original Developer is the Initial Developer. * The Initial Developer of the Original Code is AGNITAS AG. All portions of * the code written by AGNITAS AG are Copyright (c) 2007 AGNITAS AG. All Rights * Reserved. * * Contributor(s): AGNITAS AG. ********************************************************************************/ package org.agnitas.web; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.agnitas.beans.Admin; import org.agnitas.util.AgnUtils; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.hibernate.SessionFactory; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.web.struts.DispatchActionSupport; /** * Implementation of <strong>Action</strong> that validates a user logon. * * @author Craig R. McClanahan * @version $Revision: 1.1 $ $Date: 2006/08/03 08:47:47 $ */ public class StrutsDispatchActionBase extends DispatchActionSupport { /** * Get the bean via it name * * @return Value of Object bean * @param name */ protected Object getBean(String name) { return getWebApplicationContext().getBean(name); } /** * Get the hibernateTemplate. * * @return Value of property hibernateTemplate. */ protected HibernateTemplate getHibernateTemplate() { SessionFactory factory=null; factory=(SessionFactory)this.getWebApplicationContext().getBean("sessionFactory"); return new HibernateTemplate(factory); } /** * Getter for property companyID. * * @return Value of property companyID. * @param req */ public int getCompanyID(HttpServletRequest req) { return AgnUtils.getCompanyID(req); } /** * checks permission. */ protected boolean allowed(String id, HttpServletRequest req) { Admin aAdmin = AgnUtils.getAdmin(req); if (aAdmin == null) { return false; // Nothing allowed if there is no permission set in Session } return aAdmin.permissionAllowed(id); } /** * Get the ActionForward object * * @return Value of property ActionForward * @param mapping * @param form * @param request * @param response * @param name */ protected ActionForward dispatchMethod( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response, String name) throws java.lang.Exception { if(request.getParameter("action_forward") != null) { return super.dispatchMethod(mapping, form, request, response, request.getParameter("action_forward")); } return super.dispatchMethod(mapping, form, request, response, name); } /** * Constructor */ public StrutsDispatchActionBase() { super(); } }