[Form] Introduced base ExceptionInterface

This commit is contained in:
Bernhard Schussek 2013-01-05 18:31:34 +01:00
parent c4a2a2ba2b
commit fee1bf5448
39 changed files with 159 additions and 102 deletions

View File

@ -11,7 +11,7 @@
namespace Symfony\Bridge\Doctrine\Form\ChoiceList; namespace Symfony\Bridge\Doctrine\Form\ChoiceList;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\Form\Exception\StringCastException; use Symfony\Component\Form\Exception\StringCastException;
use Symfony\Component\Form\Extension\Core\ChoiceList\ObjectChoiceList; use Symfony\Component\Form\Extension\Core\ChoiceList\ObjectChoiceList;
use Doctrine\Common\Persistence\ObjectManager; use Doctrine\Common\Persistence\ObjectManager;
@ -387,12 +387,12 @@ class EntityChoiceList extends ObjectChoiceList
* *
* @return array The identifier values * @return array The identifier values
* *
* @throws FormException If the entity does not exist in Doctrine's identity map * @throws Exception If the entity does not exist in Doctrine's identity map
*/ */
private function getIdentifierValues($entity) private function getIdentifierValues($entity)
{ {
if (!$this->em->contains($entity)) { if (!$this->em->contains($entity)) {
throw new FormException( throw new Exception(
'Entities passed to the choice field must be managed. Maybe ' . 'Entities passed to the choice field must be managed. Maybe ' .
'persist them in the entity manager?' 'persist them in the entity manager?'
); );

View File

@ -12,7 +12,7 @@
namespace Symfony\Bridge\Doctrine\Form\Type; namespace Symfony\Bridge\Doctrine\Form\Type;
use Doctrine\Common\Persistence\ManagerRegistry; use Doctrine\Common\Persistence\ManagerRegistry;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Doctrine\Common\Persistence\ObjectManager; use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Bridge\Doctrine\Form\ChoiceList\EntityChoiceList; use Symfony\Bridge\Doctrine\Form\ChoiceList\EntityChoiceList;
@ -134,7 +134,7 @@ abstract class DoctrineType extends AbstractType
$em = $registry->getManagerForClass($options['class']); $em = $registry->getManagerForClass($options['class']);
if (null === $em) { if (null === $em) {
throw new FormException(sprintf( throw new Exception(sprintf(
'Class "%s" seems not to be a managed Doctrine entity. ' . 'Class "%s" seems not to be a managed Doctrine entity. ' .
'Did you forget to map it?', 'Did you forget to map it?',
$options['class'] $options['class']

View File

@ -11,7 +11,7 @@
namespace Symfony\Component\Form; namespace Symfony\Component\Form;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\Form\Exception\UnexpectedTypeException; use Symfony\Component\Form\Exception\UnexpectedTypeException;
/** /**
@ -53,7 +53,7 @@ abstract class AbstractExtension implements FormExtensionInterface
} }
if (!isset($this->types[$name])) { if (!isset($this->types[$name])) {
throw new FormException(sprintf('The type "%s" can not be loaded by this extension', $name)); throw new Exception(sprintf('The type "%s" can not be loaded by this extension', $name));
} }
return $this->types[$name]; return $this->types[$name];

View File

@ -9,6 +9,7 @@ CHANGELOG
* FormInterface::add() now accepts a FormInterface instance OR a field's name, type and options * FormInterface::add() now accepts a FormInterface instance OR a field's name, type and options
* removed special characters between the choice or text fields of DateType unless * removed special characters between the choice or text fields of DateType unless
the option "format" is set to a custom value the option "format" is set to a custom value
* deprecated FormException and introduced ExceptionInterface instead
2.1.0 2.1.0
----- -----

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class AlreadyBoundException extends FormException class AlreadyBoundException extends Exception
{ {
} }

View File

@ -16,6 +16,6 @@ namespace Symfony\Component\Form\Exception;
* *
* @author Bernhard Schussek <bschussek@gmail.com> * @author Bernhard Schussek <bschussek@gmail.com>
*/ */
class CreationException extends FormException class CreationException extends Exception
{ {
} }

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class ErrorMappingException extends FormException class ErrorMappingException extends Exception
{ {
} }

View File

@ -0,0 +1,26 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Form\Exception;
/**
* Base exception class.
*
* @author Bernhard Schussek <bschussek@gmail.com>
*
* @deprecated This class is a replacement for when class FormException was
* used previously. It should not be used and will be removed.
* Occurrences of this class should be replaced by more specialized
* exception classes, preferably derived from SPL exceptions.
*/
class Exception extends \Exception implements ExceptionInterface
{
}

View File

@ -0,0 +1,21 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Form\Exception;
/**
* Base ExceptionInterface for the Form component.
*
* @author Bernhard Schussek <bschussek@gmail.com>
*/
interface ExceptionInterface extends FormException
{
}

View File

@ -11,6 +11,14 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class FormException extends \Exception /**
* Alias of {@link ExceptionInterface}.
*
* @author Bernhard Schussek <bschussek@gmail.com>
*
* @deprecated This interface was deprecated and will be removed in Symfony 2.3.
* You should code against {@link ExceptionInterface} instead.
*/
interface FormException
{ {
} }

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class InvalidConfigurationException extends FormException class InvalidConfigurationException extends Exception
{ {
} }

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class InvalidPropertyException extends FormException class InvalidPropertyException extends Exception
{ {
} }

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class InvalidPropertyPathException extends FormException class InvalidPropertyPathException extends Exception
{ {
} }

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class NotInitializedException extends FormException class NotInitializedException extends Exception
{ {
} }

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class NotValidException extends FormException class NotValidException extends Exception
{ {
} }

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class PropertyAccessDeniedException extends FormException class PropertyAccessDeniedException extends Exception
{ {
} }

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class StringCastException extends FormException class StringCastException extends Exception
{ {
} }

View File

@ -14,8 +14,8 @@ namespace Symfony\Component\Form\Exception;
/** /**
* Indicates a value transformation error. * Indicates a value transformation error.
* *
* @author Bernhard Schussek <bschussek@gmail.com> * @author Bernhard Schussek <bschussek@gmail.com>
*/ */
class TransformationFailedException extends \RuntimeException class TransformationFailedException extends \RuntimeException implements ExceptionInterface
{ {
} }

View File

@ -16,6 +16,6 @@ namespace Symfony\Component\Form\Exception;
* *
* @author Bernhard Schussek <bschussek@gmail.com> * @author Bernhard Schussek <bschussek@gmail.com>
*/ */
class TypeDefinitionException extends FormException class TypeDefinitionException extends Exception
{ {
} }

View File

@ -11,6 +11,6 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class TypeLoaderException extends FormException class TypeLoaderException extends Exception
{ {
} }

View File

@ -11,7 +11,7 @@
namespace Symfony\Component\Form\Exception; namespace Symfony\Component\Form\Exception;
class UnexpectedTypeException extends FormException class UnexpectedTypeException extends Exception
{ {
public function __construct($value, $expectedType) public function __construct($value, $expectedType)
{ {

View File

@ -11,7 +11,7 @@
namespace Symfony\Component\Form\Extension\Core\ChoiceList; namespace Symfony\Component\Form\Extension\Core\ChoiceList;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
/** /**
* A choice list that is loaded lazily * A choice list that is loaded lazily
@ -141,7 +141,7 @@ abstract class LazyChoiceList implements ChoiceListInterface
$choiceList = $this->loadChoiceList(); $choiceList = $this->loadChoiceList();
if (!$choiceList instanceof ChoiceListInterface) { if (!$choiceList instanceof ChoiceListInterface) {
throw new FormException('loadChoiceList() should return a ChoiceListInterface instance. Got ' . gettype($choiceList)); throw new Exception('loadChoiceList() should return a ChoiceListInterface instance. Got ' . gettype($choiceList));
} }
$this->choiceList = $choiceList; $this->choiceList = $choiceList;

View File

@ -15,7 +15,7 @@ use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView; use Symfony\Component\Form\FormView;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\Form\Extension\Core\ChoiceList\SimpleChoiceList; use Symfony\Component\Form\Extension\Core\ChoiceList\SimpleChoiceList;
use Symfony\Component\Form\Extension\Core\EventListener\FixRadioInputListener; use Symfony\Component\Form\Extension\Core\EventListener\FixRadioInputListener;
use Symfony\Component\Form\Extension\Core\EventListener\FixCheckboxInputListener; use Symfony\Component\Form\Extension\Core\EventListener\FixCheckboxInputListener;
@ -41,7 +41,7 @@ class ChoiceType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options) public function buildForm(FormBuilderInterface $builder, array $options)
{ {
if (!$options['choice_list'] && !is_array($options['choices']) && !$options['choices'] instanceof \Traversable) { if (!$options['choice_list'] && !is_array($options['choices']) && !$options['choices'] instanceof \Traversable) {
throw new FormException('Either the option "choices" or "choice_list" must be set.'); throw new Exception('Either the option "choices" or "choice_list" must be set.');
} }
if ($options['expanded']) { if ($options['expanded']) {

View File

@ -17,7 +17,7 @@ use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView; use Symfony\Component\Form\FormView;
use Symfony\Component\Form\Extension\Core\EventListener\TrimListener; use Symfony\Component\Form\Extension\Core\EventListener\TrimListener;
use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper; use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\OptionsResolver\Options; use Symfony\Component\OptionsResolver\Options;
use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface;
@ -61,7 +61,7 @@ class FormType extends AbstractType
if ($view->parent) { if ($view->parent) {
if ('' === $name) { if ('' === $name) {
throw new FormException('Form node with empty name can be used only as root form node.'); throw new Exception('Form node with empty name can be used only as root form node.');
} }
if ('' !== ($parentFullName = $view->parent->vars['full_name'])) { if ('' !== ($parentFullName = $view->parent->vars['full_name'])) {

View File

@ -13,7 +13,7 @@ namespace Symfony\Component\Form\Extension\HttpFoundation\EventListener;
use Symfony\Component\Form\FormEvents; use Symfony\Component\Form\FormEvents;
use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
@ -74,7 +74,7 @@ class BindRequestListener implements EventSubscriberInterface
break; break;
default: default:
throw new FormException(sprintf( throw new Exception(sprintf(
'The request method "%s" is not supported', 'The request method "%s" is not supported',
$request->getMethod() $request->getMethod()
)); ));

View File

@ -11,7 +11,7 @@
namespace Symfony\Component\Form; namespace Symfony\Component\Form;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\Form\Exception\UnexpectedTypeException; use Symfony\Component\Form\Exception\UnexpectedTypeException;
use Symfony\Component\Form\Exception\AlreadyBoundException; use Symfony\Component\Form\Exception\AlreadyBoundException;
use Symfony\Component\Form\Exception\TransformationFailedException; use Symfony\Component\Form\Exception\TransformationFailedException;
@ -152,7 +152,7 @@ class Form implements \IteratorAggregate, FormInterface
// `setData` and `add` will not lead to the correct population of // `setData` and `add` will not lead to the correct population of
// the child forms. // the child forms.
if ($config->getCompound() && !$config->getDataMapper()) { if ($config->getCompound() && !$config->getDataMapper()) {
throw new FormException('Compound forms need a data mapper'); throw new Exception('Compound forms need a data mapper');
} }
$this->config = $config; $this->config = $config;
@ -256,7 +256,7 @@ class Form implements \IteratorAggregate, FormInterface
} }
if (null !== $parent && '' === $this->config->getName()) { if (null !== $parent && '' === $this->config->getName()) {
throw new FormException('A form with an empty name cannot have a parent form.'); throw new Exception('A form with an empty name cannot have a parent form.');
} }
$this->parent = $parent; $this->parent = $parent;
@ -359,7 +359,7 @@ class Form implements \IteratorAggregate, FormInterface
} }
if ($this->lockSetData) { if ($this->lockSetData) {
throw new FormException('A cycle was detected. Listeners to the PRE_SET_DATA event must not call setData(). You should call setData() on the FormEvent object instead.'); throw new Exception('A cycle was detected. Listeners to the PRE_SET_DATA event must not call setData(). You should call setData() on the FormEvent object instead.');
} }
$this->lockSetData = true; $this->lockSetData = true;
@ -394,7 +394,7 @@ class Form implements \IteratorAggregate, FormInterface
if (null === $dataClass && is_object($viewData) && !$viewData instanceof \ArrayAccess) { if (null === $dataClass && is_object($viewData) && !$viewData instanceof \ArrayAccess) {
$expectedType = 'scalar, array or an instance of \ArrayAccess'; $expectedType = 'scalar, array or an instance of \ArrayAccess';
throw new FormException( throw new Exception(
'The form\'s view data is expected to be of type ' . $expectedType . ', ' . 'The form\'s view data is expected to be of type ' . $expectedType . ', ' .
'but is ' . $actualType . '. You ' . 'but is ' . $actualType . '. You ' .
'can avoid this error by setting the "data_class" option to ' . 'can avoid this error by setting the "data_class" option to ' .
@ -404,7 +404,7 @@ class Form implements \IteratorAggregate, FormInterface
} }
if (null !== $dataClass && !$viewData instanceof $dataClass) { if (null !== $dataClass && !$viewData instanceof $dataClass) {
throw new FormException( throw new Exception(
'The form\'s view data is expected to be an instance of class ' . 'The form\'s view data is expected to be an instance of class ' .
$dataClass . ', but is '. $actualType . '. You can avoid this error ' . $dataClass . ', but is '. $actualType . '. You can avoid this error ' .
'by setting the "data_class" option to null or by adding a view ' . 'by setting the "data_class" option to null or by adding a view ' .
@ -867,7 +867,7 @@ class Form implements \IteratorAggregate, FormInterface
} }
if (!$this->config->getCompound()) { if (!$this->config->getCompound()) {
throw new FormException('You cannot add children to a simple form. Maybe you should set the option "compound" to true?'); throw new Exception('You cannot add children to a simple form. Maybe you should set the option "compound" to true?');
} }
// Obtain the view data // Obtain the view data

View File

@ -11,7 +11,7 @@
namespace Symfony\Component\Form; namespace Symfony\Component\Form;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\Form\Exception\UnexpectedTypeException; use Symfony\Component\Form\Exception\UnexpectedTypeException;
use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@ -65,7 +65,7 @@ class FormBuilder extends FormConfigBuilder implements \IteratorAggregate, FormB
public function add($child, $type = null, array $options = array()) public function add($child, $type = null, array $options = array())
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The form builder cannot be modified anymore.'); throw new Exception('The form builder cannot be modified anymore.');
} }
if ($child instanceof self) { if ($child instanceof self) {
@ -102,7 +102,7 @@ class FormBuilder extends FormConfigBuilder implements \IteratorAggregate, FormB
public function create($name, $type = null, array $options = array()) public function create($name, $type = null, array $options = array())
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The form builder cannot be modified anymore.'); throw new Exception('The form builder cannot be modified anymore.');
} }
if (null === $type && null === $this->getDataClass()) { if (null === $type && null === $this->getDataClass()) {
@ -129,7 +129,7 @@ class FormBuilder extends FormConfigBuilder implements \IteratorAggregate, FormB
return $this->children[$name]; return $this->children[$name];
} }
throw new FormException(sprintf('The child with the name "%s" does not exist.', $name)); throw new Exception(sprintf('The child with the name "%s" does not exist.', $name));
} }
/** /**
@ -138,7 +138,7 @@ class FormBuilder extends FormConfigBuilder implements \IteratorAggregate, FormB
public function remove($name) public function remove($name)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The form builder cannot be modified anymore.'); throw new Exception('The form builder cannot be modified anymore.');
} }
unset($this->unresolvedChildren[$name]); unset($this->unresolvedChildren[$name]);
@ -217,7 +217,7 @@ class FormBuilder extends FormConfigBuilder implements \IteratorAggregate, FormB
public function setParent(FormBuilderInterface $parent = null) public function setParent(FormBuilderInterface $parent = null)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The form builder cannot be modified anymore.'); throw new Exception('The form builder cannot be modified anymore.');
} }
$this->parent = $parent; $this->parent = $parent;

View File

@ -11,7 +11,7 @@
namespace Symfony\Component\Form; namespace Symfony\Component\Form;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\Form\Exception\UnexpectedTypeException; use Symfony\Component\Form\Exception\UnexpectedTypeException;
use Symfony\Component\Form\Util\PropertyPath; use Symfony\Component\Form\Util\PropertyPath;
use Symfony\Component\Form\Util\PropertyPathInterface; use Symfony\Component\Form\Util\PropertyPathInterface;
@ -172,7 +172,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function addEventListener($eventName, $listener, $priority = 0) public function addEventListener($eventName, $listener, $priority = 0)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->dispatcher->addListener($eventName, $listener, $priority); $this->dispatcher->addListener($eventName, $listener, $priority);
@ -186,7 +186,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function addEventSubscriber(EventSubscriberInterface $subscriber) public function addEventSubscriber(EventSubscriberInterface $subscriber)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->dispatcher->addSubscriber($subscriber); $this->dispatcher->addSubscriber($subscriber);
@ -202,7 +202,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
trigger_error('addValidator() is deprecated since version 2.1 and will be removed in 2.3.', E_USER_DEPRECATED); trigger_error('addValidator() is deprecated since version 2.1 and will be removed in 2.3.', E_USER_DEPRECATED);
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->validators[] = $validator; $this->validators[] = $validator;
@ -216,7 +216,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function addViewTransformer(DataTransformerInterface $viewTransformer, $forcePrepend = false) public function addViewTransformer(DataTransformerInterface $viewTransformer, $forcePrepend = false)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
if ($forcePrepend) { if ($forcePrepend) {
@ -234,7 +234,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function resetViewTransformers() public function resetViewTransformers()
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->viewTransformers = array(); $this->viewTransformers = array();
@ -249,7 +249,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
* *
* @return FormConfigBuilder The configuration object. * @return FormConfigBuilder The configuration object.
* *
* @throws FormException if the form configuration is locked * @throws Exception if the form configuration is locked
* *
* @deprecated Deprecated since version 2.1, to be removed in 2.3. Use * @deprecated Deprecated since version 2.1, to be removed in 2.3. Use
* {@link addViewTransformer()} instead. * {@link addViewTransformer()} instead.
@ -259,7 +259,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
trigger_error('appendClientTransformer() is deprecated since version 2.1 and will be removed in 2.3. Use addViewTransformer() instead.', E_USER_DEPRECATED); trigger_error('appendClientTransformer() is deprecated since version 2.1 and will be removed in 2.3. Use addViewTransformer() instead.', E_USER_DEPRECATED);
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
return $this->addViewTransformer($viewTransformer); return $this->addViewTransformer($viewTransformer);
@ -272,7 +272,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
* *
* @return FormConfigBuilder The configuration object. * @return FormConfigBuilder The configuration object.
* *
* @throws FormException if the form configuration is locked * @throws Exception if the form configuration is locked
* *
* @deprecated Deprecated since version 2.1, to be removed in 2.3. * @deprecated Deprecated since version 2.1, to be removed in 2.3.
*/ */
@ -281,7 +281,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
trigger_error('prependClientTransformer() is deprecated since version 2.1 and will be removed in 2.3.', E_USER_DEPRECATED); trigger_error('prependClientTransformer() is deprecated since version 2.1 and will be removed in 2.3.', E_USER_DEPRECATED);
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
return $this->addViewTransformer($viewTransformer, true); return $this->addViewTransformer($viewTransformer, true);
@ -292,7 +292,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
* *
* @return FormConfigBuilder The configuration object. * @return FormConfigBuilder The configuration object.
* *
* @throws FormException if the form configuration is locked * @throws Exception if the form configuration is locked
* *
* @deprecated Deprecated since version 2.1, to be removed in 2.3. Use * @deprecated Deprecated since version 2.1, to be removed in 2.3. Use
* {@link resetViewTransformers()} instead. * {@link resetViewTransformers()} instead.
@ -302,7 +302,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
trigger_error('resetClientTransformers() is deprecated since version 2.1 and will be removed in 2.3. Use resetViewTransformers() instead.', E_USER_DEPRECATED); trigger_error('resetClientTransformers() is deprecated since version 2.1 and will be removed in 2.3. Use resetViewTransformers() instead.', E_USER_DEPRECATED);
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
return $this->resetViewTransformers(); return $this->resetViewTransformers();
@ -314,7 +314,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function addModelTransformer(DataTransformerInterface $modelTransformer, $forceAppend = false) public function addModelTransformer(DataTransformerInterface $modelTransformer, $forceAppend = false)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
if ($forceAppend) { if ($forceAppend) {
@ -332,7 +332,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function resetModelTransformers() public function resetModelTransformers()
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->modelTransformers = array(); $this->modelTransformers = array();
@ -347,7 +347,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
* *
* @return FormConfigBuilder The configuration object. * @return FormConfigBuilder The configuration object.
* *
* @throws FormException if the form configuration is locked * @throws Exception if the form configuration is locked
* *
* @deprecated Deprecated since version 2.1, to be removed in 2.3. * @deprecated Deprecated since version 2.1, to be removed in 2.3.
*/ */
@ -356,7 +356,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
trigger_error('appendNormTransformer() is deprecated since version 2.1 and will be removed in 2.3.', E_USER_DEPRECATED); trigger_error('appendNormTransformer() is deprecated since version 2.1 and will be removed in 2.3.', E_USER_DEPRECATED);
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
return $this->addModelTransformer($modelTransformer, true); return $this->addModelTransformer($modelTransformer, true);
@ -369,7 +369,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
* *
* @return FormConfigBuilder The configuration object. * @return FormConfigBuilder The configuration object.
* *
* @throws FormException if the form configuration is locked * @throws Exception if the form configuration is locked
* *
* @deprecated Deprecated since version 2.1, to be removed in 2.3. Use * @deprecated Deprecated since version 2.1, to be removed in 2.3. Use
* {@link addModelTransformer()} instead. * {@link addModelTransformer()} instead.
@ -379,7 +379,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
trigger_error('prependNormTransformer() is deprecated since version 2.1 and will be removed in 2.3. Use addModelTransformer() instead.', E_USER_DEPRECATED); trigger_error('prependNormTransformer() is deprecated since version 2.1 and will be removed in 2.3. Use addModelTransformer() instead.', E_USER_DEPRECATED);
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
return $this->addModelTransformer($modelTransformer); return $this->addModelTransformer($modelTransformer);
@ -390,7 +390,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
* *
* @return FormConfigBuilder The configuration object. * @return FormConfigBuilder The configuration object.
* *
* @throws FormException if the form configuration is locked * @throws Exception if the form configuration is locked
* *
* @deprecated Deprecated since version 2.1, to be removed in 2.3. Use * @deprecated Deprecated since version 2.1, to be removed in 2.3. Use
* {@link resetModelTransformers()} instead. * {@link resetModelTransformers()} instead.
@ -400,7 +400,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
trigger_error('resetNormTransformers() is deprecated since version 2.1 and will be removed in 2.3. Use resetModelTransformers() instead.', E_USER_DEPRECATED); trigger_error('resetNormTransformers() is deprecated since version 2.1 and will be removed in 2.3. Use resetModelTransformers() instead.', E_USER_DEPRECATED);
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
return $this->resetModelTransformers(); return $this->resetModelTransformers();
@ -652,7 +652,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setAttribute($name, $value) public function setAttribute($name, $value)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->attributes[$name] = $value; $this->attributes[$name] = $value;
@ -666,7 +666,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setAttributes(array $attributes) public function setAttributes(array $attributes)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->attributes = $attributes; $this->attributes = $attributes;
@ -680,7 +680,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setDataMapper(DataMapperInterface $dataMapper = null) public function setDataMapper(DataMapperInterface $dataMapper = null)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->dataMapper = $dataMapper; $this->dataMapper = $dataMapper;
@ -694,7 +694,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setDisabled($disabled) public function setDisabled($disabled)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->disabled = (Boolean) $disabled; $this->disabled = (Boolean) $disabled;
@ -708,7 +708,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setEmptyData($emptyData) public function setEmptyData($emptyData)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->emptyData = $emptyData; $this->emptyData = $emptyData;
@ -722,7 +722,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setErrorBubbling($errorBubbling) public function setErrorBubbling($errorBubbling)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->errorBubbling = null === $errorBubbling ? null : (Boolean) $errorBubbling; $this->errorBubbling = null === $errorBubbling ? null : (Boolean) $errorBubbling;
@ -736,7 +736,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setRequired($required) public function setRequired($required)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->required = (Boolean) $required; $this->required = (Boolean) $required;
@ -750,7 +750,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setPropertyPath($propertyPath) public function setPropertyPath($propertyPath)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
if (null !== $propertyPath && !$propertyPath instanceof PropertyPathInterface) { if (null !== $propertyPath && !$propertyPath instanceof PropertyPathInterface) {
@ -768,7 +768,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setMapped($mapped) public function setMapped($mapped)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->mapped = $mapped; $this->mapped = $mapped;
@ -782,7 +782,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setByReference($byReference) public function setByReference($byReference)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->byReference = $byReference; $this->byReference = $byReference;
@ -796,7 +796,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setVirtual($virtual) public function setVirtual($virtual)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->virtual = $virtual; $this->virtual = $virtual;
@ -810,7 +810,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setCompound($compound) public function setCompound($compound)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->compound = $compound; $this->compound = $compound;
@ -824,7 +824,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setType(ResolvedFormTypeInterface $type) public function setType(ResolvedFormTypeInterface $type)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->type = $type; $this->type = $type;
@ -838,7 +838,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setData($data) public function setData($data)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->data = $data; $this->data = $data;
@ -852,7 +852,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setDataLocked($locked) public function setDataLocked($locked)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->dataLocked = $locked; $this->dataLocked = $locked;
@ -866,7 +866,7 @@ class FormConfigBuilder implements FormConfigBuilderInterface
public function setFormFactory(FormFactoryInterface $formFactory) public function setFormFactory(FormFactoryInterface $formFactory)
{ {
if ($this->locked) { if ($this->locked) {
throw new FormException('The config builder cannot be modified anymore.'); throw new Exception('The config builder cannot be modified anymore.');
} }
$this->formFactory = $formFactory; $this->formFactory = $formFactory;

View File

@ -11,8 +11,9 @@
namespace Symfony\Component\Form; namespace Symfony\Component\Form;
use Symfony\Component\Form\Exception\ExceptionInterface;
use Symfony\Component\Form\Exception\UnexpectedTypeException; use Symfony\Component\Form\Exception\UnexpectedTypeException;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
/** /**
* The central registry of the Form component. * The central registry of the Form component.
@ -95,7 +96,7 @@ class FormRegistry implements FormRegistryInterface
} }
if (!$type) { if (!$type) {
throw new FormException(sprintf('Could not load type "%s"', $name)); throw new Exception(sprintf('Could not load type "%s"', $name));
} }
$this->resolveAndAddType($type); $this->resolveAndAddType($type);
@ -151,7 +152,7 @@ class FormRegistry implements FormRegistryInterface
try { try {
$this->getType($name); $this->getType($name);
} catch (FormException $e) { } catch (ExceptionInterface $e) {
return false; return false;
} }

View File

@ -11,7 +11,7 @@
namespace Symfony\Component\Form; namespace Symfony\Component\Form;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfProviderInterface; use Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfProviderInterface;
/** /**
@ -88,7 +88,7 @@ class FormRenderer implements FormRendererInterface
public function renderBlock(FormView $view, $blockName, array $variables = array()) public function renderBlock(FormView $view, $blockName, array $variables = array())
{ {
if (0 == count($this->variableStack)) { if (0 == count($this->variableStack)) {
throw new FormException('This method should only be called while rendering a form element.'); throw new Exception('This method should only be called while rendering a form element.');
} }
$viewCacheKey = $view->vars[self::CACHE_KEY_VAR]; $viewCacheKey = $view->vars[self::CACHE_KEY_VAR];
@ -97,7 +97,7 @@ class FormRenderer implements FormRendererInterface
$resource = $this->engine->getResourceForBlockName($view, $blockName); $resource = $this->engine->getResourceForBlockName($view, $blockName);
if (!$resource) { if (!$resource) {
throw new FormException(sprintf('No block "%s" found while rendering the form.', $blockName)); throw new Exception(sprintf('No block "%s" found while rendering the form.', $blockName));
} }
// Merge the passed with the existing attributes // Merge the passed with the existing attributes
@ -217,7 +217,7 @@ class FormRenderer implements FormRendererInterface
// Escape if no resource exists for this block // Escape if no resource exists for this block
if (!$resource) { if (!$resource) {
throw new FormException(sprintf( throw new Exception(sprintf(
'Unable to render the form as none of the following blocks exist: "%s".', 'Unable to render the form as none of the following blocks exist: "%s".',
implode('", "', array_reverse($blockNameHierarchy)) implode('", "', array_reverse($blockNameHierarchy))
)); ));

View File

@ -11,7 +11,7 @@
namespace Symfony\Component\Form; namespace Symfony\Component\Form;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
/** /**
* A form extension with preloaded types, type exceptions and type guessers. * A form extension with preloaded types, type exceptions and type guessers.
@ -55,7 +55,7 @@ class PreloadedExtension implements FormExtensionInterface
public function getType($name) public function getType($name)
{ {
if (!isset($this->types[$name])) { if (!isset($this->types[$name])) {
throw new FormException(sprintf('The type "%s" can not be loaded by this extension', $name)); throw new Exception(sprintf('The type "%s" can not be loaded by this extension', $name));
} }
return $this->types[$name]; return $this->types[$name];

View File

@ -11,7 +11,7 @@
namespace Symfony\Component\Form; namespace Symfony\Component\Form;
use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\Exception;
use Symfony\Component\Form\Exception\UnexpectedTypeException; use Symfony\Component\Form\Exception\UnexpectedTypeException;
use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
@ -46,7 +46,7 @@ class ResolvedFormType implements ResolvedFormTypeInterface
public function __construct(FormTypeInterface $innerType, array $typeExtensions = array(), ResolvedFormTypeInterface $parent = null) public function __construct(FormTypeInterface $innerType, array $typeExtensions = array(), ResolvedFormTypeInterface $parent = null)
{ {
if (!preg_match('/^[a-z0-9_]*$/i', $innerType->getName())) { if (!preg_match('/^[a-z0-9_]*$/i', $innerType->getName())) {
throw new FormException(sprintf( throw new Exception(sprintf(
'The "%s" form type name ("%s") is not valid. Names must only contain letters, numbers, and "_".', 'The "%s" form type name ("%s") is not valid. Names must only contain letters, numbers, and "_".',
get_class($innerType), get_class($innerType),
$innerType->getName() $innerType->getName()

View File

@ -82,7 +82,7 @@ class LazyChoiceListTest extends \PHPUnit_Framework_TestCase
} }
/** /**
* @expectedException \Symfony\Component\Form\Exception\FormException * @expectedException \Symfony\Component\Form\Exception\Exception
*/ */
public function testLoadChoiceListShouldReturnChoiceList() public function testLoadChoiceListShouldReturnChoiceList()
{ {

View File

@ -193,7 +193,7 @@ class ObjectChoiceListTest extends \PHPUnit_Framework_TestCase
} }
/** /**
* @expectedException \Symfony\Component\Form\Exception\FormException * @expectedException \Symfony\Component\Form\Exception\Exception
*/ */
public function testInitArrayThrowsExceptionIfToStringNotFound() public function testInitArrayThrowsExceptionIfToStringNotFound()
{ {

View File

@ -89,7 +89,7 @@ class ChoiceTypeTest extends TypeTestCase
} }
/** /**
* expectedException \Symfony\Component\Form\Exception\FormException * expectedException \Symfony\Component\Form\Exception\Exception
*/ */
public function testEitherChoiceListOrChoicesMustBeSet() public function testEitherChoiceListOrChoicesMustBeSet()
{ {

View File

@ -162,7 +162,7 @@ class FormBuilderTest extends \PHPUnit_Framework_TestCase
public function testGetUnknown() public function testGetUnknown()
{ {
$this->setExpectedException('Symfony\Component\Form\Exception\FormException', 'The child with the name "foo" does not exist.'); $this->setExpectedException('Symfony\Component\Form\Exception\Exception', 'The child with the name "foo" does not exist.');
$this->builder->get('foo'); $this->builder->get('foo');
} }

View File

@ -188,7 +188,7 @@ class FormRegistryTest extends \PHPUnit_Framework_TestCase
} }
/** /**
* @expectedException \Symfony\Component\Form\Exception\FormException * @expectedException \Symfony\Component\Form\Exception\Exception
*/ */
public function testGetTypeThrowsExceptionIfParentNotFound() public function testGetTypeThrowsExceptionIfParentNotFound()
{ {
@ -200,7 +200,7 @@ class FormRegistryTest extends \PHPUnit_Framework_TestCase
} }
/** /**
* @expectedException \Symfony\Component\Form\Exception\FormException * @expectedException \Symfony\Component\Form\Exception\Exception
*/ */
public function testGetTypeThrowsExceptionIfTypeNotFound() public function testGetTypeThrowsExceptionIfTypeNotFound()
{ {

View File

@ -741,7 +741,7 @@ class SimpleFormTest extends AbstractFormTest
} }
/** /**
* @expectedException \Symfony\Component\Form\Exception\FormException * @expectedException \Symfony\Component\Form\Exception\Exception
* @expectedExceptionMessage A form with an empty name cannot have a parent form. * @expectedExceptionMessage A form with an empty name cannot have a parent form.
*/ */
public function testFormCannotHaveEmptyNameNotInRootLevel() public function testFormCannotHaveEmptyNameNotInRootLevel()
@ -787,7 +787,7 @@ class SimpleFormTest extends AbstractFormTest
} }
/** /**
* @expectedException \Symfony\Component\Form\Exception\FormException * @expectedException \Symfony\Component\Form\Exception\Exception
*/ */
public function testViewDataMustNotBeObjectIfDataClassIsNull() public function testViewDataMustNotBeObjectIfDataClassIsNull()
{ {
@ -817,7 +817,7 @@ class SimpleFormTest extends AbstractFormTest
} }
/** /**
* @expectedException \Symfony\Component\Form\Exception\FormException * @expectedException \Symfony\Component\Form\Exception\Exception
*/ */
public function testViewDataMustBeObjectIfDataClassIsSet() public function testViewDataMustBeObjectIfDataClassIsSet()
{ {
@ -832,7 +832,7 @@ class SimpleFormTest extends AbstractFormTest
} }
/** /**
* @expectedException \Symfony\Component\Form\Exception\FormException * @expectedException \Symfony\Component\Form\Exception\Exception
*/ */
public function testSetDataCannotInvokeItself() public function testSetDataCannotInvokeItself()
{ {

View File

@ -285,7 +285,7 @@ abstract class PropertyPathCollectionTest extends \PHPUnit_Framework_TestCase
try { try {
$path->setValue($car, $axes); $path->setValue($car, $axes);
$this->fail('An expected exception was not thrown!'); $this->fail('An expected exception was not thrown!');
} catch (\Symfony\Component\Form\Exception\FormException $e) { } catch (\Symfony\Component\Form\Exception\Exception $e) {
$this->assertEquals($message, $e->getMessage()); $this->assertEquals($message, $e->getMessage());
} }
} }