1616use Doctrine \ORM \Events ;
1717use Sulu \Bundle \RedirectBundle \Entity \RedirectRoute ;
1818use Sulu \Bundle \RedirectBundle \Exception \RedirectRouteNotUniqueException ;
19- use Sulu \Bundle \RedirectBundle \Manager \RedirectRouteManager ;
19+ use Sulu \Bundle \RedirectBundle \Manager \RedirectRouteManagerInterface ;
2020use Sulu \Bundle \RouteBundle \Model \RouteInterface ;
2121use Symfony \Component \DependencyInjection \ContainerAwareInterface ;
2222use Symfony \Component \DependencyInjection \ContainerAwareTrait ;
2323
2424/**
2525 * This gone subscriber listens for removed route entities.
26+ *
27+ * @internal this is a internal listener which should not be used directly
2628 */
2729class GoneEntitySubscriber implements EventSubscriber, ContainerAwareInterface
2830{
2931 use ContainerAwareTrait;
3032
3133 /**
32- * {@inheritdoc}
34+ * @var RedirectRouteManagerInterface
3335 */
36+ private $ redirectRouteManager ;
37+
38+ public function __construct (
39+ RedirectRouteManagerInterface $ redirectRouteManager
40+ ) {
41+ $ this ->redirectRouteManager = $ redirectRouteManager ;
42+ }
43+
3444 public function getSubscribedEvents ()
3545 {
3646 return [
@@ -42,8 +52,7 @@ public function preRemove(LifecycleEventArgs $event): void
4252 {
4353 $ route = $ event ->getObject ();
4454
45- $ routeManager = $ this ->getRedirectRouteManager ();
46- if (!$ route instanceof RouteInterface || null === $ routeManager ) {
55+ if (!$ route instanceof RouteInterface) {
4756 return ;
4857 }
4958
@@ -53,21 +62,9 @@ public function preRemove(LifecycleEventArgs $event): void
5362 $ redirectRoute ->setSource ($ route ->getPath ());
5463
5564 try {
56- $ routeManager ->save ($ redirectRoute );
65+ $ this -> redirectRouteManager ->save ($ redirectRoute );
5766 } catch (RedirectRouteNotUniqueException $ exception ) {
5867 // do nothing when there already exists a redirect route
5968 }
6069 }
61-
62- /**
63- * @return RedirectRouteManager|null
64- */
65- private function getRedirectRouteManager ()
66- {
67- if (null === $ this ->container ) {
68- return null ;
69- }
70-
71- return $ this ->container ->get ('sulu_redirect.redirect_route_manager ' );
72- }
7370}
0 commit comments