From a4fc6c674ba0fbab56bf9caaca60d1e5ebe53fbd Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Mon, 7 Nov 2016 11:40:29 +0100 Subject: [PATCH 1/2] Added DefinitionInterface --- src/Symfony/Component/Workflow/Definition.php | 2 +- .../Workflow/DefinitionInterface.php | 28 +++++++++++++++++++ .../Workflow/Dumper/DumperInterface.php | 10 +++---- .../Workflow/Dumper/GraphvizDumper.php | 10 +++---- .../Component/Workflow/StateMachine.php | 2 +- .../DefinitionValidatorInterface.php | 5 ++-- .../SinglePlaceWorkflowValidator.php | 3 +- .../Validator/StateMachineValidator.php | 3 +- .../Workflow/Validator/WorkflowValidator.php | 3 +- src/Symfony/Component/Workflow/Workflow.php | 2 +- 10 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 src/Symfony/Component/Workflow/DefinitionInterface.php diff --git a/src/Symfony/Component/Workflow/Definition.php b/src/Symfony/Component/Workflow/Definition.php index 52e1d1ee4c042..c1bce17373196 100644 --- a/src/Symfony/Component/Workflow/Definition.php +++ b/src/Symfony/Component/Workflow/Definition.php @@ -18,7 +18,7 @@ * @author Fabien Potencier * @author Grégoire Pineau */ -class Definition +class Definition implements DefinitionInterface { private $places = array(); private $transitions = array(); diff --git a/src/Symfony/Component/Workflow/DefinitionInterface.php b/src/Symfony/Component/Workflow/DefinitionInterface.php new file mode 100644 index 0000000000000..437339ced959f --- /dev/null +++ b/src/Symfony/Component/Workflow/DefinitionInterface.php @@ -0,0 +1,28 @@ + + */ +interface DefinitionInterface +{ + /** + * Get the initial place + * + * @return string + */ + public function getInitialPlace(); + + /** + * Get all the places + * + * @return string[] + */ + public function getPlaces(); + + /** + * @return Transition[] + */ + public function getTransitions(); +} \ No newline at end of file diff --git a/src/Symfony/Component/Workflow/Dumper/DumperInterface.php b/src/Symfony/Component/Workflow/Dumper/DumperInterface.php index b0eebd34f1952..fadeeba5ee5fe 100644 --- a/src/Symfony/Component/Workflow/Dumper/DumperInterface.php +++ b/src/Symfony/Component/Workflow/Dumper/DumperInterface.php @@ -11,7 +11,7 @@ namespace Symfony\Component\Workflow\Dumper; -use Symfony\Component\Workflow\Definition; +use Symfony\Component\Workflow\DefinitionInterface; use Symfony\Component\Workflow\Marking; /** @@ -25,11 +25,11 @@ interface DumperInterface /** * Dumps a workflow definition. * - * @param Definition $definition A Definition instance - * @param Marking|null $marking A Marking instance - * @param array $options An array of options + * @param DefinitionInterface $definition A Definition instance + * @param Marking|null $marking A Marking instance + * @param array $options An array of options * * @return string The representation of the workflow */ - public function dump(Definition $definition, Marking $marking = null, array $options = array()); + public function dump(DefinitionInterface $definition, Marking $marking = null, array $options = array()); } diff --git a/src/Symfony/Component/Workflow/Dumper/GraphvizDumper.php b/src/Symfony/Component/Workflow/Dumper/GraphvizDumper.php index 916c4bd460622..8ae079bcb865d 100644 --- a/src/Symfony/Component/Workflow/Dumper/GraphvizDumper.php +++ b/src/Symfony/Component/Workflow/Dumper/GraphvizDumper.php @@ -11,7 +11,7 @@ namespace Symfony\Component\Workflow\Dumper; -use Symfony\Component\Workflow\Definition; +use Symfony\Component\Workflow\DefinitionInterface; use Symfony\Component\Workflow\Marking; /** @@ -43,7 +43,7 @@ class GraphvizDumper implements DumperInterface * * node: The default options for nodes (places + transitions) * * edge: The default options for edges */ - public function dump(Definition $definition, Marking $marking = null, array $options = array()) + public function dump(DefinitionInterface $definition, Marking $marking = null, array $options = array()) { $places = $this->findPlaces($definition, $marking); $transitions = $this->findTransitions($definition); @@ -58,7 +58,7 @@ public function dump(Definition $definition, Marking $marking = null, array $opt .$this->endDot(); } - private function findPlaces(Definition $definition, Marking $marking = null) + private function findPlaces(DefinitionInterface $definition, Marking $marking = null) { $places = array(); @@ -79,7 +79,7 @@ private function findPlaces(Definition $definition, Marking $marking = null) return $places; } - private function findTransitions(Definition $definition) + private function findTransitions(DefinitionInterface $definition) { $transitions = array(); @@ -123,7 +123,7 @@ private function addTransitions(array $transitions) return $code; } - private function findEdges(Definition $definition) + private function findEdges(DefinitionInterface $definition) { $dotEdges = array(); diff --git a/src/Symfony/Component/Workflow/StateMachine.php b/src/Symfony/Component/Workflow/StateMachine.php index 0c4e3edc0a6b5..5fc0be74e164d 100644 --- a/src/Symfony/Component/Workflow/StateMachine.php +++ b/src/Symfony/Component/Workflow/StateMachine.php @@ -11,7 +11,7 @@ */ class StateMachine extends Workflow { - public function __construct(Definition $definition, MarkingStoreInterface $markingStore = null, EventDispatcherInterface $dispatcher = null, $name = 'unnamed') + public function __construct(DefinitionInterface $definition, MarkingStoreInterface $markingStore = null, EventDispatcherInterface $dispatcher = null, $name = 'unnamed') { parent::__construct($definition, $markingStore ?: new ScalarMarkingStore(), $dispatcher, $name); } diff --git a/src/Symfony/Component/Workflow/Validator/DefinitionValidatorInterface.php b/src/Symfony/Component/Workflow/Validator/DefinitionValidatorInterface.php index 09fbc706c74bd..738d94caa47a8 100644 --- a/src/Symfony/Component/Workflow/Validator/DefinitionValidatorInterface.php +++ b/src/Symfony/Component/Workflow/Validator/DefinitionValidatorInterface.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Workflow\Validator; use Symfony\Component\Workflow\Definition; +use Symfony\Component\Workflow\DefinitionInterface; use Symfony\Component\Workflow\Exception\InvalidDefinitionException; /** @@ -20,12 +21,12 @@ interface DefinitionValidatorInterface { /** - * @param Definition $definition + * @param DefinitionInterface $definition * @param string $name * * @return bool * * @throws InvalidDefinitionException on invalid definition */ - public function validate(Definition $definition, $name); + public function validate(DefinitionInterface $definition, $name); } diff --git a/src/Symfony/Component/Workflow/Validator/SinglePlaceWorkflowValidator.php b/src/Symfony/Component/Workflow/Validator/SinglePlaceWorkflowValidator.php index 6b59db507dff9..e48b040178730 100644 --- a/src/Symfony/Component/Workflow/Validator/SinglePlaceWorkflowValidator.php +++ b/src/Symfony/Component/Workflow/Validator/SinglePlaceWorkflowValidator.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Workflow\Validator; use Symfony\Component\Workflow\Definition; +use Symfony\Component\Workflow\DefinitionInterface; use Symfony\Component\Workflow\Exception\InvalidDefinitionException; /** @@ -21,7 +22,7 @@ */ class SinglePlaceWorkflowValidator extends WorkflowValidator { - public function validate(Definition $definition, $name) + public function validate(DefinitionInterface $definition, $name) { foreach ($definition->getTransitions() as $transition) { if (1 < count($transition->getTos())) { diff --git a/src/Symfony/Component/Workflow/Validator/StateMachineValidator.php b/src/Symfony/Component/Workflow/Validator/StateMachineValidator.php index 6f34c1f2f41ab..676d0deab94b6 100644 --- a/src/Symfony/Component/Workflow/Validator/StateMachineValidator.php +++ b/src/Symfony/Component/Workflow/Validator/StateMachineValidator.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Workflow\Validator; use Symfony\Component\Workflow\Definition; +use Symfony\Component\Workflow\DefinitionInterface; use Symfony\Component\Workflow\Exception\InvalidDefinitionException; /** @@ -19,7 +20,7 @@ */ class StateMachineValidator implements DefinitionValidatorInterface { - public function validate(Definition $definition, $name) + public function validate(DefinitionInterface $definition, $name) { $transitionFromNames = array(); foreach ($definition->getTransitions() as $transition) { diff --git a/src/Symfony/Component/Workflow/Validator/WorkflowValidator.php b/src/Symfony/Component/Workflow/Validator/WorkflowValidator.php index 7d4366fdfb9c3..6e2d929baeaa2 100644 --- a/src/Symfony/Component/Workflow/Validator/WorkflowValidator.php +++ b/src/Symfony/Component/Workflow/Validator/WorkflowValidator.php @@ -12,13 +12,14 @@ namespace Symfony\Component\Workflow\Validator; use Symfony\Component\Workflow\Definition; +use Symfony\Component\Workflow\DefinitionInterface; /** * @author Tobias Nyholm */ class WorkflowValidator implements DefinitionValidatorInterface { - public function validate(Definition $definition, $name) + public function validate(DefinitionInterface $definition, $name) { } } diff --git a/src/Symfony/Component/Workflow/Workflow.php b/src/Symfony/Component/Workflow/Workflow.php index 348b3b95a9a98..e8cefd8009304 100644 --- a/src/Symfony/Component/Workflow/Workflow.php +++ b/src/Symfony/Component/Workflow/Workflow.php @@ -30,7 +30,7 @@ class Workflow private $dispatcher; private $name; - public function __construct(Definition $definition, MarkingStoreInterface $markingStore = null, EventDispatcherInterface $dispatcher = null, $name = 'unnamed') + public function __construct(DefinitionInterface $definition, MarkingStoreInterface $markingStore = null, EventDispatcherInterface $dispatcher = null, $name = 'unnamed') { $this->definition = $definition; $this->markingStore = $markingStore ?: new PropertyAccessorMarkingStore(); From 929977e3d22f2b7a5cd22a7ed1682638638efb4b Mon Sep 17 00:00:00 2001 From: Tobias Nyholm Date: Mon, 7 Nov 2016 20:43:24 +0100 Subject: [PATCH 2/2] Code style --- .../Component/Workflow/DefinitionInterface.php | 17 +++++++++++++---- .../Workflow/Dumper/DumperInterface.php | 4 ++-- .../Validator/DefinitionValidatorInterface.php | 2 +- .../Validator/SinglePlaceWorkflowValidator.php | 1 - .../Validator/StateMachineValidator.php | 1 - .../Workflow/Validator/WorkflowValidator.php | 1 - 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/Symfony/Component/Workflow/DefinitionInterface.php b/src/Symfony/Component/Workflow/DefinitionInterface.php index 437339ced959f..118242696b5e5 100644 --- a/src/Symfony/Component/Workflow/DefinitionInterface.php +++ b/src/Symfony/Component/Workflow/DefinitionInterface.php @@ -1,6 +1,15 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Workflow; /** * @author Tobias Nyholm @@ -8,14 +17,14 @@ interface DefinitionInterface { /** - * Get the initial place + * Get the initial place. * * @return string */ public function getInitialPlace(); /** - * Get all the places + * Get all the places. * * @return string[] */ @@ -25,4 +34,4 @@ public function getPlaces(); * @return Transition[] */ public function getTransitions(); -} \ No newline at end of file +} diff --git a/src/Symfony/Component/Workflow/Dumper/DumperInterface.php b/src/Symfony/Component/Workflow/Dumper/DumperInterface.php index fadeeba5ee5fe..1dd9492273ec2 100644 --- a/src/Symfony/Component/Workflow/Dumper/DumperInterface.php +++ b/src/Symfony/Component/Workflow/Dumper/DumperInterface.php @@ -26,8 +26,8 @@ interface DumperInterface * Dumps a workflow definition. * * @param DefinitionInterface $definition A Definition instance - * @param Marking|null $marking A Marking instance - * @param array $options An array of options + * @param Marking|null $marking A Marking instance + * @param array $options An array of options * * @return string The representation of the workflow */ diff --git a/src/Symfony/Component/Workflow/Validator/DefinitionValidatorInterface.php b/src/Symfony/Component/Workflow/Validator/DefinitionValidatorInterface.php index 738d94caa47a8..77a73696bf592 100644 --- a/src/Symfony/Component/Workflow/Validator/DefinitionValidatorInterface.php +++ b/src/Symfony/Component/Workflow/Validator/DefinitionValidatorInterface.php @@ -22,7 +22,7 @@ interface DefinitionValidatorInterface { /** * @param DefinitionInterface $definition - * @param string $name + * @param string $name * * @return bool * diff --git a/src/Symfony/Component/Workflow/Validator/SinglePlaceWorkflowValidator.php b/src/Symfony/Component/Workflow/Validator/SinglePlaceWorkflowValidator.php index e48b040178730..61c4bc7c6b827 100644 --- a/src/Symfony/Component/Workflow/Validator/SinglePlaceWorkflowValidator.php +++ b/src/Symfony/Component/Workflow/Validator/SinglePlaceWorkflowValidator.php @@ -11,7 +11,6 @@ namespace Symfony\Component\Workflow\Validator; -use Symfony\Component\Workflow\Definition; use Symfony\Component\Workflow\DefinitionInterface; use Symfony\Component\Workflow\Exception\InvalidDefinitionException; diff --git a/src/Symfony/Component/Workflow/Validator/StateMachineValidator.php b/src/Symfony/Component/Workflow/Validator/StateMachineValidator.php index 676d0deab94b6..e4f29281dc479 100644 --- a/src/Symfony/Component/Workflow/Validator/StateMachineValidator.php +++ b/src/Symfony/Component/Workflow/Validator/StateMachineValidator.php @@ -11,7 +11,6 @@ namespace Symfony\Component\Workflow\Validator; -use Symfony\Component\Workflow\Definition; use Symfony\Component\Workflow\DefinitionInterface; use Symfony\Component\Workflow\Exception\InvalidDefinitionException; diff --git a/src/Symfony/Component/Workflow/Validator/WorkflowValidator.php b/src/Symfony/Component/Workflow/Validator/WorkflowValidator.php index 6e2d929baeaa2..a4c5e207ad2af 100644 --- a/src/Symfony/Component/Workflow/Validator/WorkflowValidator.php +++ b/src/Symfony/Component/Workflow/Validator/WorkflowValidator.php @@ -11,7 +11,6 @@ namespace Symfony\Component\Workflow\Validator; -use Symfony\Component\Workflow\Definition; use Symfony\Component\Workflow\DefinitionInterface; /**