Completed
Pull Request — master (#30)
by Matthew
14:29
created

BaseDoctrineJobManager::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 10
ccs 4
cts 4
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 8
nc 1
nop 5
crap 1
1
<?php
2
3
namespace Dtc\QueueBundle\Doctrine;
4
5
use Doctrine\Common\Persistence\ObjectManager;
6
use Doctrine\Common\Persistence\ObjectRepository;
7
use Dtc\QueueBundle\Manager\ArchivableJobManager;
8
use Dtc\QueueBundle\Manager\JobTimingManager;
9
use Dtc\QueueBundle\Manager\RunManager;
10
11
abstract class BaseDoctrineJobManager extends ArchivableJobManager
12
{
13
    /**
14
     * @var ObjectManager
15
     */
16
    protected $objectManager;
17
18
    /**
19
     * DoctrineJobManager constructor.
20
     *
21
     * @param RunManager       $runManager
22
     * @param JobTimingManager $jobTimingManager
23
     * @param ObjectManager    $objectManager
24
     * @param $jobClass
25
     * @param $jobArchiveClass
26
     */
27 20
    public function __construct(
28
        RunManager $runManager,
29
        JobTimingManager $jobTimingManager,
30
        ObjectManager $objectManager,
31
        $jobClass,
32
        $jobArchiveClass
33
    ) {
34 20
        $this->objectManager = $objectManager;
35 20
        parent::__construct($runManager, $jobTimingManager, $jobClass, $jobArchiveClass);
36 20
    }
37
38
    /**
39
     * @return ObjectManager
40
     */
41 57
    public function getObjectManager()
42
    {
43 57
        return $this->objectManager;
44
    }
45
46
    /**
47
     * @return ObjectRepository
48
     */
49 27
    public function getRepository()
50
    {
51 27
        return $this->getObjectManager()->getRepository($this->getJobClass());
52
    }
53
54 15
    protected function flush()
55
    {
56 15
        $this->getObjectManager()->flush();
57 15
    }
58
59 20
    public function deleteJob(\Dtc\QueueBundle\Model\Job $job)
60
    {
61 20
        $objectManager = $this->getObjectManager();
62 20
        $objectManager->remove($job);
63 20
        $objectManager->flush();
64 20
    }
65
}
66