001 package com.khubla.pragmatach.framework.controller.impl;
002
003 import java.util.HashMap;
004 import java.util.Map;
005
006 import com.khubla.pragmatach.framework.api.PragmatachException;
007 import com.khubla.pragmatach.framework.controller.BeanBoundController;
008 import com.khubla.pragmatach.framework.controller.ControllerBeanUtil;
009 import com.khubla.pragmatach.framework.controller.impl.template.AbstractTemplateEngineController;
010 import com.khubla.pragmatach.framework.form.Form;
011 import com.khubla.pragmatach.framework.form.FormItem;
012
013 /**
014 * @author tome
015 */
016 public class FormPostBeanBoundController extends AbstractTemplateEngineController implements BeanBoundController {
017 protected Map<String, String> getPostFieldValues() throws PragmatachException {
018 try {
019 final Form form = Form.parse(getRequest().getHttpServletRequest());
020 if (null != form) {
021 final Map<String, String> ret = new HashMap<String, String>();
022 for (final FormItem formItem : form.getItems().values()) {
023 ret.put(formItem.getName(), formItem.getValue());
024 }
025 return ret;
026 } else {
027 return null;
028 }
029 } catch (final Exception e) {
030 throw new PragmatachException("Exception in getPostFieldValues", e);
031 }
032 }
033
034 @Override
035 public void populateController() throws PragmatachException {
036 try {
037 ControllerBeanUtil.populateController(this, getPostFieldValues());
038 } catch (final Exception e) {
039 throw new PragmatachException("Exception in populateController", e);
040 }
041 }
042 }