public function regenerateCategoryPaths($entity)
{
$repository = $this->getContainer()->get('doctrine.orm.default_entity_manager')->getRepository($entity);
/*
* @var $repository NestedTreeRepository
*/
$rootNodes = $repository->getRootNodes();
$pathSeparator = $this->getContainer()->getParameter('partkeepr.category.path_separator');
foreach ($rootNodes as $rootNode) {
/*
* @var $rootNode CategoryPathInterface
*/
$rootNode->setCategoryPath(uniqid());
}
$this->getContainer()->get('doctrine.orm.default_entity_manager')->flush();
foreach ($rootNodes as $rootNode) {
$rootNode->setCategoryPath($rootNode->generateCategoryPath($pathSeparator));
}
$this->getContainer()->get('doctrine.orm.default_entity_manager')->flush();
}