From 73c6d4415b52eaae417120b2322bbe56fffcbd5e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guillaume=20Perr=C3=A9al?= <guillaume.perreal@irstea.fr>
Date: Fri, 11 Mar 2016 16:45:13 +0100
Subject: [PATCH] =?UTF-8?q?Par=20d=C3=A9faut,=20utilise=20le=20filtre=20de?=
 =?UTF-8?q?=20s=C3=A9lection=20des=20entr=C3=A9es=20pour=20la=20d=C3=A9cor?=
 =?UTF-8?q?ation.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Command/GenerateCommand.php | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/Command/GenerateCommand.php b/Command/GenerateCommand.php
index 70978c8..3a9706a 100644
--- a/Command/GenerateCommand.php
+++ b/Command/GenerateCommand.php
@@ -106,13 +106,15 @@ class GenerateCommand extends ContainerAwareCommand
 
         $config = $graphs[$name];
 
+        list($finder, $filter) = $this->buildFinder($config['sources']);
+
         $graph = new Graph(
             new ClassVisitor(
-                $this->buildDecorator($config['decoration']),
+                $this->buildDecorator($config['decoration'], $filter),
                 $this->buildFilter($config['layout']),
                 $this->buildNamespace($config['layout']['namespaces'])
             ),
-            $this->buildFinder($config['sources'])
+            $finder
         );
 
         $graph->visitAll();
@@ -138,10 +140,10 @@ class GenerateCommand extends ContainerAwareCommand
 
         $filter = $this->buildFilter($config);
         if (!$filter) {
-            return $finder;
+            return [$finder, null];
         }
 
-        return new FilteringFinder($finder, $filter);
+        return [new FilteringFinder($finder, $filter), $filter];
     }
 
     /**
@@ -169,7 +171,7 @@ class GenerateCommand extends ContainerAwareCommand
      * @return DecoratorInterface
      * @throws RuntimeException
      */
-    protected function buildDecorator(array $config)
+    protected function buildDecorator(array $config, ClassFilterInterface $defaultFilter = null)
     {
         if (empty($config['decorators'])) {
             return NullDecorator::instance();
@@ -186,7 +188,7 @@ class GenerateCommand extends ContainerAwareCommand
             $decorator = new CompositeDecorator($decorators);
         }
 
-        $filter = $this->buildFilter($config);
+        $filter = $this->buildFilter($config) ?: $defaultFilter;
         if ($filter) {
             $decorator = new FilteringDecorator($decorator, $filter);
         }
-- 
GitLab