commit 465a63503a277beb5395c09928a1d699f7c7c41a
parent 3545b8453c78a4d4dba8ee93f954fa3efb33d45d
Author: Felicitus <felicitus@felicitus.org>
Date: Sat, 12 Sep 2015 15:00:38 +0200
Throw a proper exception if a category root node could not be found
Diffstat:
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/PartKeepr/CategoryBundle/Controller/CategoryController.php b/src/PartKeepr/CategoryBundle/Controller/CategoryController.php
@@ -2,14 +2,17 @@
namespace PartKeepr\CategoryBundle\Controller;
use Dunglas\ApiBundle\Api\ResourceInterface;
+use Dunglas\ApiBundle\Exception\InvalidArgumentException;
use FOS\RestBundle\Controller\Annotations\RequestParam;
use Gedmo\Tree\Entity\Repository\AbstractTreeRepository;
use PartKeepr\CategoryBundle\Exception\MissingParentCategoryException;
use PartKeepr\CategoryBundle\Exception\RootMayNotBeMovedException;
+use PartKeepr\CategoryBundle\Exception\RootNodeNotFoundException;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
class CategoryController extends Controller
{
@@ -116,11 +119,13 @@ class CategoryController extends Controller
/**
* @var $repository AbstractTreeRepository
*/
- $rootNode = $repository->getRootNodes()[0];
+ $rootNodes = $repository->getRootNodes();
- //$this->get('serializer')->setCircularReferenceLimit(999);
- //$normalizer = $this->get('serializer')->getNormalizer($rootNode, 'json-ld');
- //$normalizer->setCircularReferenceLimit(999);
+ if (count($rootNodes) == 0) {
+ throw new RootNodeNotFoundException();
+ }
+
+ $rootNode = reset($rootNodes);
$data = $this->get('serializer')->normalize(
$rootNode,