16
16
use Spryker \Zed \Oms \Business \Process \TransitionInterface ;
17
17
use Spryker \Zed \Oms \Business \Reader \ProcessCacheReaderInterface ;
18
18
use Spryker \Zed \Oms \Business \Writer \ProcessCacheWriterInterface ;
19
+ use Spryker \Zed \Oms \OmsConfig ;
19
20
use Symfony \Component \Finder \Finder as SymfonyFinder ;
20
21
21
22
class Builder implements BuilderInterface
@@ -70,6 +71,11 @@ class Builder implements BuilderInterface
70
71
*/
71
72
protected ProcessCacheWriterInterface $ processCacheWriter ;
72
73
74
+ /**
75
+ * @var \Spryker\Zed\Oms\OmsConfig
76
+ */
77
+ protected OmsConfig $ config ;
78
+
73
79
/**
74
80
* @param \Spryker\Zed\Oms\Business\Process\EventInterface $event
75
81
* @param \Spryker\Zed\Oms\Business\Process\StateInterface $state
@@ -78,6 +84,7 @@ class Builder implements BuilderInterface
78
84
* @param array|string $processDefinitionLocation
79
85
* @param \Spryker\Zed\Oms\Business\Reader\ProcessCacheReaderInterface $processCacheReader
80
86
* @param \Spryker\Zed\Oms\Business\Writer\ProcessCacheWriterInterface $processCacheWriter
87
+ * @param \Spryker\Zed\Oms\OmsConfig $config,
81
88
* @param string $subProcessPrefixDelimiter
82
89
*/
83
90
public function __construct (
@@ -88,6 +95,7 @@ public function __construct(
88
95
$ processDefinitionLocation ,
89
96
ProcessCacheReaderInterface $ processCacheReader ,
90
97
ProcessCacheWriterInterface $ processCacheWriter ,
98
+ OmsConfig $ config ,
91
99
$ subProcessPrefixDelimiter = ' - '
92
100
) {
93
101
$ this ->event = $ event ;
@@ -96,6 +104,7 @@ public function __construct(
96
104
$ this ->process = $ process ;
97
105
$ this ->processCacheReader = $ processCacheReader ;
98
106
$ this ->processCacheWriter = $ processCacheWriter ;
107
+ $ this ->config = $ config ;
99
108
$ this ->subProcessPrefixDelimiter = $ subProcessPrefixDelimiter ;
100
109
101
110
$ this ->setProcessDefinitionLocation ($ processDefinitionLocation );
@@ -122,7 +131,9 @@ public function createProcess($processName)
122
131
123
132
static ::$ processBuffer [$ processName ] = $ mainProcess ;
124
133
125
- $ this ->processCacheWriter ->cacheProcess ($ mainProcess , $ processName );
134
+ if ($ this ->config ->getProcessCacheEnabled ()) {
135
+ $ this ->processCacheWriter ->cacheProcess ($ mainProcess , $ processName );
136
+ }
126
137
127
138
return static ::$ processBuffer [$ processName ];
128
139
}
0 commit comments