Skip to content
This repository has been archived by the owner on Jun 28, 2022. It is now read-only.

Commit

Permalink
Merge branch 'master' into feature/III-2163
Browse files Browse the repository at this point in the history
# Conflicts:
#	composer.lock
  • Loading branch information
bertramakers committed Jun 20, 2017
2 parents 454c90f + 7d3b393 commit c0b0c83
Show file tree
Hide file tree
Showing 12 changed files with 445 additions and 103 deletions.
8 changes: 4 additions & 4 deletions bootstrap.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
use CultuurNet\UDB2DomainEvents\EventCreated;
use CultuurNet\UDB2DomainEvents\EventUpdated;
use CultuurNet\UDB3\Address\DefaultAddressFormatter;
use CultuurNet\UDB3\Cdb\Description\JsonLdDescriptionToCdbXmlLongDescriptionFilter;
use CultuurNet\UDB3\Cdb\Description\JsonLdDescriptionToCdbXmlShortDescriptionFilter;
use CultuurNet\UDB3\CdbXmlService\CalendarSummary\CalendarSummaryController;
use CultuurNet\UDB3\Cdb\CdbId\EventCdbIdExtractor;
use CultuurNet\UDB3\Cdb\ExternalId\ArrayMappingService;
Expand All @@ -33,14 +35,12 @@
use CultuurNet\UDB3\CdbXmlService\ReadModel\FlandersRegionOrganizerCdbXmlProjector;
use CultuurNet\UDB3\CdbXmlService\ReadModel\FlandersRegionRelationsCdbXmlProjector;
use CultuurNet\UDB3\CdbXmlService\ReadModel\GeocodingOfferCdbXmlProjector;
use CultuurNet\UDB3\CdbXmlService\ReadModel\LongDescriptionFilter;
use CultuurNet\UDB3\CdbXmlService\ReadModel\MetadataCdbItemEnricher;
use CultuurNet\UDB3\CdbXmlService\ReadModel\OfferToCdbXmlProjector;
use CultuurNet\UDB3\CdbXmlService\ReadModel\OrganizerToActorCdbXmlProjector;
use CultuurNet\UDB3\CdbXmlService\ReadModel\RelationsToCdbXmlProjector;
use CultuurNet\UDB3\CdbXmlService\ReadModel\Repository\BroadcastingDocumentRepositoryDecorator;
use CultuurNet\UDB3\CdbXmlService\ReadModel\Repository\CacheDocumentRepository;
use CultuurNet\UDB3\CdbXmlService\ReadModel\ShortDescriptionFilter;
use CultuurNet\UDB3\Iri\CallableIriGenerator;
use CultuurNet\UDB3\Label\LabelEventRelationTypeResolver;
use CultuurNet\UDB3\SimpleEventBus as UDB3SimpleEventBus;
Expand Down Expand Up @@ -174,8 +174,8 @@ function (Application $app) {
$app['cdbxml_actor_repository'],
$app['cdbxml_date_formatter'],
$app['address_factory'],
new LongDescriptionFilter(),
new ShortDescriptionFilter(),
new JsonLdDescriptionToCdbXmlLongDescriptionFilter(),
new JsonLdDescriptionToCdbXmlShortDescriptionFilter(),
new \CommerceGuys\Intl\Currency\CurrencyRepository(),
new \CommerceGuys\Intl\NumberFormat\NumberFormatRepository(),
$app['event_cdbid_extractor'],
Expand Down
13 changes: 0 additions & 13 deletions src/ReadModel/LongDescriptionFilter.php

This file was deleted.

103 changes: 85 additions & 18 deletions src/ReadModel/OfferToCdbXmlProjector.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@
use CultureFeed_Cdb_Item_Base;
use CultureFeed_Cdb_Item_Event;
use CultuurNet\CalendarSummary\CalendarPlainTextFormatter;
use CultuurNet\UDB3\Actor\ActorImportedFromUDB2;
use CultuurNet\UDB3\BookingInfo;
use CultuurNet\UDB3\Calendar\CalendarConverter;
use CultuurNet\UDB3\CalendarInterface;
use CultuurNet\UDB3\Cdb\ActorItemFactory;
use CultuurNet\UDB3\Cdb\CdbId\EventCdbIdExtractorInterface;
use CultuurNet\UDB3\Cdb\Description\MergedDescription;
use CultuurNet\UDB3\Cdb\EventItemFactory;
use CultuurNet\UDB3\CdbXmlService\CultureFeed\AddressFactoryInterface;
use CultuurNet\UDB3\CdbXmlService\CdbXmlDocument\CdbXmlDocument;
Expand Down Expand Up @@ -328,7 +328,7 @@ public function handle(DomainMessage $domainMessage)
EventImportedFromUDB2::class => 'applyEventImportedFromUdb2',
EventUpdatedFromUDB2::class => 'applyEventUpdatedFromUdb2',
PlaceImportedFromUDB2::class => 'applyPlaceImportedFromUdb2',
PlaceUpdatedFromUDB2::class => 'applyPlaceImportedFromUdb2',
PlaceUpdatedFromUDB2::class => 'applyPlaceUpdatedFromUdb2',
EventPublished::class => 'applyPublished',
PlacePublished::class => 'applyPublished',
EventApproved::class => 'applyApproved',
Expand Down Expand Up @@ -373,28 +373,35 @@ public function handle(DomainMessage $domainMessage)
}

/**
* @param \CultuurNet\UDB3\Actor\ActorImportedFromUDB2 $actorImported
* @param PlaceImportedFromUDB2 $placeImportedFromUDB2
* @param \Broadway\Domain\Metadata $metadata
* @return CdbXmlDocument
*/
public function applyPlaceImportedFromUdb2(
ActorImportedFromUDB2 $actorImported,
PlaceImportedFromUDB2 $placeImportedFromUDB2,
Metadata $metadata
) {
$actor = ActorItemFactory::createActorFromCdbXml(
$actorImported->getCdbXmlNamespaceUri(),
$actorImported->getCdbXml()
return $this->updatePlaceFromCdbXml(
$placeImportedFromUDB2->getCdbXml(),
$placeImportedFromUDB2->getCdbXmlNamespaceUri(),
$metadata
);
}

// Add metadata like createdby, creationdate, etc to the actor.
$actor = $this->metadataCdbItemEnricher
->enrich($actor, $metadata);

// Return a new CdbXmlDocument.
$cdbxmlDocument = $this->cdbXmlDocumentFactory
->fromCulturefeedCdbItem($actor);

return $cdbxmlDocument;
/**
* @param PlaceUpdatedFromUDB2 $placeUpdatedFromUDB2
* @param \Broadway\Domain\Metadata $metadata
* @return CdbXmlDocument
*/
public function applyPlaceUpdatedFromUdb2(
PlaceUpdatedFromUDB2 $placeUpdatedFromUDB2,
Metadata $metadata
) {
return $this->updatePlaceFromCdbXml(
$placeUpdatedFromUDB2->getCdbXml(),
$placeUpdatedFromUDB2->getCdbXmlNamespaceUri(),
$metadata
);
}

/**
Expand Down Expand Up @@ -1817,8 +1824,8 @@ private function updateCategories(
}

/**
* @param $xmlString
* @param $namespace
* @param string $xmlString
* @param string $namespace
* @param Metadata $metadata
* @return CdbXmlDocument
*/
Expand Down Expand Up @@ -1856,6 +1863,8 @@ private function updateEventFromCdbXml(
}
}

$event = $this->mergeShortAndLongDescription($event);

// Add metadata like createdby, creationdate, etc to the event.
$event = $this->metadataCdbItemEnricher
->enrich($event, $metadata);
Expand All @@ -1865,6 +1874,64 @@ private function updateEventFromCdbXml(
->fromCulturefeedCdbItem($event);
}

/**
* @param string $xmlString
* @param string $namespace
* @param Metadata $metadata
* @return CdbXmlDocument
*/
private function updatePlaceFromCdbXml(
$xmlString,
$namespace,
Metadata $metadata
) {
$actor = ActorItemFactory::createActorFromCdbXml($namespace, $xmlString);

// Add metadata like createdby, creationdate, etc to the actor.
$actor = $this->metadataCdbItemEnricher
->enrich($actor, $metadata);

$actor = $this->mergeShortAndLongDescription($actor);

// Return a new CdbXmlDocument.
$cdbxmlDocument = $this->cdbXmlDocumentFactory
->fromCulturefeedCdbItem($actor);

return $cdbxmlDocument;
}

/**
* @param CultureFeed_Cdb_Item_Base $cdbItem
* @return CultureFeed_Cdb_Item_Base
*/
private function mergeShortAndLongDescription(\CultureFeed_Cdb_Item_Base $cdbItem)
{
/* @var \CultureFeed_Cdb_Data_DetailList $updatedDetails */
$currentDetails = $cdbItem->getDetails();
$detailsClassName = get_class($currentDetails);
$updatedDetails = new $detailsClassName();

foreach ($currentDetails as $detail) {
try {
$mergedDescription = MergedDescription::fromCdbDetail($detail);
} catch (\InvalidArgumentException $e) {
// Detail has neither short nor long description.
$updatedDetails->add($detail);
continue;
}

$longDescription = $this->longDescriptionFilter->filter($mergedDescription->toNative());
$shortDescription = $this->shortDescriptionFilter->filter($mergedDescription->toNative());
$detail->setLongDescription($longDescription);
$detail->setShortDescription($shortDescription);
$updatedDetails->add($detail);
}

$cdbItem->setDetails($updatedDetails);

return $cdbItem;
}

/**
* @param EventCreated|PlaceCreated $offerCreated
* @param \CultureFeed_Cdb_Item_Base $item
Expand Down
23 changes: 0 additions & 23 deletions src/ReadModel/ShortDescriptionFilter.php

This file was deleted.

Loading

0 comments on commit c0b0c83

Please sign in to comment.