configuration = $configuration; } public function build(int $config_id, $entity): Registry { $configuration = $this->configuration->load($config_id); $transitions = $configuration['transitions']; $definitionBuilder = new DefinitionBuilder(); $definition = $definitionBuilder ->addPlaces($configuration['places']) ; foreach ($transitions as $key => $transition) { $definition->addTransition(new Transition($key, $transition['from'], $transition['to'])); } $endBuild = $definition->build(); $marking = new MethodMarkingStore(true, $configuration['marking_store']['arguments'][0]); $workflow = new Workflow($endBuild, $marking, null, $configuration['name']); $registry = new Registry(); $registry->addWorkflow($workflow, new InstanceOfSupportStrategy($entity)); return $registry; } public function display($module): array { return $this->configuration->display($module); } }