Completed
Push — master ( 3a08fe...aee93b )
by Tim
18:05 queued 16:13
created

getStoreWebsiteRepository()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 0
cts 4
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
3
/**
4
 * TechDivision\Import\Services\ImportProcessor
5
 *
6
 * NOTICE OF LICENSE
7
 *
8
 * This source file is subject to the Open Software License (OSL 3.0)
9
 * that is available through the world-wide-web at this URL:
10
 * http://opensource.org/licenses/osl-3.0.php
11
 *
12
 * PHP version 5
13
 *
14
 * @author    Tim Wagner <[email protected]>
15
 * @copyright 2016 TechDivision GmbH <[email protected]>
16
 * @license   http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
 * @link      https://github.com/techdivision/import
18
 * @link      http://www.techdivision.com
19
 */
20
21
namespace TechDivision\Import\Services;
22
23
use TechDivision\Import\Repositories\StoreWebsiteRepositoryInterface;
24
use TechDivision\Import\Repositories\CoreConfigDataRepositoryInterface;
25
26
/**
27
 * Processor implementation to load Magento configuration data.
28
 *
29
 * @author    Tim Wagner <[email protected]>
30
 * @copyright 2016 TechDivision GmbH <[email protected]>
31
 * @license   http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
32
 * @link      https://github.com/techdivision/import
33
 * @link      http://www.techdivision.com
34
 */
35
class ConfigurationProcessor implements ConfigurationProcessorInterface
36
{
37
38
    /**
39
     * The repository to access store websites.
40
     *
41
     * @var \TechDivision\Import\Repositories\StoreWebsiteRepositoryInterface
42
     */
43
    protected $storeWebsiteRepository;
44
45
    /**
46
     * The core config data loader instance.
47
     *
48
     * @var \TechDivision\Import\Loaders\LoaderInterface
49
     */
50
    protected $coreConfigDataLoader;
51
52
    /**
53
     * Initialize the processor with the necessary assembler and repository instances.
54
     *
55
     * @param \TechDivision\Import\Repositories\StoreWebsiteRepositoryInterface   $storeWebsiteRepository   The repository to access store websites
56
     * @param \TechDivision\Import\Repositories\CoreConfigDataRepositoryInterface $coreConfigDataRepository The repository to access the configuration
57
     */
58
    public function __construct(
59
        StoreWebsiteRepositoryInterface $storeWebsiteRepository,
60
        CoreConfigDataRepositoryInterface $coreConfigDataRepository
61
    ) {
62
        $this->setStoreWebsiteRepository($storeWebsiteRepository);
63
        $this->setCoreConfigDataRepository($coreConfigDataRepository);
64
    }
65
66
    /**
67
     * Set's the repository to access store websites.
68
     *
69
     * @param \TechDivision\Import\Repositories\StoreWebsiteRepositoryInterface $storeWebsiteRepository The repository the access store websites
70
     *
71
     * @return void
72
     */
73
    public function setStoreWebsiteRepository(StoreWebsiteRepositoryInterface $storeWebsiteRepository)
74
    {
75
        $this->storeWebsiteRepository = $storeWebsiteRepository;
76
    }
77
78
    /**
79
     * Return's the repository to access store websites.
80
     *
81
     * @return \TechDivision\Import\Repositories\StoreWebsiteRepositoryInterface The repository instance
82
     */
83
    public function getStoreWebsiteRepository()
84
    {
85
        return $this->storeWebsiteRepository;
86
    }
87
88
    /**
89
     * Set's the repository to access the Magento 2 configuration.
90
     *
91
     * @param \TechDivision\Import\Repositories\CoreConfigDataRepositoryInterface $coreConfigDataRepository The repository to access the Magento 2 configuration
92
     *
93
     * @return void
94
     */
95
    public function setCoreConfigDataRepository(CoreConfigDataRepositoryInterface $coreConfigDataRepository)
96
    {
97
        $this->coreConfigDataRepository = $coreConfigDataRepository;
0 ignored issues
show
Bug introduced by
The property coreConfigDataRepository does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
98
    }
99
100
    /**
101
     * Return's the repository to access the Magento 2 configuration.
102
     *
103
     * @return \TechDivision\Import\Repositories\CoreConfigDataRepositoryInterface The repository instance
104
     */
105
    public function getCoreConfigDataRepository()
106
    {
107
        return $this->coreConfigDataRepository;
108
    }
109
110
    /**
111
     * Return's an array with the available store websites.
112
     *
113
     * @return array The array with the available store websites
114
     */
115
    public function getStoreWebsites()
116
    {
117
        return $this->getStoreWebsiteRepository()->findAll();
118
    }
119
120
    /**
121
     * Return's an array with the Magento 2 configuration.
122
     *
123
     * @return array The Magento 2 configuration
124
     */
125
    public function getCoreConfigData()
126
    {
127
        return $this->getCoreConfigDataRepository()->findAll();
128
    }
129
}
130