[SecurityBundle] adds unit tests suite for SecurityDataCollector class.
minor #13049 [2.3] [SecurityBundle] adds unit tests suite for SecurityDataCollector class. (hhamon)

This PR was merged into the 2.3 branch.

Discussion
----------

[2.3] [SecurityBundle] adds unit tests suite for SecurityDataCollector class.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Commits
-------

85f72f4 [SecurityBundle] adds unit tests suite for SecurityDataCollector class.
[Console] remove « use » statement for PHP built-in exception classes.
minor #13058 [2.3] [Console] remove « use » statement for PHP built-in exception classes. (hhamon)

This PR was merged into the 2.3 branch.

Discussion
----------

[2.3] [Console] remove « use » statement for PHP built-in exception classes.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Commits
-------

cdc5c5b [Console] remove « use » statement for PHP built-in exception classes.
[FrameworkBundle] Fixed Translation loader and update translation command.
[Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class.
[Security] Fixed tests
bug #13053 [FrameworkBundle] Fixed Translation loader and update translation command. (saro0h)

This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Fixed Translation loader and update translation command.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

This patch verifies that the directory to load translations exists in ``FrameworkBundle/Translation/TranslationLoader.php`` and stop the command if there are no translation found.

**Before, when loading messages** :
![capture d ecran 2014-12-20 a 14 55 52](https://cloud.githubusercontent.com/assets/667519/5515053/09f4655c-8859-11e4-8231-fc6587ace5eb.png)

**After, when loading messages** :
![capture d ecran 2014-12-20 a 15 01 36](https://cloud.githubusercontent.com/assets/667519/5515056/216a9fbc-8859-11e4-87a2-9e452df708a5.png)

---------------------------

**Before, when writing messages** :
![capture d ecran 2014-12-20 a 14 57 50](https://cloud.githubusercontent.com/assets/667519/5515058/508c3184-8859-11e4-9456-f8e47190d3cd.png)

**After, when writing messages** :
![capture d ecran 2014-12-20 a 15 03 47](https://cloud.githubusercontent.com/assets/667519/5515062/711f61d2-8859-11e4-8d15-d27700ac0a0f.png)

---------------------------

**Before when loading message and there was no messages found**:
![capture d ecran 2014-12-20 a 15 05 36](https://cloud.githubusercontent.com/assets/667519/5515065/afe422a4-8859-11e4-9d2d-8f8399555462.png)

**After when loading message and there was no messages found**:
![capture d ecran 2014-12-20 a 15 06 48](https://cloud.githubusercontent.com/assets/667519/5515070/da0247dc-8859-11e4-8cd7-127435441ffd.png)

Commits
-------

2ca438d [FrameworkBundle] Fixed Translation loader and update translation command.
minor #13061 [Security] Fixed tests (saro0h)

This PR was merged into the 2.5 branch.

Discussion
----------

[Security] Fixed tests

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Fixes the tests failing (https://travis-ci.org/symfony/symfony/jobs/44732074#L896)

This class have been removed in 2.3 (https://github.com/symfony/symfony/pull/13033) but is actually used since 2.4 (when the split of the Security component has been made).

Commits
-------

5aa3ef4 [Security] Fixed tests
minor #13059 [Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class. (hhamon)

This PR was merged into the 2.5 branch.

Discussion
----------

[Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Commits
-------

e22c887 [Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class.
[2.3] CS Fixes
minor #13054 [2.3] CS Fixes (GrahamCampbell)

This PR was squashed before being merged into the 2.3 branch (closes #13054).

Discussion
----------

[2.3] CS Fixes

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

##### This pull request provides some cs fixes.

Commits
-------

b521c20 [2.3] CS Fixes
Merge branch '2.5' into 2.6

* 2.5:
  [Security] Fixed tests
  [Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class.
Merge branch '2.6' into 2.7

* 2.6:
  [Security] Fixed tests
  [Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class.
[Serializer] Serialization groups support
feature #12092 [Serializer] Serialization groups support (dunglas)

This PR was submitted for the master branch but it was merged into the 2.7 branch instead (closes #12092).

Discussion
----------

[Serializer] Serialization groups support

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Doc PR        | symfony/symfony-docs#4675

This PR is a first attempt adding serialization groups to the `Serializer` component. Btw, it also add supports of ignored attributes for denormalization (only normalization is currently supported).

Groups support is totally optional and is not enabled by default (in that case, the `Serializer` will have the current behavior). No BC spotted for now.

To use it:
```php
use Symfony\Component\Serializer\Annotation\Groups;

use Symfony\Component\Serializer\Serializer;
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader;
use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;

class MyObj
{
    /**
     * @Groups({"group1", "group2"})
     */
    public $foo;
    /**
     * @Groups({"group3"})
     */
    public $bar;
}

$obj = new MyObj();
$obj->foo = 'foo';
$obj->bar = 'bar';

$classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()));
$normalizer = new PropertyNormalizer($classMetadataFactory);

$serializer = new Serializer([$normalizer]);
$data = $serializer->normalize($obj, null, ['groups' => ['group1']]);
// $data = ['foo' => 'foo'];

$obj2 = $serializer->denormalize(['foo' => 'foo', 'bar' => 'bar'], 'MyObj', null, ['groups' => ['group1', 'group3']);
// $obj2 = MyObj(foo: 'foo', bar: 'bar')
```

Some work still need to be done:
- [x] Add XML mapping
- [x] Add YAML mapping
- [x] Refactor tests

The `ClassMetadata` code is largely inspired from the code of the `Validator` component. Duplicated code in `PropertyNormalizer` and `GetSetMethodNormalizer` has been moved in a new `AbstractNormalizer` class.

This PR also make the interface of `PropertyNormalizer` fluent (like the current behavior of `GetSetMethodNormalizer`.

Commits
-------

57a191b [Serializer] Serialization groups support
[2.3] CS And DocBlock Fixes
minor #13066 [2.3] CS And DocBlock Fixes (GrahamCampbell)

This PR was squashed before being merged into the 2.3 branch (closes #13066).

Discussion
----------

[2.3] CS And DocBlock Fixes

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

##### This pull request provides some cs and docblock fixes.

@fabpot The second commit of the two applies the docblock fixes you wanted, using https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/887. I made 3 or 4 minor manual changes because people had put bulleted lists in the "short description" which is not allowed, so we were ending up with colons followed by full stops. I've moved those lists to be part of a "long description".

// cc @keradus

Commits
-------

83c15db [2.3] CS And DocBlock Fixes
Merge branch '2.3' into 2.5

* 2.3:
  [FrameworkBundle] Fixed Translation loader and update translation command.
  [Console] remove « use » statement for PHP built-in exception classes.
  [SecurityBundle] adds unit tests suite for SecurityDataCollector class.

Conflicts:
	src/Symfony/Component/Console/Helper/TableHelper.php
Merge branch '2.3' into 2.5

* 2.3:
  [2.3] CS And DocBlock Fixes
  [2.3] CS Fixes

Conflicts:
	src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php
	src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/EventListener/TestSessionListener.php
	src/Symfony/Component/Config/Definition/ReferenceDumper.php
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/Form/Extension/Csrf/EventListener/CsrfValidationListener.php
	src/Symfony/Component/Form/FormError.php
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpFoundation/Response.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/Process/ProcessUtils.php
	src/Symfony/Component/PropertyAccess/PropertyAccessor.php
	src/Symfony/Component/PropertyAccess/PropertyAccessorInterface.php
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
	src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php
	src/Symfony/Component/Validator/Constraints/GroupSequence.php
	src/Symfony/Component/Validator/Mapping/ClassMetadata.php
	src/Symfony/Component/Validator/Mapping/ClassMetadataFactory.php
	src/Symfony/Component/Validator/Mapping/MemberMetadata.php
	src/Symfony/Component/Validator/Tests/Fixtures/StubGlobalExecutionContext.php