|
@@ 82-98 (lines=17) @@
|
| 79 |
|
* @throws \OldTown\PropertySet\Exception\RuntimeException |
| 80 |
|
* @throws \OldTown\Workflow\Exception\ArgumentNotNumericException |
| 81 |
|
*/ |
| 82 |
|
public function getPropertySet($entryId) |
| 83 |
|
{ |
| 84 |
|
if (array_key_exists($entryId, static::$propertySetCache)) { |
| 85 |
|
return static::$propertySetCache[$entryId]; |
| 86 |
|
} |
| 87 |
|
|
| 88 |
|
if (!is_numeric($entryId)) { |
| 89 |
|
$errMsg = sprintf('Аргумент должен быть числом. Актуальное значение %s', $entryId); |
| 90 |
|
throw new ArgumentNotNumericException($errMsg); |
| 91 |
|
} |
| 92 |
|
$entryId = (integer)$entryId; |
| 93 |
|
|
| 94 |
|
$ps = $this->createPropertySet(); |
| 95 |
|
static::$propertySetCache[$entryId] = $ps; |
| 96 |
|
|
| 97 |
|
return static::$propertySetCache[$entryId]; |
| 98 |
|
} |
| 99 |
|
|
| 100 |
|
/** |
| 101 |
|
* Создаем экземпляр PropertySet |
|
@@ 217-231 (lines=15) @@
|
| 214 |
|
* @return SimpleStep[]|SplObjectStorage |
| 215 |
|
* @throws ArgumentNotNumericException |
| 216 |
|
*/ |
| 217 |
|
public function findCurrentSteps($entryId) |
| 218 |
|
{ |
| 219 |
|
if (!is_numeric($entryId)) { |
| 220 |
|
$errMsg = sprintf('Аргумент должен быть числом. Актуальное значение %s', $entryId); |
| 221 |
|
throw new ArgumentNotNumericException($errMsg); |
| 222 |
|
} |
| 223 |
|
$entryId = (integer)$entryId; |
| 224 |
|
|
| 225 |
|
if (!array_key_exists($entryId, static::$currentStepsCache)) { |
| 226 |
|
$currentSteps = new SplObjectStorage(); |
| 227 |
|
static::$currentStepsCache[$entryId] = $currentSteps; |
| 228 |
|
} |
| 229 |
|
|
| 230 |
|
return static::$currentStepsCache[$entryId]; |
| 231 |
|
} |
| 232 |
|
|
| 233 |
|
/** |
| 234 |
|
* Пометить текущий шаг как выполненный |