From d099ffa40f3a8ebb327c854ba871c981ff181246 Mon Sep 17 00:00:00 2001 From: Jordan Stout Date: Thu, 14 Feb 2013 12:20:13 -0800 Subject: [PATCH] use serializer naming strategy for parameter names --- Parser/JmsMetadataParser.php | 16 +++++++++++++--- Resources/config/services.jms.xml | 1 + 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Parser/JmsMetadataParser.php b/Parser/JmsMetadataParser.php index 3b154a5..b79aea9 100644 --- a/Parser/JmsMetadataParser.php +++ b/Parser/JmsMetadataParser.php @@ -15,6 +15,7 @@ use Metadata\MetadataFactoryInterface; use Nelmio\ApiDocBundle\Util\DocCommentExtractor; use JMS\Serializer\Metadata\PropertyMetadata; use JMS\Serializer\Metadata\VirtualPropertyMetadata; +use JMS\Serializer\Naming\PropertyNamingStrategyInterface; /** * Uses the JMS metadata factory to extract input/output model information @@ -27,6 +28,11 @@ class JmsMetadataParser implements ParserInterface */ private $factory; + /** + * @var PropertyNamingStrategyInterface + */ + private $namingStrategy; + /** * @var \Nelmio\ApiDocBundle\Util\DocCommentExtractor */ @@ -35,9 +41,13 @@ class JmsMetadataParser implements ParserInterface /** * Constructor, requires JMS Metadata factory */ - public function __construct(MetadataFactoryInterface $factory, DocCommentExtractor $commentExtractor) - { + public function __construct( + MetadataFactoryInterface $factory, + PropertyNamingStrategyInterface $namingStrategy, + DocCommentExtractor $commentExtractor + ) { $this->factory = $factory; + $this->namingStrategy = $namingStrategy; $this->commentExtractor = $commentExtractor; } @@ -85,7 +95,7 @@ class JmsMetadataParser implements ParserInterface // iterate over property metadata foreach ($meta->propertyMetadata as $item) { if (!is_null($item->type)) { - $name = isset($item->serializedName) ? $item->serializedName : $item->name; + $name = $this->namingStrategy->translateName($item); $dataType = $this->processDataType($item); diff --git a/Resources/config/services.jms.xml b/Resources/config/services.jms.xml index 36eefc5..b174795 100644 --- a/Resources/config/services.jms.xml +++ b/Resources/config/services.jms.xml @@ -10,6 +10,7 @@