Skip to content

Commit 7a2e69e

Browse files
committed
Revert "Use the ItemNormalizer in the correct context"
This reverts commit e3d527d.
1 parent b244ef4 commit 7a2e69e

File tree

12 files changed

+34
-47
lines changed

12 files changed

+34
-47
lines changed

src/GraphQl/Serializer/ItemNormalizer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ final class ItemNormalizer extends BaseItemNormalizer
2929
/**
3030
* {@inheritdoc}
3131
*/
32-
public function supportsNormalization($data, $format = null, array $context = [])
32+
public function supportsNormalization($data, $format = null)
3333
{
34-
return self::FORMAT === $format && parent::supportsNormalization($data, $format, $context);
34+
return self::FORMAT === $format && parent::supportsNormalization($data, $format);
3535
}
3636

3737
/**

src/Hal/Serializer/ItemNormalizer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ final class ItemNormalizer extends AbstractItemNormalizer
3838
/**
3939
* {@inheritdoc}
4040
*/
41-
public function supportsNormalization($data, $format = null, array $context = [])
41+
public function supportsNormalization($data, $format = null)
4242
{
43-
return self::FORMAT === $format && parent::supportsNormalization($data, $format, $context);
43+
return self::FORMAT === $format && parent::supportsNormalization($data, $format);
4444
}
4545

4646
/**

src/JsonApi/Serializer/ItemNormalizer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ public function __construct(PropertyNameCollectionFactoryInterface $propertyName
4949
/**
5050
* {@inheritdoc}
5151
*/
52-
public function supportsNormalization($data, $format = null, array $context = [])
52+
public function supportsNormalization($data, $format = null)
5353
{
54-
return self::FORMAT === $format && parent::supportsNormalization($data, $format, $context);
54+
return self::FORMAT === $format && parent::supportsNormalization($data, $format);
5555
}
5656

5757
/**

src/JsonLd/Serializer/ItemNormalizer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ public function __construct(ResourceMetadataFactoryInterface $resourceMetadataFa
5252
/**
5353
* {@inheritdoc}
5454
*/
55-
public function supportsNormalization($data, $format = null, array $context = [])
55+
public function supportsNormalization($data, $format = null)
5656
{
57-
return self::FORMAT === $format && parent::supportsNormalization($data, $format, $context);
57+
return self::FORMAT === $format && parent::supportsNormalization($data, $format);
5858
}
5959

6060
/**

src/Serializer/AbstractItemNormalizer.php

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,12 @@
1515

1616
use ApiPlatform\Core\Api\IriConverterInterface;
1717
use ApiPlatform\Core\Api\ResourceClassResolverInterface;
18-
use ApiPlatform\Core\Bridge\Elasticsearch\Serializer\ItemNormalizer as ElasticsearchItemNormalizer;
18+
use ApiPlatform\Core\Bridge\Elasticsearch\Serializer\ItemNormalizer;
1919
use ApiPlatform\Core\DataProvider\ItemDataProviderInterface;
2020
use ApiPlatform\Core\DataTransformer\DataTransformerInterface;
2121
use ApiPlatform\Core\Exception\InvalidArgumentException;
2222
use ApiPlatform\Core\Exception\InvalidValueException;
2323
use ApiPlatform\Core\Exception\ItemNotFoundException;
24-
use ApiPlatform\Core\GraphQl\Serializer\ItemNormalizer as GraphQlItemNormalizer;
25-
use ApiPlatform\Core\Hal\Serializer\ItemNormalizer as HalItemNormalizer;
26-
use ApiPlatform\Core\JsonApi\Serializer\ItemNormalizer as JsonApiItemNormalizer;
27-
use ApiPlatform\Core\JsonLd\Serializer\ItemNormalizer as JsonLdItemNormalizer;
2824
use ApiPlatform\Core\Metadata\Property\Factory\PropertyMetadataFactoryInterface;
2925
use ApiPlatform\Core\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface;
3026
use ApiPlatform\Core\Metadata\Property\PropertyMetadata;
@@ -40,7 +36,6 @@
4036
use Symfony\Component\Serializer\NameConverter\AdvancedNameConverterInterface;
4137
use Symfony\Component\Serializer\NameConverter\NameConverterInterface;
4238
use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
43-
use Symfony\Component\Serializer\Normalizer\ContextAwareNormalizerInterface;
4439
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
4540
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
4641

@@ -49,11 +44,8 @@
4944
*
5045
* @author Kévin Dunglas <[email protected]>
5146
*/
52-
abstract class AbstractItemNormalizer extends AbstractObjectNormalizer implements ContextAwareNormalizerInterface
47+
abstract class AbstractItemNormalizer extends AbstractObjectNormalizer
5348
{
54-
private const FORMATS = [GraphQlItemNormalizer::FORMAT, HalItemNormalizer::FORMAT, JsonApiItemNormalizer::FORMAT, JsonLdItemNormalizer::FORMAT];
55-
const USE_API_PLATFORM = 'use_api_platform';
56-
5749
use ClassInfoTrait;
5850
use ContextTrait;
5951
use InputOutputMetadataTrait;
@@ -101,12 +93,8 @@ public function __construct(PropertyNameCollectionFactoryInterface $propertyName
10193
/**
10294
* {@inheritdoc}
10395
*/
104-
public function supportsNormalization($data, $format = null, array $context = [])
96+
public function supportsNormalization($data, $format = null)
10597
{
106-
if (!(($context[static::USE_API_PLATFORM] ?? false) || \in_array($format, self::FORMATS, true))) {
107-
return false;
108-
}
109-
11098
if (!\is_object($data) || $data instanceof \Traversable) {
11199
return false;
112100
}
@@ -123,7 +111,7 @@ public function supportsNormalization($data, $format = null, array $context = []
123111
*/
124112
public function hasCacheableSupportsMethod(): bool
125113
{
126-
return false;
114+
return true;
127115
}
128116

129117
/**
@@ -156,7 +144,7 @@ public function normalize($object, $format = null, array $context = [])
156144
*/
157145
public function supportsDenormalization($data, $type, $format = null)
158146
{
159-
if (ElasticsearchItemNormalizer::FORMAT === $format) {
147+
if (ItemNormalizer::FORMAT === $format) {
160148
return false;
161149
}
162150

src/Serializer/SerializerContextBuilder.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public function createFromRequest(Request $request, bool $normalization, array $
5757
}
5858

5959
$context = $resourceMetadata->getTypedOperationAttribute($operationType, $attributes[$operationKey], $key, [], true);
60-
$context[AbstractItemNormalizer::USE_API_PLATFORM] = true;
6160
$context['operation_type'] = $operationType;
6261
$context[$operationKey] = $attributes[$operationKey];
6362

tests/Hal/Serializer/ItemNormalizerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public function testSupportsNormalization()
100100
$this->assertTrue($normalizer->supportsNormalization($dummy, 'jsonhal'));
101101
$this->assertFalse($normalizer->supportsNormalization($dummy, 'xml'));
102102
$this->assertFalse($normalizer->supportsNormalization($std, 'jsonhal'));
103-
$this->assertFalse($normalizer->hasCacheableSupportsMethod());
103+
$this->assertTrue($normalizer->hasCacheableSupportsMethod());
104104
}
105105

106106
public function testNormalize()

tests/Hydra/Serializer/ItemNormalizerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public function testDontSupportDenormalization()
5252
$normalizer = new ItemNormalizer($resourceMetadataFactoryProphecy->reveal(), $propertyNameCollectionFactoryProphecy->reveal(), $propertyMetadataFactoryProphecy->reveal(), $iriConverterProphecy->reveal(), $resourceClassResolverProphecy->reveal(), $contextBuilderProphecy->reveal());
5353

5454
$this->assertFalse($normalizer->supportsDenormalization('foo', ItemNormalizer::FORMAT));
55-
$this->assertFalse($normalizer->hasCacheableSupportsMethod());
55+
$this->assertTrue($normalizer->hasCacheableSupportsMethod());
5656
}
5757

5858
/**
@@ -87,7 +87,7 @@ public function testSupportNormalization()
8787
$this->assertTrue($normalizer->supportsNormalization($dummy, 'jsonld'));
8888
$this->assertFalse($normalizer->supportsNormalization($dummy, 'xml'));
8989
$this->assertFalse($normalizer->supportsNormalization($std, 'jsonld'));
90-
$this->assertFalse($normalizer->hasCacheableSupportsMethod());
90+
$this->assertTrue($normalizer->hasCacheableSupportsMethod());
9191
}
9292

9393
public function testNormalize()

tests/JsonApi/Serializer/ItemNormalizerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public function testSupportDenormalization()
6565

6666
$this->assertTrue($normalizer->supportsDenormalization(null, Dummy::class, ItemNormalizer::FORMAT));
6767
$this->assertFalse($normalizer->supportsDenormalization(null, \stdClass::class, ItemNormalizer::FORMAT));
68-
$this->assertFalse($normalizer->hasCacheableSupportsMethod());
68+
$this->assertTrue($normalizer->hasCacheableSupportsMethod());
6969
}
7070

7171
/**

tests/Serializer/AbstractItemNormalizerTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,11 @@ public function testLegacySupportNormalizationAndSupportDenormalization()
7676
$propertyAccessorProphecy->reveal(),
7777
]);
7878

79-
$this->assertTrue($normalizer->supportsNormalization($dummy, null, [AbstractItemNormalizer::USE_API_PLATFORM => true]));
80-
$this->assertFalse($normalizer->supportsNormalization($std, null, [AbstractItemNormalizer::USE_API_PLATFORM => true]));
79+
$this->assertTrue($normalizer->supportsNormalization($dummy));
80+
$this->assertFalse($normalizer->supportsNormalization($std));
8181
$this->assertTrue($normalizer->supportsDenormalization($dummy, Dummy::class));
8282
$this->assertFalse($normalizer->supportsDenormalization($std, \stdClass::class));
83-
$this->assertFalse($normalizer->hasCacheableSupportsMethod());
83+
$this->assertTrue($normalizer->hasCacheableSupportsMethod());
8484
}
8585

8686
public function testSupportNormalizationAndSupportDenormalization()
@@ -111,11 +111,11 @@ public function testSupportNormalizationAndSupportDenormalization()
111111
true,
112112
]);
113113

114-
$this->assertTrue($normalizer->supportsNormalization($dummy, null, [AbstractItemNormalizer::USE_API_PLATFORM => true]));
115-
$this->assertTrue($normalizer->supportsNormalization($std, null, [AbstractItemNormalizer::USE_API_PLATFORM => true]));
114+
$this->assertTrue($normalizer->supportsNormalization($dummy));
115+
$this->assertTrue($normalizer->supportsNormalization($std));
116116
$this->assertTrue($normalizer->supportsDenormalization($dummy, Dummy::class));
117117
$this->assertTrue($normalizer->supportsDenormalization($std, \stdClass::class));
118-
$this->assertFalse($normalizer->hasCacheableSupportsMethod());
118+
$this->assertTrue($normalizer->hasCacheableSupportsMethod());
119119
}
120120

121121
public function testNormalize()

0 commit comments

Comments
 (0)