Skip to content

Commit a7de572

Browse files
authored
Use constructor injection in commands (#183)
* Use constructor injection * cs * Fixed tests * Fixed tests
1 parent 13c6ec6 commit a7de572

22 files changed

+20
-29
lines changed

Command/GeocodeCommand.php

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
namespace Bazinga\GeocoderBundle\Command;
1414

15+
use Geocoder\ProviderAggregator;
1516
use Geocoder\Query\GeocodeQuery;
1617
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
1718
use Symfony\Component\Console\Input\InputArgument;
@@ -26,6 +27,21 @@ class GeocodeCommand extends ContainerAwareCommand
2627
{
2728
protected static $defaultName = 'geocoder:geocode';
2829

30+
/**
31+
* @var ProviderAggregator
32+
*/
33+
private $geocoder;
34+
35+
/**
36+
* @param ProviderAggregator $geocoder
37+
*/
38+
public function __construct(ProviderAggregator $geocoder)
39+
{
40+
$this->geocoder = $geocoder;
41+
42+
parent::__construct();
43+
}
44+
2945
/**
3046
* {@inheritdoc}
3147
*/
@@ -52,14 +68,11 @@ protected function configure()
5268
*/
5369
protected function execute(InputInterface $input, OutputInterface $output)
5470
{
55-
/** @var $geocoder \Geocoder\ProviderAggregator */
56-
$geocoder = $this->getContainer()->get('Geocoder\ProviderAggregator');
57-
5871
if ($input->getOption('provider')) {
59-
$geocoder->using($input->getOption('provider'));
72+
$this->geocoder->using($input->getOption('provider'));
6073
}
6174

62-
$results = $geocoder->geocodeQuery(GeocodeQuery::create($input->getArgument('address')));
75+
$results = $this->geocoder->geocodeQuery(GeocodeQuery::create($input->getArgument('address')));
6376
$data = $results->first()->toArray();
6477

6578
$max = 0;

ProviderFactory/ArcGISOnlineFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\ArcGISOnline\ArcGISOnline;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/BingMapsFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\BingMaps\BingMaps;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/FreeGeoIpFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\FreeGeoIp\FreeGeoIp;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/GeoIP2Factory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
use Geocoder\Provider\GeoIP2\GeoIP2Adapter;
1717
use Geocoder\Provider\Provider;
1818
use GeoIp2\Database\Reader;
19-
use GeoIp2\ProviderInterface;
2019
use GeoIp2\WebService\Client;
2120
use Symfony\Component\OptionsResolver\OptionsResolver;
2221

ProviderFactory/GeoIPsFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\GeoIPs\GeoIPs;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/GeoPluginFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\GeoPlugin\GeoPlugin;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/GeonamesFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\Geonames\Geonames;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/GoogleMapsFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\GoogleMaps\GoogleMaps;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/HostIpFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\HostIp\HostIp;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/IpInfoDbFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\IpInfoDb\IpInfoDb;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/IpInfoFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\IpInfo\IpInfo;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/MapQuestFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\MapQuest\MapQuest;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/MapzenFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\Mapzen\Mapzen;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/MaxMindFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\MaxMind\MaxMind;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/NominatimFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\Nominatim\Nominatim;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/OpenCageFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\OpenCage\OpenCage;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/PickPointFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\PickPoint\PickPoint;
1616
use Geocoder\Provider\Provider;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/TomTomFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\Provider;
1616
use Geocoder\Provider\TomTom\TomTom;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

ProviderFactory/YandexFactory.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
use Geocoder\Provider\Provider;
1616
use Geocoder\Provider\Yandex\Yandex;
17-
use Http\Client\HttpClient;
1817
use Http\Discovery\HttpClientDiscovery;
1918
use Symfony\Component\OptionsResolver\OptionsResolver;
2019

Resources/config/services.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ services:
1616
arguments: ['127.0.0.1', ~]
1717

1818
Bazinga\GeocoderBundle\Command\GeocodeCommand:
19+
arguments: ['@Geocoder\ProviderAggregator']
1920
tags: [{ name: 'console.command' }]
2021

2122
# Keep these aliases for BC purpose

Tests/Command/GeocodeCommandTest.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,6 @@ public function testExecute()
5252
->will($this->returnValue(new AddressCollection([$address])));
5353

5454
$container = $this->getMockBuilder('Symfony\\Component\\DependencyInjection\\Container')->getMock();
55-
$container->expects($this->once())
56-
->method('get')
57-
->with(ProviderAggregator::class)
58-
->will($this->returnValue($geocoder));
5955

6056
$kernel = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\Kernel')
6157
->disableOriginalConstructor()
@@ -70,7 +66,7 @@ public function testExecute()
7066
->will($this->returnValue([]));
7167

7268
$app = new Application($kernel);
73-
$app->add(new GeocodeCommand());
69+
$app->add(new GeocodeCommand($geocoder));
7470

7571
$command = $app->find('geocoder:geocode');
7672

0 commit comments

Comments
 (0)