55use Micro \Component \DependencyInjection \Autowire \AutowireHelperFactory ;
66use Micro \Component \DependencyInjection \Autowire \AutowireHelperFactoryInterface ;
77use Micro \Component \DependencyInjection \Container ;
8- use Micro \Framework \Kernel \Plugin \AbstractPlugin ;
8+ use Micro \Framework \Kernel \Plugin \ConfigurableInterface ;
9+ use Micro \Framework \Kernel \Plugin \DependencyProviderInterface ;
10+ use Micro \Framework \Kernel \Plugin \PluginConfigurationTrait ;
911use Micro \Library \DTO \SerializerFacadeInterface ;
1012use Micro \Plugin \Locator \Facade \LocatorFacadeInterface ;
13+ use Micro \Plugin \Temporal \Activity \Factory \ActivityStubFactory ;
14+ use Micro \Plugin \Temporal \Activity \Factory \ActivityStubFactoryInterface ;
1115use Micro \Plugin \Temporal \Configuration \TemporalPluginConfigurationInterface ;
1216use Micro \Plugin \Temporal \Facade \TemporalFacade ;
1317use Micro \Plugin \Temporal \Facade \TemporalFacadeInterface ;
1923use Micro \Plugin \Temporal \Worker \Factory \WorkerFactoryInterface ;
2024use Micro \Plugin \Temporal \Workflow \Client \Factory \ClientFactory ;
2125use Micro \Plugin \Temporal \Workflow \Client \Factory \ClientFactoryInterface ;
22- use Micro \Plugin \Temporal \Workflow \Client \Repository \ClientRepository ;
2326use Micro \Plugin \Temporal \Workflow \Client \Repository \ClientRepositoryFactory ;
2427use Micro \Plugin \Temporal \Workflow \Client \Repository \ClientRepositoryFactoryInterface ;
28+ use Micro \Plugin \Temporal \Workflow \Client \Repository \ClientRepositoryInterface ;
2529use Micro \Plugin \Temporal \Workflow \DataConverter \DataConverterFactory ;
2630use Micro \Plugin \Temporal \Workflow \DataConverter \DataConverterFactoryInterface ;
2731
2832/**
2933 * @method TemporalPluginConfigurationInterface configuration()
3034 */
31- class TemporalPlugin extends AbstractPlugin
35+ class TemporalPlugin implements DependencyProviderInterface, ConfigurableInterface
3236{
37+ use PluginConfigurationTrait;
38+
3339 /**
3440 * @var SerializerFacadeInterface|null
3541 */
@@ -69,7 +75,8 @@ protected function createFacade(): TemporalFacadeInterface
6975 {
7076 return new TemporalFacade (
7177 clientRepository: $ this ->createWorkflowClientRepository (),
72- workerFactory: $ this ->createWorkerFactory ()
78+ workerFactory: $ this ->createWorkerFactory (),
79+ activityStubFactory: $ this ->createActivityStubFactory ()
7380 );
7481 }
7582
@@ -101,9 +108,9 @@ protected function createWorkflowClientRepositoryFactory(): ClientRepositoryFact
101108 }
102109
103110 /**
104- * @return ClientRepository
111+ * @return ClientRepositoryInterface
105112 */
106- protected function createWorkflowClientRepository (): ClientRepository
113+ protected function createWorkflowClientRepository (): ClientRepositoryInterface
107114 {
108115 return $ this ->createWorkflowClientRepositoryFactory ()->create ();
109116 }
@@ -116,6 +123,17 @@ protected function createWorkerExpanderFactory(): WorkerExpanderFactoryInterface
116123 );
117124 }
118125
126+ /**
127+ * @return ActivityStubFactoryInterface
128+ */
129+ protected function createActivityStubFactory (): ActivityStubFactoryInterface
130+ {
131+ return new ActivityStubFactory ();
132+ }
133+
134+ /**
135+ * @return WorkerFactoryInterface
136+ */
119137 protected function createWorkerFactory (): WorkerFactoryInterface
120138 {
121139 return new WorkerFactory (
0 commit comments