Code Duplication    Length = 61-62 lines in 3 locations

Normalizer/Attribute/PimCatalogBooleanNormalizer.php 1 location

@@ 13-73 (lines=61) @@
10
 *
11
 * @package Actualys\Bundle\DrupalCommerceConnectorBundle\Normalizer
12
 */
13
class PimCatalogBooleanNormalizer implements NormalizerInterface
14
{
15
16
    /**
17
     * @param  object                                                $attribute
18
     * @param  null                                                  $format
19
     * @param  array                                                 $context
20
     * @return array|\Symfony\Component\Serializer\Normalizer\scalar
21
     */
22
    public function normalize($attribute, $format = null, array $context = [])
23
    {
24
        /**@var Attribute $attribute * */
25
        $normalizedAttribute = [
26
          'code'       => null,
27
          'type'       => null,
28
          'required'   => null,
29
          'labels'     => null,
30
          'parameters' => null,
31
        ];
32
33
        $availableLocales          = [];
34
        $attributeAvailableLocales = $attribute->getAvailableLocales();
35
        if (!is_null($attributeAvailableLocales)) {
36
            foreach ($attribute->getAvailableLocales() as $availableLocale) {
37
                $availableLocales [] = $availableLocale;
38
            }
39
        }
40
41
        $normalizedAttribute['required']   = $attribute->isRequired();
42
        $normalizedAttribute['type']       = $attribute->getAttributeType();
43
        $normalizedAttribute['code']       = $attribute->getCode();
44
        $normalizedAttribute['parameters'] = [
45
          'scope'             => $attribute->isScopable(),
46
          'localizable'       => $attribute->isLocalizable(),
47
          'available_locales' => $availableLocales,
48
          'default_value'     => null,
49
        ];
50
51
        if ($attribute->isLocalizable()) {
52
            foreach ($attribute->getTranslations() as $trans) {
53
                $normalizedAttribute['labels'][$trans->getLocale(
54
                )] = $trans->getLabel();
55
            }
56
        } else {
57
            $normalizedAttribute['labels'][LANGUAGE_NONE] = $attribute->getLabel(
58
            );
59
        }
60
61
        return $normalizedAttribute;
62
    }
63
64
    /**
65
     * @param  mixed $data
66
     * @param  null  $format
67
     * @return bool
68
     */
69
    public function supportsNormalization($data, $format = null)
70
    {
71
        return $data instanceof Attribute;
72
    }
73
}
74

Normalizer/Attribute/PimCatalogPriceCollectionNormalizer.php 1 location

@@ 13-73 (lines=61) @@
10
 *
11
 * @package Actualys\Bundle\DrupalCommerceConnectorBundle\Normalizer
12
 */
13
class PimCatalogPriceCollectionNormalizer implements NormalizerInterface
14
{
15
    /**
16
     * @param  object                                                $attribute
17
     * @param  null                                                  $format
18
     * @param  array                                                 $context
19
     * @return array|\Symfony\Component\Serializer\Normalizer\scalar
20
     */
21
    public function normalize($attribute, $format = null, array $context = [])
22
    {
23
        /**@var Attribute $attribute * */
24
        $normalizedAttribute       = [
25
          'code'       => null,
26
          'type'       => null,
27
          'required'   => null,
28
          'labels'     => null,
29
          'parameters' => null,
30
        ];
31
        $availableLocales          = [];
32
        $attributeAvailableLocales = $attribute->getAvailableLocales();
33
        if (!is_null($attributeAvailableLocales)) {
34
            foreach ($attribute->getAvailableLocales() as $availableLocale) {
35
                $availableLocales [] = $availableLocale;
36
            }
37
        }
38
39
        $normalizedAttribute['required']   = $attribute->isRequired();
40
        $normalizedAttribute['type']       = $attribute->getAttributeType();
41
        $normalizedAttribute['code']       = $attribute->getCode();
42
        $normalizedAttribute['parameters'] = [
43
          'scope'             => $attribute->isScopable(),
44
          'localizable'       => $attribute->isLocalizable(),
45
          'available_locales' => $availableLocales,
46
        ];
47
48
        if ($attribute->isLocalizable()) {
49
            foreach ($attribute->getTranslations() as $trans) {
50
                $normalizedAttribute['labels'][$trans->getLocale(
51
                )] = $trans->getLabel();
52
            }
53
        } else {
54
            $normalizedAttribute['labels'][LANGUAGE_NONE] = $attribute->getLabel(
55
            );
56
        }
57
58
        return $normalizedAttribute;
59
    }
60
61
    /**
62
     * Checks whether the given class is supported for normalization by this normalizer
63
     *
64
     * @param mixed  $data   Data to normalize.
65
     * @param string $format The format being (de-)serialized from or into.
66
     *
67
     * @return boolean
68
     */
69
    public function supportsNormalization($data, $format = null)
70
    {
71
        return $data instanceof Attribute;
72
    }
73
}
74

Normalizer/Attribute/PimCatalogSimpleSelectNormalizer.php 1 location

@@ 13-74 (lines=62) @@
10
 *
11
 * @package Actualys\Bundle\DrupalCommerceConnectorBundle\Normalizer
12
 */
13
class PimCatalogSimpleSelectNormalizer implements NormalizerInterface
14
{
15
    /**
16
     * @param  object                                                $attribute
17
     * @param  null                                                  $format
18
     * @param  array                                                 $context
19
     * @return array|\Symfony\Component\Serializer\Normalizer\scalar
20
     */
21
    public function normalize($attribute, $format = null, array $context = [])
22
    {
23
        /**@var Attribute $attribute * */
24
        $normalizedAttribute       = [
25
          'code'       => null,
26
          'type'       => null,
27
          'required'   => null,
28
          'labels'     => null,
29
          'parameters' => null,
30
        ];
31
        $availableLocales          = [];
32
        $attributeAvailableLocales = $attribute->getAvailableLocales();
33
        if (!is_null($attributeAvailableLocales)) {
34
            foreach ($attribute->getAvailableLocales() as $availableLocale) {
35
                $availableLocales [] = $availableLocale;
36
            }
37
        }
38
39
        $normalizedAttribute['required']   = $attribute->isRequired();
40
        $normalizedAttribute['type']       = $attribute->getAttributeType();
41
        $normalizedAttribute['code']       = $attribute->getCode();
42
        $normalizedAttribute['parameters'] = [
43
          'scope'                => $attribute->isScopable(),
44
          'localizable'          => $attribute->isLocalizable(),
45
          'available_locales'    => $availableLocales,
46
          'minimum_input_length' => $attribute->getMinimumInputLength(),
47
        ];
48
49
        if ($attribute->isLocalizable()) {
50
            foreach ($attribute->getTranslations() as $trans) {
51
                $normalizedAttribute['labels'][$trans->getLocale(
52
                )] = $trans->getLabel();
53
            }
54
        } else {
55
            $normalizedAttribute['labels'][LANGUAGE_NONE] = $attribute->getLabel(
56
            );
57
        }
58
59
        return $normalizedAttribute;
60
    }
61
62
    /**
63
     * Checks whether the given class is supported for normalization by this normalizer
64
     *
65
     * @param mixed  $data   Data to normalize.
66
     * @param string $format The format being (de-)serialized from or into.
67
     *
68
     * @return boolean
69
     */
70
    public function supportsNormalization($data, $format = null)
71
    {
72
        return $data instanceof Attribute;
73
    }
74
}
75