/** * @param string $content * @param \AgaviRequestDataHolder|array $parameters * @param \AgaviValidationManager $validationManager * @param array $config * @return string */ protected function executeFormPopulationFilter($content, $parameters, $validationManager = null, array $config = array()) { $container = $this->_context->getController()->createExecutionContainer('FilterTests', 'FormPopulationFilter'); $container->getResponse()->setContent($content); if ($parameters instanceof AgaviRequestDataHolder) { $rd = $parameters; } else { $rd = new AgaviRequestDataHolder(array(AgaviRequestDataHolder::SOURCE_PARAMETERS => $parameters)); } if ($validationManager) { $validationManager->execute($rd); } $fpf = new AgaviFormPopulationFilter(); $fpf->initialize($this->_context, array_merge(array('populate' => $rd, 'validation_report' => $validationManager ? $validationManager->getReport() : null, 'force_request_uri' => '/'), $config)); $filterChain = new AgaviFilterChain(); $filterChain->initialize($this->_context); $fpf->execute($filterChain, $container); return $container->getResponse()->getContent(); }