/**
* Builds the main repository, heart of eZ Publish API
*
* This always returns the true inner Repository, please depend on ezpublish.api.repository and not this method
* directly to make sure you get an instance wrapped inside Signal / Cache / * functionality.
*
* @param \eZ\Publish\SPI\Persistence\Handler $persistenceHandler
*
* @return \eZ\Publish\API\Repository\Repository
*/
public function buildRepository(PersistenceHandler $persistenceHandler)
{
$repository = new $this->repositoryClass($persistenceHandler, array('fieldType' => $this->fieldTypeCollectionFactory->getFieldTypes(), 'role' => array('limitationTypes' => $this->roleLimitations), 'languages' => $this->container->getParameter("languages")));
/** @var \eZ\Publish\API\Repository\Repository $repository */
$anonymousUser = $repository->getUserService()->loadUser($this->container->getParameter("anonymous_user_id"));
$repository->setCurrentUser($anonymousUser);
return $repository;
}