1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\TestModule1\Service\V1;
use Magento\TestModuleMSC\Model\Data\CustomAttributeDataObjectFactory;
use Magento\TestModule1\Service\V1\Entity\Item;
use Magento\TestModule1\Service\V1\Entity\ItemFactory;
class AllSoapAndRest implements \Magento\TestModule1\Service\V1\AllSoapAndRestInterface
{
/**
* @var ItemFactory
*/
protected $itemFactory;
/**
* @var CustomAttributeDataObjectFactory
*/
protected $customAttributeDataObjectFactory;
/**
* @param ItemFactory $itemFactory
* @param CustomAttributeDataObjectFactory $customAttributeNestedDataObjectFactory
*/
public function __construct(
ItemFactory $itemFactory,
CustomAttributeDataObjectFactory $customAttributeNestedDataObjectFactory
) {
$this->itemFactory = $itemFactory;
$this->customAttributeDataObjectFactory = $customAttributeNestedDataObjectFactory;
}
/**
* {@inheritdoc}
*/
public function item($itemId)
{
return $this->itemFactory->create()->setItemId($itemId)->setName('testProduct1');
}
/**
* {@inheritdoc}
*/
public function items()
{
$result1 = $this->itemFactory->create()->setItemId(1)->setName('testProduct1');
$result2 = $this->itemFactory->create()->setItemId(2)->setName('testProduct2');
return [$result1, $result2];
}
/**
* {@inheritdoc}
*/
public function create($name)
{
return $this->itemFactory->create()->setItemId(rand())->setName($name);
}
/**
* {@inheritdoc}
*/
public function update(Item $entityItem)
{
return $this->itemFactory->create()->setItemId($entityItem->getItemId())
->setName('Updated' . $entityItem->getName());
}
public function testOptionalParam($name = null)
{
if ($name === null) {
return $this->itemFactory->create()->setItemId(3)->setName('No Name');
} else {
return $this->itemFactory->create()->setItemId(3)->setName($name);
}
}
/**
* {@inheritdoc}
*/
public function itemAnyType(Item $item)
{
return $item;
}
/**
* {@inheritdoc}
*/
public function getPreconfiguredItem()
{
$customAttributeDataObject = $this->customAttributeDataObjectFactory->create()
->setName('nameValue')
->setCustomAttribute('custom_attribute_int', 1);
$item = $this->itemFactory->create()
->setItemId(1)
->setName('testProductAnyType')
->setCustomAttribute('custom_attribute_data_object', $customAttributeDataObject)
->setCustomAttribute('custom_attribute_string', 'someStringValue');
return $item;
}
}