/** * Execute the migration * * @return void */ public function execute() { foreach ($this->nodeDataRepository->findAll() as $node) { foreach ($this->configuration as $migrationDescription) { if ($this->nodeFilterService->matchFilters($node, $migrationDescription['filters'])) { $this->nodeTransformationService->execute($node, $migrationDescription['transformations']); if (!$this->nodeDataRepository->isInRemovedNodes($node)) { $this->nodeDataRepository->update($node); } } } } }
/** * Walks over the nodes starting at the given node and executes the configured * transformations on nodes matching the defined filters. * * @param \TYPO3\TYPO3CR\Domain\Model\NodeInterface $node * @param string $migrationType One of the MIGRATION_TYPE_* constants. * @return void */ protected function walkNodes(\TYPO3\TYPO3CR\Domain\Model\NodeInterface $node, $migrationType) { foreach ($this->configuration as $migrationDescription) { if ($this->nodeFilterService->matchFilters($node, $migrationDescription['filters'])) { $this->nodeTransformationService->execute($node, $migrationDescription['transformations']); } } foreach ($node->getChildNodes() as $childNodes) { $this->walkNodes($childNodes, $migrationType); } }