/**
  * @param string $key
  * @return array
  * @throws RuntimeException
  */
 private function getResourceGroup($key)
 {
     $map = $this->mapBuilder->getMap();
     $propertyPath = $this->createPropertyPath($key);
     $accessor = PropertyAccess::createPropertyAccessor();
     $resources = $accessor->getValue($map, $propertyPath);
     if (!is_array($resources)) {
         throw new RuntimeException(sprintf('%s its not a resource group key', $key));
     }
     return $resources;
 }
 /**
  * @param \FSi\Bundle\ResourceRepositoryBundle\Repository\MapBuilder $mapBuilder
  * @param \Symfony\Component\Form\FormFactoryInterface $formFactory
  * @param \FSi\Bundle\AdminBundle\Admin\ResourceRepository\GenericResourceElement $element
  * @param \FSi\Bundle\ResourceRepositoryBundle\Model\ResourceValueRepository $valueRepository
  * @param \FSi\Bundle\ResourceRepositoryBundle\Repository\Resource\Type\TextType $resource
  */
 function let($mapBuilder, $formFactory, $element, $valueRepository, $resource)
 {
     $mapBuilder->getMap()->willReturn(array('resources' => array('resource_key' => $resource)));
     $resource->getName()->willReturn('resources.resource_key');
     $element->getRepository()->willReturn($valueRepository);
     $element->getResourceFormOptions()->willReturn(array('form_options'));
     $this->beConstructedWith($formFactory, $mapBuilder);
 }
 /**
  * @param \FSi\Bundle\AdminBundle\Admin\Context\Request\HandlerInterface $handler
  * @param \FSi\Bundle\AdminBundle\Doctrine\Admin\ResourceElement $element
  * @param \FSi\Bundle\ResourceRepositoryBundle\Repository\MapBuilder $builder
  * @param \FSi\Bundle\AdminBundle\Admin\ResourceRepository\ResourceFormBuilder $resourceFormBuilder
  * @param \Symfony\Component\Form\Form $form
  */
 function let($handler, $element, $builder, $resourceFormBuilder, $form)
 {
     $builder->getMap()->willReturn(array('resources' => array()));
     $element->getResourceFormOptions()->willReturn(array());
     $element->getKey()->willReturn('resources');
     $resourceFormBuilder->build($element)->willReturn($form);
     $this->beConstructedWith(array($handler), $resourceFormBuilder);
     $this->setElement($element);
 }