diff --git a/DependencyInjection/Builder/GraphDefinitionBuilder.php b/DependencyInjection/Builder/GraphDefinitionBuilder.php index 1be9d730bac9c51fa5b9a1a59e672467df0e626f..654e01f786a5ffc28aed97c9a559f96ec79c11a0 100644 --- a/DependencyInjection/Builder/GraphDefinitionBuilder.php +++ b/DependencyInjection/Builder/GraphDefinitionBuilder.php @@ -90,7 +90,7 @@ class GraphDefinitionBuilder protected function doBuild() { list($source, $sourceFilter) = $this->buildSources(); - + $layoutFilter = $this->filterBuilder->build($this->config['layout']) ?: $sourceFilter; $decorator = $this->buildFilteredDecorator(); $namespace = $this->buildNamespace(); @@ -199,7 +199,7 @@ class GraphDefinitionBuilder protected function buildNamespace() { $type = $this->config['layout']['namespaces']; - + if ($type === "entities") { return $this->setDefinitionDecorator( "namespace.$type", @@ -208,7 +208,10 @@ class GraphDefinitionBuilder ); } - return new Reference("irstea.plant_uml.namespaces.$type"); + return $this->setDefinitionDecorator( + "namespace.$type", + "irstea.plant_uml.namespaces.$type.template", + ); } /** diff --git a/Resources/config/services.yml b/Resources/config/services.yml index 4459e3623eb59004f438f4a49cc005be35e0b192..fe95ed4f806ea5d8625c9285aeb7518f6f64d0fa 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -54,15 +54,21 @@ services: abstract: true public: false - irstea.plant_uml.namespaces.php: + irstea.plant_uml.namespaces.php.template: class: Irstea\PlantUmlBundle\Model\Namespace_\Php\RootNamespace + abstract: true + public: false - irstea.plant_uml.namespaces.flat: + irstea.plant_uml.namespaces.flat.template: class: Irstea\PlantUmlBundle\Model\Namespace_\FlatNamespace + abstract: true + public: false - irstea.plant_uml.namespaces.bundles: + irstea.plant_uml.namespaces.bundles.template: class: Irstea\PlantUmlBundle\Model\Namespace_\BundleNamespace arguments: ["%kernel.bundles%"] + abstract: true + public: false irstea.plant_uml.namespaces.entities.template: class: Irstea\PlantUmlBundle\Doctrine\DoctrineNamespace