001 package com.khubla.pragmatach.plugin.yaml;
002
003 import java.util.Map;
004
005 import com.khubla.pragmatach.framework.api.PragmatachException;
006 import com.khubla.pragmatach.framework.api.Response;
007 import com.khubla.pragmatach.framework.controller.BeanBoundController;
008 import com.khubla.pragmatach.framework.controller.ControllerBeanUtil;
009 import com.khubla.pragmatach.framework.controller.impl.AbstractController;
010
011 /**
012 * @author tome
013 */
014 public class YAMLController extends AbstractController implements BeanBoundController {
015 /**
016 * ctor
017 */
018 public YAMLController() {
019 }
020
021 private Map<String, String> getPostFieldValues() throws PragmatachException {
022 try {
023 return PragmatachYAML.parseYAML(getRequest().getInputStream());
024 } catch (final Exception e) {
025 throw new PragmatachException("Exception in getPostFieldValues", e);
026 }
027 }
028
029 /**
030 * render
031 */
032 public Response render() throws PragmatachException {
033 try {
034 return new YAMLResponse(getCacheHeaders(), this);
035 } catch (final Exception e) {
036 throw new PragmatachException("Exception in render", e);
037 }
038 }
039
040 @Override
041 public void populateController() throws PragmatachException {
042 ControllerBeanUtil.populateController(this, this.getPostFieldValues());
043 }
044 }