1 package edu.drexel.cms.interceptors; 2 3 import static edu.drexel.cms.commons.MessageKeys.INVALID_DATA; 4 import static edu.drexel.cms.commons.MessageKeys.PLEASE_LOGIN; 5 6 import javax.servlet.http.HttpServletRequest; 7 8 import org.apache.commons.logging.Log; 9 import org.apache.commons.logging.LogFactory; 10 import org.apache.struts2.ServletActionContext; 11 12 import com.opensymphony.xwork2.ActionInvocation; 13 import com.opensymphony.xwork2.ActionSupport; 14 import com.opensymphony.xwork2.ValidationAware; 15 import com.opensymphony.xwork2.interceptor.Interceptor; 16 17 import edu.drexel.cms.actions.SessionConstants; 18 import edu.drexel.cms.commons.CmsDataValidationException; 19 import edu.drexel.cms.data.CmsDAO; 20 import edu.drexel.cmsDb.datamodel.Conference; 21 import edu.drexel.cmsDb.datamodel.User; 22 23 public class NewPaperInterceptor extends ActionSupport implements Interceptor{ 24 private static final long serialVersionUID = 20070504L; 25 private static final Log LOG = LogFactory.getLog(NewPaperInterceptor.class); 26 private static final String PAGE_ERROR = "error.new.paper.page"; 27 28 public void destroy() {} 29 public void init() {} 30 31 public String intercept(ActionInvocation ai) throws Exception { 32 HttpServletRequest request = ServletActionContext.getRequest(); 33 try{ 34 User user = (User)request.getSession().getAttribute(SessionConstants.USER_ATTRIBUTE); 35 if(user == null){ 36 addErrors(ai, getText(PLEASE_LOGIN)); 37 return ActionSupport.LOGIN; 38 } 39 Long conferenceId = Long.valueOf(request.getParameter("conferenceId")); 40 Conference conference = CmsDAO.getConference(user, conferenceId, false); 41 request.setAttribute(SessionConstants.CONFERENCE_ATTRIBUTE, conference); 42 }catch (CmsDataValidationException e) { 43 LOG.error(getText(INVALID_DATA), e); 44 addErrors(ai, e.getMessage()); 45 } 46 catch (Exception e) { 47 LOG.error(getText(PAGE_ERROR), e); 48 addErrors(ai, getText(PAGE_ERROR)); 49 } 50 return ai.invoke(); 51 } 52 private void addErrors(ActionInvocation ai, String message){ 53 if (ai.getAction() instanceof ValidationAware) { 54 ValidationAware action = (ValidationAware) ai.getAction(); 55 action.addActionError(message); 56 } 57 } 58 }