コード例 #1
0
ファイル: bootstrap.php プロジェクト: Axxon/udb3-silex
$app['organizer_iri_generator'] = $app->share(function ($app) {
    return new CallableIriGenerator(function ($cdbid) use($app) {
        return $app['config']['url'] . '/organizer/' . $cdbid;
    });
});
$app['organizer_jsonld_projector'] = $app->share(function ($app) {
    return new \CultuurNet\UDB3\Organizer\OrganizerLDProjector($app['organizer_jsonld_repository'], $app['organizer_iri_generator'], $app['event_bus']);
});
$app['organizer_jsonld_repository'] = $app->share(function ($app) {
    return new \CultuurNet\UDB3\Doctrine\Event\ReadModel\CacheDocumentRepository($app['organizer_jsonld_cache']);
});
$app['organizer_jsonld_cache'] = $app->share(function ($app) {
    return $app['cache']('organizer_jsonld');
});
$app['eventstore_payload_serializer'] = $app->share(function () {
    return \CultuurNet\UDB3\BackwardsCompatiblePayloadSerializerFactory::createSerializer();
});
$app['organizer_store'] = $app->share(function ($app) {
    return new \Broadway\EventStore\DBALEventStore($app['dbal_connection'], $app['eventstore_payload_serializer'], new \Broadway\Serializer\SimpleInterfaceSerializer(), 'organizers');
});
$app['udb2_organizer_importer'] = $app->share(function (Application $app) {
    $importer = new \CultuurNet\UDB3\UDB2\Organizer\OrganizerCdbXmlImporter($app['udb2_actor_cdbxml_provider'], $app['real_organizer_repository']);
    $logger = new \Monolog\Logger('udb2-organizer-importer');
    $logger->pushHandler($app['udb2_log_handler']);
    $importer->setLogger($logger);
    return $importer;
});
$app['real_organizer_repository'] = $app->share(function (Application $app) {
    $repository = new \CultuurNet\UDB3\Organizer\OrganizerRepository($app['organizer_store'], $app['event_bus'], array($app['event_stream_metadata_enricher']));
    return $repository;
});
コード例 #2
0
ファイル: bootstrap.php プロジェクト: cultuurnet/udb3-silex
    return new \CultuurNet\UDB3\Organizer\DefaultOrganizerEditingService($app['event_command_bus'], $app['uuid_generator'], $app['organizer_repository'], $app['labels.constraint_aware_service']);
});
$app['organizer_jsonld_projector'] = $app->share(function ($app) {
    return new \CultuurNet\UDB3\Organizer\OrganizerLDProjector($app['organizer_jsonld_repository'], $app['organizer_iri_generator'], $app['event_bus'], $app[LabelServiceProvider::JSON_READ_REPOSITORY]);
});
$app['real_organizer_jsonld_repository'] = $app->share(function ($app) {
    return new \CultuurNet\UDB3\Doctrine\Event\ReadModel\CacheDocumentRepository($app['organizer_jsonld_cache']);
});
$app['organizer_jsonld_repository'] = $app->share(function ($app) {
    return new \CultuurNet\UDB3\ReadModel\BroadcastingDocumentRepositoryDecorator($app['real_organizer_jsonld_repository'], $app['event_bus'], new \CultuurNet\UDB3\Organizer\ReadModel\JSONLD\EventFactory());
});
$app['organizer_jsonld_cache'] = $app->share(function ($app) {
    return $app['cache']('organizer_jsonld');
});
$app['eventstore_payload_serializer'] = $app->share(function ($app) {
    return \CultuurNet\UDB3\BackwardsCompatiblePayloadSerializerFactory::createSerializer($app[LabelServiceProvider::JSON_READ_REPOSITORY]);
});
$app['organizer_store'] = $app->share(function ($app) {
    $eventStore = new \Broadway\EventStore\DBALEventStore($app['dbal_connection'], $app['eventstore_payload_serializer'], new \Broadway\Serializer\SimpleInterfaceSerializer(), 'organizers');
    return new UniqueDBALEventStoreDecorator($eventStore, $app['dbal_connection'], new StringLiteral('organizer_unique_websites'), new WebsiteUniqueConstraintService());
});
$app['organizers_locator_event_stream_decorator'] = $app->share(function (Application $app) {
    return new OfferLocator($app['organizer_iri_generator']);
});
$app['organizer_repository'] = $app->share(function (Application $app) {
    $repository = new \CultuurNet\UDB3\Organizer\OrganizerRepository($app['organizer_store'], $app['event_bus'], array($app['event_stream_metadata_enricher'], $app['organizers_locator_event_stream_decorator']));
    return $repository;
});
$app['organizer_service'] = $app->share(function ($app) {
    $service = new \CultuurNet\UDB3\OrganizerService($app['organizer_jsonld_repository'], $app['organizer_repository'], $app['organizer_iri_generator']);
    return $service;