Ejemplo n.º 1
0
 function it_creates_manager(EventDispatcher $eventDispatcher, Manager $manager)
 {
     $eventDispatcher->dispatch(CreateManagerEvent::NAME, Argument::type('Netzmacht\\Workflow\\Factory\\Event\\CreateManagerEvent'))->will(function ($arguments) use($manager) {
         /** @var CreateManagerEvent $event */
         $event = $arguments[1];
         $event->setManager($manager->getWrappedObject());
     });
     $this->createManager('provider_name', 'type_name')->shouldReturn($manager);
 }
Ejemplo n.º 2
0
 /**
  * Create workflows for a manager.
  *
  * @param Manager $manager      The workflow manager.
  * @param string  $providerName The provider name.
  * @param string  $workflowType THe workflow type.
  *
  * @return void
  */
 private function createWorkflows(Manager $manager, $providerName, $workflowType)
 {
     if ($workflowType) {
         $collection = WorkflowModel::findByProviderAndType($providerName, $workflowType);
     } else {
         $collection = WorkflowModel::findByProvider($providerName);
     }
     while ($collection && $collection->next()) {
         $workflow = new Workflow($collection->name, $collection->providerName, $collection->label, array_merge($collection->row(), array(Definition::SOURCE => Definition::SOURCE_DATABASE)));
         $event = new CreateWorkflowEvent($workflow);
         $this->getServiceContainer()->getEventDispatcher()->dispatch($event::NAME, $event);
         $manager->addWorkflow($workflow);
     }
 }
Ejemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function createItem(EntityId $entityId, $entity)
 {
     $key = $entityId->__toString();
     if (!isset($this->items[$key])) {
         $this->items[$key] = $this->manager->createItem($entityId, $entity);
     }
     return $this->items[$key];
 }