GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — dev ( 70d7cd...5f33a9 )
by Андрей
03:36
created

DoctrineWorkflowStoryService::setSerializerName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
/**
3
 * @link    https://github.com/old-town/workflow-zf2-toolkit
4
 * @author  Malofeykin Andrey  <[email protected]>
5
 */
6
namespace OldTown\Workflow\ZF2\Toolkit\DoctrineWorkflowStory;
7
8
use Zend\Serializer\AdapterPluginManager as SerializerManager;
9
use OldTown\Workflow\ZF2\Service\Annotation as WFS;
10
use Zend\Serializer\Adapter\AdapterInterface as Serializer;
11
use OldTown\Workflow\ZF2\Toolkit\Entity\DoctrineWorkflowStory\ExtEntry;
12
use OldTown\Workflow\ZF2\Toolkit\Entity\DoctrineWorkflowStory\ObjectInfo;
13
14
/**
15
 * Class DoctrineWorkflowStoryService
16
 *
17
 * @package OldTown\Workflow\ZF2\Toolkit\DoctrineWorkflowStory
18
 */
19
class DoctrineWorkflowStoryService
20
{
21
    /**
22
     * Псевдоним для объектов по умолчанию
23
     *
24
     * @var string
25
     */
26
    const DEFAULT_OBJECT = 'defaultObject';
27
28
    /**
29
     * Менеджер для получения адапторов отвечающих за сериализацию данных
30
     *
31
     * @var SerializerManager
32
     */
33
    protected $serializerManager;
34
35
    /**
36
     * Сериалайзер по умолчанию
37
     *
38
     * @var string
39
     */
40
    protected $serializerName = 'json';
41
42
    /**
43
     * DoctrineWorkflowStoryService constructor.
44
     *
45
     * @param array $options
46
     */
47
    public function __construct(array $options = [])
48
    {
49
        $initOptions = [
50
            array_key_exists('serializerManager', $options) ? $options['serializerManager'] : null
51
        ];
52
        call_user_func_array([$this, 'init'], $initOptions);
53
    }
54
55
    /**
56
     * @param SerializerManager $serializerManager
57
     */
58
    protected function init(SerializerManager $serializerManager)
59
    {
60
        $this->setSerializerManager($serializerManager);
61
    }
62
63
    /**
64
     * @WFS\ArgumentsMap(argumentsMap={
65
     *      @WFS\Map(fromArgName="entryParam", to="entry"),
66
     *      @WFS\Map(fromArgName="objectParam", to="object"),
67
     *      @WFS\Map(fromArgName="objectAliasParam", to="objectAlias"),
68
     *      @WFS\Map(fromArgName="storeParam", to="store")
69
     *})
70
     *
71
     *
72
     * @param ExtEntry               $entry
73
     * @param mixed                  $object
74
     * @param string                 $objectAlias
75
     * @param DoctrineWorkflowStory $store
76
     *
77
     * @throws Exception\InvalidWorkflowStoreException
78
     * @throws \OldTown\Workflow\Spi\Doctrine\Exception\DoctrineRuntimeException
79
     * @throws Exception\RuntimeException
80
     * @throws \Zend\ServiceManager\Exception\ServiceNotFoundException
81
     * @throws \Zend\ServiceManager\Exception\ServiceNotCreatedException
82
     * @throws \Zend\ServiceManager\Exception\RuntimeException
83
     * @throws \Zend\Serializer\Exception\ExceptionInterface
84
     */
85
    public function bindObjectToWorkflowEntry(ExtEntry $entry, $object, $objectAlias = self::DEFAULT_OBJECT, DoctrineWorkflowStory $store)
86
    {
87
        $em = $store->getEntityManager();
88
89
        $objectClass = get_class($object);
90
        $metadata = $em->getClassMetadata($objectClass);
91
92
        $serializerName = $this->getSerializerName();
93
        /** @var Serializer $serializer */
94
        $serializer = $this->getSerializerManager()->get($serializerName);
95
96
        $id = $metadata->getIdentifierValues($object);
97
        $serializedId = $serializer->serialize($id);
98
99
        $objectInfo = new ObjectInfo();
100
        $objectInfo->setClassName($objectClass);
101
        $objectInfo->setObjectId($serializedId);
102
        $objectInfo->setAlias($objectAlias);
103
        $objectInfo->addEntry($entry);
104
105
106
        $entry->addObjectInfo($objectInfo);
107
108
        $em->persist($objectInfo);
109
        $em->flush();
110
    }
111
112
    /**
113
     * @return SerializerManager
114
     */
115
    public function getSerializerManager()
116
    {
117
        return $this->serializerManager;
118
    }
119
120
    /**
121
     * @param SerializerManager $serializerManager
122
     *
123
     * @return $this
124
     */
125
    public function setSerializerManager(SerializerManager $serializerManager)
126
    {
127
        $this->serializerManager = $serializerManager;
128
129
        return $this;
130
    }
131
132
    /**
133
     * @return string
134
     */
135
    public function getSerializerName()
136
    {
137
        return $this->serializerName;
138
    }
139
140
    /**
141
     * @param string $serializerName
142
     *
143
     * @return $this
144
     */
145
    public function setSerializerName($serializerName)
146
    {
147
        $this->serializerName = $serializerName;
148
149
        return $this;
150
    }
151
}
152