Skip to content

Commit 0687d1f

Browse files
authored
Public services (#52)
* make broadway.event_store public * make broadway.uuid.generator public * make serializer aliases public * make command handling aliases public * make broadway.saga.state.repository public * make broadway.read_model.repository_factory public
1 parent 80e1203 commit 0687d1f

11 files changed

Lines changed: 47 additions & 18 deletions

src/DependencyInjection/BroadwayExtension.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
use Symfony\Component\Config\FileLocator;
1515
use Symfony\Component\Config\Loader\LoaderInterface;
16+
use Symfony\Component\DependencyInjection\Alias;
1617
use Symfony\Component\DependencyInjection\ContainerBuilder;
1718
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
1819
use Symfony\Component\HttpKernel\DependencyInjection\ConfigurableExtension;
@@ -55,17 +56,17 @@ private function loadCommandBus(array $config, ContainerBuilder $container, Load
5556
if ($config['dispatch_events']) {
5657
$container->setAlias(
5758
'broadway.command_handling.command_bus',
58-
'broadway.command_handling.event_dispatching_command_bus'
59+
new Alias('broadway.command_handling.event_dispatching_command_bus', true)
5960
);
6061

6162
if ($logger = $config['logger']) {
6263
$loader->load('auditing.xml');
63-
$container->setAlias('broadway.auditing.logger', $logger);
64+
$container->setAlias('broadway.auditing.logger', new Alias($logger, true));
6465
}
6566
} else {
6667
$container->setAlias(
6768
'broadway.command_handling.command_bus',
68-
'broadway.command_handling.simple_command_bus'
69+
new Alias('broadway.command_handling.simple_command_bus', true)
6970
);
7071
}
7172
}

src/DependencyInjection/RegisterEventStoreCompilerPass.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Broadway\Bundle\BroadwayBundle\DependencyInjection;
1313

1414
use Broadway\EventStore\EventStore;
15+
use Symfony\Component\DependencyInjection\Alias;
1516
use Symfony\Component\DependencyInjection\ContainerBuilder;
1617

1718
class RegisterEventStoreCompilerPass extends CompilerPass
@@ -29,6 +30,6 @@ public function process(ContainerBuilder $container)
2930

3031
$this->assertDefinitionImplementsInterface($container, $serviceId, EventStore::class);
3132

32-
$container->setAlias('broadway.event_store', $serviceId);
33+
$container->setAlias('broadway.event_store', new Alias($serviceId, true));
3334
}
3435
}

src/DependencyInjection/RegisterReadModelRepositoryFactoryCompilerPass.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Broadway\Bundle\BroadwayBundle\DependencyInjection;
1313

1414
use Broadway\ReadModel\RepositoryFactory;
15+
use Symfony\Component\DependencyInjection\Alias;
1516
use Symfony\Component\DependencyInjection\ContainerBuilder;
1617

1718
class RegisterReadModelRepositoryFactoryCompilerPass extends CompilerPass
@@ -20,7 +21,10 @@ public function process(ContainerBuilder $container)
2021
{
2122
$serviceParameter = 'broadway.read_model_repository_factory.service_id';
2223
if (! $container->hasParameter($serviceParameter)) {
23-
$container->setAlias('broadway.read_model.repository_factory', 'broadway.read_model.in_memory.repository_factory');
24+
$container->setAlias(
25+
'broadway.read_model.repository_factory',
26+
new Alias('broadway.read_model.in_memory.repository_factory', true)
27+
);
2428

2529
return;
2630
}
@@ -29,6 +33,6 @@ public function process(ContainerBuilder $container)
2933

3034
$this->assertDefinitionImplementsInterface($container, $serviceId, RepositoryFactory::class);
3135

32-
$container->setAlias('broadway.read_model.repository_factory', $serviceId);
36+
$container->setAlias('broadway.read_model.repository_factory', new Alias($serviceId, true));
3337
}
3438
}

src/DependencyInjection/RegisterSagaStateRepositoryCompilerPass.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Broadway\Bundle\BroadwayBundle\DependencyInjection;
1313

1414
use Broadway\Saga\State\RepositoryInterface;
15+
use Symfony\Component\DependencyInjection\Alias;
1516
use Symfony\Component\DependencyInjection\ContainerBuilder;
1617

1718
class RegisterSagaStateRepositoryCompilerPass extends CompilerPass
@@ -26,7 +27,7 @@ public function process(ContainerBuilder $container)
2627
if (! $container->hasParameter($serviceParameter)) {
2728
$container->setAlias(
2829
'broadway.saga.state.repository',
29-
'broadway.saga.state.in_memory_repository'
30+
new Alias('broadway.saga.state.in_memory_repository', true)
3031
);
3132

3233
return;
@@ -38,7 +39,7 @@ public function process(ContainerBuilder $container)
3839

3940
$container->setAlias(
4041
'broadway.saga.state.repository',
41-
$serviceId
42+
new Alias($serviceId, true)
4243
);
4344
}
4445
}

src/DependencyInjection/RegisterSerializersCompilerPass.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Broadway\Bundle\BroadwayBundle\DependencyInjection;
1313

14+
use Symfony\Component\DependencyInjection\Alias;
1415
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
1516
use Symfony\Component\DependencyInjection\ContainerBuilder;
1617

@@ -35,7 +36,10 @@ public function process(ContainerBuilder $container)
3536

3637
$container->setAlias(
3738
sprintf('broadway.serializer.%s', $serializer),
38-
$container->getParameter(sprintf('broadway.serializer.%s.service_id', $serializer))
39+
new Alias(
40+
$container->getParameter(sprintf('broadway.serializer.%s.service_id', $serializer)),
41+
true
42+
)
3943
);
4044
}
4145
}

src/Resources/config/services.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
66

77
<services>
8-
<service id="broadway.command_handling.simple_command_bus" class="Broadway\CommandHandling\SimpleCommandBus"/>
8+
<service id="broadway.command_handling.simple_command_bus" class="Broadway\CommandHandling\SimpleCommandBus" />
99

10-
<service id="broadway.command_handling.event_dispatching_command_bus" class="Broadway\CommandHandling\EventDispatchingCommandBus" public="false">
10+
<service id="broadway.command_handling.event_dispatching_command_bus" class="Broadway\CommandHandling\EventDispatchingCommandBus">
1111
<argument type="service" id="broadway.command_handling.simple_command_bus" />
1212
<argument type="service" id="broadway.event_dispatcher" />
1313
</service>
@@ -16,7 +16,7 @@
1616

1717
<service id="broadway.uuid.converter" class="Broadway\UuidGenerator\Converter\BinaryUuidConverter" />
1818

19-
<service id="broadway.uuid.generator" class="Broadway\UuidGenerator\Rfc4122\Version4Generator" />
19+
<service id="broadway.uuid.generator" class="Broadway\UuidGenerator\Rfc4122\Version4Generator" public="true" />
2020

2121
<service id="broadway.metadata_enriching_event_stream_decorator" class="Broadway\EventSourcing\MetadataEnrichment\MetadataEnrichingEventStreamDecorator" />
2222

test/DependencyInjection/CompilerPass/RegisterEventStoreCompilerPassTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public function it_sets_the_event_store_alias_to_in_memory_by_default()
3939
/**
4040
* @test
4141
*/
42-
public function it_sets_the_event_store_alias()
42+
public function it_sets_the_public_event_store_alias()
4343
{
4444
$this->container->setParameter('broadway.event_store.service_id', 'my_event_store');
4545

@@ -48,6 +48,7 @@ public function it_sets_the_event_store_alias()
4848
$this->compile();
4949

5050
$this->assertContainerBuilderHasAlias('broadway.event_store', 'my_event_store');
51+
$this->assertTrue($this->container->getAlias('broadway.event_store')->isPublic());
5152
}
5253

5354
/**

test/DependencyInjection/CompilerPass/RegisterReadModelRepositoryFactoryCompilerPassTest.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
namespace Broadway\Bundle\BroadwayBundle\DependencyInjection;
1313

14-
use Broadway\EventStore\EventStore;
1514
use Broadway\ReadModel\RepositoryFactory;
1615
use Matthias\SymfonyDependencyInjectionTest\PhpUnit\AbstractCompilerPassTestCase;
1716
use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -38,6 +37,8 @@ public function it_sets_the_read_model_repository_factory_alias_to_in_memory_by_
3837
'broadway.read_model.repository_factory',
3938
'broadway.read_model.in_memory.repository_factory'
4039
);
40+
41+
$this->assertTrue($this->container->getAlias('broadway.read_model.repository_factory')->isPublic());
4142
}
4243

4344
/**
@@ -58,6 +59,8 @@ public function it_sets_the_read_model_repository_factory_alias()
5859
'broadway.read_model.repository_factory',
5960
'my_read_model_repository_factory'
6061
);
62+
63+
$this->assertTrue($this->container->getAlias('broadway.read_model.repository_factory')->isPublic());
6164
}
6265

6366
/**

test/DependencyInjection/CompilerPass/RegisterSagaStateRepositoryCompilerPassTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public function it_sets_the_saga_state_repository_alias_to_in_memory_by_default(
3939
'broadway.saga.state.repository',
4040
'broadway.saga.state.in_memory_repository'
4141
);
42+
43+
$this->assertTrue($this->container->getAlias('broadway.saga.state.repository')->isPublic());
4244
}
4345

4446
/**
@@ -59,6 +61,8 @@ public function it_sets_the_saga_state_repository_alias()
5961
'broadway.saga.state.repository',
6062
'my_saga_state_repository'
6163
);
64+
65+
$this->assertTrue($this->container->getAlias('broadway.saga.state.repository')->isPublic());
6266
}
6367

6468
/**

test/DependencyInjection/CompilerPass/RegisterSerializersCompilerPassTest.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ protected function registerCompilerPass(ContainerBuilder $container)
2929
/**
3030
* @test
3131
*/
32-
public function it_sets_the_serializer_aliases()
32+
public function it_sets_the_public_serializer_aliases()
3333
{
3434
$this->setDefinition('my_serializer', new Definition());
3535

@@ -42,6 +42,10 @@ public function it_sets_the_serializer_aliases()
4242
$this->assertContainerBuilderHasAlias('broadway.serializer.payload', 'my_serializer');
4343
$this->assertContainerBuilderHasAlias('broadway.serializer.readmodel', 'my_serializer');
4444
$this->assertContainerBuilderHasAlias('broadway.serializer.metadata', 'my_serializer');
45+
46+
$this->assertTrue($this->container->getAlias('broadway.serializer.payload')->isPublic());
47+
$this->assertTrue($this->container->getAlias('broadway.serializer.readmodel')->isPublic());
48+
$this->assertTrue($this->container->getAlias('broadway.serializer.metadata')->isPublic());
4549
}
4650

4751
/**

0 commit comments

Comments
 (0)