1 24 package org.riotfamily.forms.factory; 25 26 import javax.servlet.http.HttpServletRequest ; 27 28 import org.riotfamily.forms.Form; 29 import org.riotfamily.forms.controller.AjaxFormController; 30 31 32 33 38 public abstract class RepositoryFormController extends AjaxFormController { 39 40 protected static final String DEFAULT_FORM_ID_PARAM = "form"; 41 42 private FormRepository formRepository; 43 44 private String formIdParam = DEFAULT_FORM_ID_PARAM; 45 46 public RepositoryFormController(FormRepository formRepository) { 47 this.formRepository = formRepository; 48 } 49 50 protected FormRepository getFormRepository() { 51 return this.formRepository; 52 } 53 54 protected String getFormIdParam() { 55 return this.formIdParam; 56 } 57 58 public void setFormIdParam(String formIdParam) { 59 this.formIdParam = formIdParam; 60 } 61 62 protected String getSessionAttribute(HttpServletRequest request) { 63 return RepositoryFormController.class.getName() 64 + '.' + getFormId(request); 65 } 66 67 protected String getFormId(HttpServletRequest request) { 68 return request.getParameter(formIdParam); 69 } 70 71 protected Form createForm(HttpServletRequest request) { 72 String formId = getFormId(request); 73 log.debug("Creating form with id " + formId); 74 return formRepository.createForm(formId); 75 } 76 77 } 78 | Popular Tags |