Code Duplication    Length = 63-63 lines in 2 locations

CacheClearer/RedisConnectorCacheClearer.php 1 location

@@ 33-95 (lines=63) @@
30
use Psr\Log\LoggerInterface;
31
use Symfony\Component\HttpKernel\CacheClearer\CacheClearerInterface;
32
33
class RedisConnectorCacheClearer implements CacheClearerInterface, LoggerAwareInterface
34
{
35
    /**
36
     * @var RedisCommandBusConnector
37
     */
38
    private $connector;
39
40
    /**
41
     * @var LoggerInterface
42
     */
43
    private $logger;
44
45
    /**
46
     * @param RedisCommandBusConnector $connector
47
     */
48
    function __construct(RedisCommandBusConnector $connector)
49
    {
50
        $this->connector = $connector;
51
        $this->logger = new NullLogger();
52
    }
53
54
    /**
55
     * Mandatory clearer.
56
     *
57
     * @return bool
58
     */
59
    public function isOptional()
60
    {
61
        return false;
62
    }
63
64
    /**
65
     * {@inheritdoc}
66
     */
67
    public function clear($cacheDir)
68
    {
69
        try {
70
            $this->connector->clearSubscriptions();
71
            $this->logger->info('Cleared cache for connector on node {node}',
72
                [
73
                    'node' => $this->connector->getNodeName(),
74
                ]
75
            );
76
        } catch (\Exception $e) {
77
            $this->logger->error('Failed to clear cache for connector on node {node}: {error}',
78
                [
79
                    'node' => $this->connector->getNodeName(),
80
                    'error' => $e->getMessage()
81
                ]
82
            );
83
        }
84
    }
85
86
    /**
87
     * {@inheritdoc}
88
     */
89
    public function setLogger(LoggerInterface $logger)
90
    {
91
        $this->logger = $logger;
92
    }
93
94
95
}

CacheWarmer/RedisConnectorCacheWarmer.php 1 location

@@ 33-95 (lines=63) @@
30
use Governor\Framework\Common\Logging\NullLogger;
31
use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface;
32
33
class RedisConnectorCacheWarmer implements CacheWarmerInterface, LoggerAwareInterface
34
{
35
    /**
36
     * @var RedisCommandBusConnector
37
     */
38
    private $connector;
39
40
    /**
41
     * @var LoggerInterface
42
     */
43
    private $logger;
44
45
    /**
46
     * @param RedisCommandBusConnector $connector
47
     */
48
    function __construct(RedisCommandBusConnector $connector)
49
    {
50
        $this->connector = $connector;
51
        $this->logger = new NullLogger();
52
    }
53
54
    /**
55
     * Mandatory warmer.
56
     *
57
     * @return bool
58
     */
59
    public function isOptional()
60
    {
61
        return false;
62
    }
63
64
    /**
65
     * {@inheritdoc}
66
     */
67
    public function warmUp($cacheDir)
68
    {
69
        try {
70
            $this->connector->saveSubscriptions();
71
            $this->logger->info('Warmed cache for connector on node {node}',
72
                [
73
                    'node' => $this->connector->getNodeName(),
74
                ]
75
            );
76
        } catch (\Exception $e) {
77
            $this->logger->error('Failed to warm cache for connector on node {node}: {error}',
78
                [
79
                    'node' => $this->connector->getNodeName(),
80
                    'error' => $e->getMessage()
81
                ]
82
            );
83
        }
84
    }
85
86
    /**
87
     * {@inheritdoc}
88
     */
89
    public function setLogger(LoggerInterface $logger)
90
    {
91
        $this->logger = $logger;
92
    }
93
94
95
}