/**
  * execute this containers view instance
  * 
  * @return     mixed the view's result
  * 
  * @author     David Zülke <*****@*****.**>
  * @author     Felix Gilcher <*****@*****.**>
  * @since      1.0.0
  */
 protected function executeView(AgaviExecutionContainer $container)
 {
     $outputType = $container->getOutputType()->getName();
     $request = $this->context->getRequest();
     $viewInstance = $container->getViewInstance();
     // $lm->log('View is not cached, executing...');
     // view initialization completed successfully
     $executeMethod = 'execute' . $outputType;
     if (!is_callable(array($viewInstance, $executeMethod))) {
         $executeMethod = 'execute';
     }
     $key = $request->toggleLock();
     try {
         $viewResult = $viewInstance->{$executeMethod}($container->getRequestData());
     } catch (Exception $e) {
         // we caught an exception... unlock the request and rethrow!
         $request->toggleLock($key);
         throw $e;
     }
     $request->toggleLock($key);
     return $viewResult;
 }
 protected function log(AgaviExecutionContainer $container)
 {
     //keep this simple for now
     $this->rq->appendAttribute('actions', array('name' => $container->getActionName(), 'module' => $container->getModuleName(), 'request_data' => array('request_parameters' => $container->getRequestData()->getParameters(), 'cookies' => $container->getRequestData()->getCookies(), 'headers' => $container->getRequestData()->getHeaders()), 'validation' => $this->getValidationInfo($container), 'view' => $this->getViewInfo($container)), self::NS_DATA);
 }