/** * @param ContextInterface $context * @param ActionInterface $action * @param array $extraData * @param bool $logWholeContext * * @return array */ private static function getContext(ContextInterface $context, ActionInterface $action = null, array $extraData = null, $logWholeContext = false) { $topContext = $context->getTopParent(); $result = array(); if ($topContext instanceof ProfileContext) { $result['profile_id'] = $topContext->getProfileId(); $result['own_role'] = $topContext->getOwnRole(); } if ($action) { $result['action'] = get_class($action); } $result['top_context_id'] = spl_object_hash($topContext); if ($logWholeContext) { $result['top_context'] = $topContext; } if ($extraData) { $result = array_merge($result, $extraData); } return $result; }
/** * @param ContextInterface|null $requestStateContext */ protected function flush($requestStateContext = null) { if ($requestStateContext instanceof RequestStateContext && $requestStateContext->getRequestState() && $requestStateContext->getRequestState()->getId()) { $existed = $this->requestStore->remove($requestStateContext->getRequestState()->getId()); if ($existed) { $this->logger->debug(sprintf('Removed request state "%s"', $requestStateContext->getRequestState()->getId()), LogHelper::getActionContext($requestStateContext, $this)); } else { $this->logger->debug(sprintf('Request state "%s" does not exist', $requestStateContext->getRequestState()->getId()), LogHelper::getActionContext($requestStateContext, $this)); } } }