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.
Passed
Branch dev (d5e133)
by Андрей
20:27 queued 13s
created

DispatcherFactory::createService()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 24
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 24
rs 8.9713
c 1
b 0
f 0
cc 1
eloc 12
nc 1
nop 1
1
<?php
2
/**
3
 * @link https://github.com/old-town/workflow-zf2-dispatch
4
 * @author  Malofeykin Andrey  <[email protected]>
5
 */
6
namespace OldTown\Workflow\ZF2\Dispatch\Dispatcher;
7
8
use OldTown\Workflow\ZF2\Dispatch\Metadata\MetadataReaderManagerInterface;
9
use OldTown\Workflow\ZF2\ServiceEngine\Workflow as WorkflowService;
10
use Zend\ServiceManager\AbstractPluginManager;
11
use Zend\ServiceManager\FactoryInterface;
12
use Zend\ServiceManager\ServiceLocatorInterface;
13
use OldTown\Workflow\ZF2\Dispatch\Options\ModuleOptions;
14
use ReflectionClass;
15
16
17
/**
18
 * Class DispatcherFactory
19
 *
20
 * @package OldTown\Workflow\ZF2\Dispatch\Dispatcher
21
 */
22
class DispatcherFactory implements FactoryInterface
23
{
24
    /**
25
     * @param ServiceLocatorInterface $serviceLocator
26
     *
27
     * @return Dispatcher
28
     *
29
     * @throws \Zend\ServiceManager\Exception\ServiceNotFoundException
30
     * @throws \OldTown\Workflow\ZF2\Dispatch\Listener\Exception\InvalidArgumentException
31
     * @throws \OldTown\Workflow\ZF2\Dispatch\Listener\Exception\MetadataReaderManagerException
32
     */
33
    public function createService(ServiceLocatorInterface $serviceLocator)
34
    {
35
        $workflowService = $serviceLocator->get(WorkflowService::class);
36
37
        $metadataReaderManager = $this->metadataReaderFactory($serviceLocator);
38
39
        /** @var ModuleOptions $moduleOptions */
40
        $moduleOptions = $serviceLocator->get(ModuleOptions::class);
41
42
        $metadataReader = $metadataReaderManager->get($moduleOptions->getMetadataReader());
43
44
        $validatorManager = $serviceLocator->get('ValidatorManager');
45
46
47
        $options = [
48
            'workflowService' => $workflowService,
49
            'metadataReader' => $metadataReader,
50
            'validatorManager' => $validatorManager
51
        ];
52
53
        $service = new Dispatcher($options);
54
55
        return $service;
56
    }
57
58
    /**
59
     * @param ServiceLocatorInterface $serviceLocator
60
     *
61
     * @return MetadataReaderManagerInterface
62
     * @throws \OldTown\Workflow\ZF2\Dispatch\Listener\Exception\MetadataReaderManagerException
63
     *
64
     */
65
    public function metadataReaderFactory(ServiceLocatorInterface $serviceLocator)
66
    {
67
        try {
68
            /** @var ModuleOptions $moduleOptions */
69
            $moduleOptions = $serviceLocator->get(ModuleOptions::class);
70
71
            $managerClassName = $moduleOptions->getMetadataReaderManagerClassName();
72
73
            if (!class_exists($managerClassName)) {
74
                $errMsg = sprintf('Class %s not found. Error create metadata reader manager', $managerClassName);
75
                throw new Exception\MetadataReaderManagerException($errMsg);
76
            }
77
78
            $r = new ReflectionClass($managerClassName);
79
            $manager = $r->newInstance();
80
81
            if (!$manager instanceof MetadataReaderManagerInterface) {
82
                $errMsg = sprintf('Metadata reader manager not implements %s', MetadataReaderManagerInterface::class);
83
                throw new Exception\MetadataReaderManagerException($errMsg);
84
            }
85
86
            if ($manager instanceof AbstractPluginManager) {
87
                $manager->setServiceLocator($serviceLocator);
88
            }
89
        } catch (\Exception $e) {
90
            throw new Exception\MetadataReaderManagerException($e->getMessage(), $e->getCode(), $e);
91
        }
92
93
94
        return $manager;
95
    }
96
}
97