Code Duplication    Length = 27-28 lines in 2 locations

src/collection/CollectionClassResolver.php 1 location

@@ 18-45 (lines=28) @@
15
 *
16
 * @author Vitaly Iegorov <[email protected]>
17
 */
18
class CollectionClassResolver extends AbstractCollectionResolver implements CollectionResolverInterface
19
{
20
    /** Collection class key */
21
    const KEY = 'instance';
22
23
    /**
24
     * {@inheritDoc}
25
     */
26
    public function resolve(array $classDataArray, ClassMetadata $classMetadata)
27
    {
28
        // Iterate collection
29
        // TODO Move this code into abstract class because this code are identical for three classes only with different configurator method name
30
        if (array_key_exists('@attributes', $classDataArray)) {
31
            // Iterate collection attribute configurators
32
            foreach ($this->collectionConfigurators as $key => $collectionConfigurator) {
33
                // If this is supported collection configurator
34
                if (array_key_exists($key, $classDataArray['@attributes'])) {
35
                    /** @var ClassConfiguratorInterface $configurator Create instance */
36
                    $configurator = new $collectionConfigurator($classDataArray['@attributes'][$key]);
37
                    // Fill in class metadata
38
                    $configurator->toClassMetadata($classMetadata);
39
                }
40
            }
41
        }
42
43
        return $classMetadata;
44
    }
45
}
46

src/collection/CollectionParameterResolver.php 1 location

@@ 17-43 (lines=27) @@
14
 * Collection parameter resolver class.
15
 * @author Vitaly Iegorov <[email protected]>
16
 */
17
class CollectionParameterResolver extends AbstractCollectionResolver implements CollectionParameterResolverInterface
18
{
19
    /** Collection parameter key */
20
    const KEY = 'arguments';
21
22
    /**
23
     * {@inheritDoc}
24
     */
25
    public function resolve(array $parameterDataArray, ParameterMetadata $parameterMetadata)
26
    {
27
        // Iterate collection
28
        if (array_key_exists('@attributes', $parameterDataArray)) {
29
            // Iterate collection attribute configurators
30
            foreach ($this->collectionConfigurators as $key => $collectionConfigurator) {
31
                // If this is supported collection configurator
32
                if (array_key_exists($key, $parameterDataArray['@attributes'])) {
33
                    /** @var ParameterConfiguratorInterface $configurator Create instance */
34
                    $configurator = new $collectionConfigurator($parameterDataArray['@attributes'][$key]);
35
                    // Fill in class metadata
36
                    $configurator->toParameterMetadata($parameterMetadata);
37
                }
38
            }
39
        }
40
41
        return $parameterMetadata;
42
    }
43
}
44