diff --git a/Neos.ContentRepository.Core/Classes/Feature/Common/TetheredNodeInternals.php b/Neos.ContentRepository.Core/Classes/Feature/Common/TetheredNodeInternals.php index c2dde50e67a..e5251b18094 100644 --- a/Neos.ContentRepository.Core/Classes/Feature/Common/TetheredNodeInternals.php +++ b/Neos.ContentRepository.Core/Classes/Feature/Common/TetheredNodeInternals.php @@ -79,8 +79,8 @@ protected function createEventsForMissingTetheredNode( $rootGeneralizationOrigin = OriginDimensionSpacePoint::fromDimensionSpacePoint($rootGeneralization); if ($creationOriginDimensionSpacePoint) { $events[] = new NodePeerVariantWasCreated( - WorkspaceName::fromString('todo'), // TODO read from $parentNodeAggregate - $parentNodeAggregate->contentStreamId, + $contentGraph->getWorkspaceName(), + $contentGraph->getContentStreamId(), $tetheredNodeAggregateId, $creationOriginDimensionSpacePoint, $rootGeneralizationOrigin, @@ -90,8 +90,8 @@ protected function createEventsForMissingTetheredNode( ); } else { $events[] = new NodeAggregateWithNodeWasCreated( - WorkspaceName::fromString('todo'), // TODO read from $parentNodeAggregate - $parentNodeAggregate->contentStreamId, + $contentGraph->getWorkspaceName(), + $contentGraph->getContentStreamId(), $tetheredNodeAggregateId, $expectedTetheredNodeType->name, $rootGeneralizationOrigin, @@ -110,8 +110,8 @@ protected function createEventsForMissingTetheredNode( } return Events::with( new NodeAggregateWithNodeWasCreated( - WorkspaceName::fromString('todo'), // TODO read from $parentNodeAggregate - $parentNodeAggregate->contentStreamId, + $contentGraph->getWorkspaceName(), + $contentGraph->getContentStreamId(), $tetheredNodeAggregateId ?: NodeAggregateId::create(), $expectedTetheredNodeType->name, $originDimensionSpacePoint, diff --git a/Neos.ContentRepository.Core/Classes/Feature/NodeTypeChange/NodeTypeChange.php b/Neos.ContentRepository.Core/Classes/Feature/NodeTypeChange/NodeTypeChange.php index cbf031c3374..9317c8a911c 100644 --- a/Neos.ContentRepository.Core/Classes/Feature/NodeTypeChange/NodeTypeChange.php +++ b/Neos.ContentRepository.Core/Classes/Feature/NodeTypeChange/NodeTypeChange.php @@ -304,6 +304,7 @@ private function deleteDisallowedNodesWhenChangingNodeType( ); // AND REMOVE THEM $events[] = $this->removeNodeInDimensionSpacePointSet( + $contentGraph, $childNodeAggregate, $dimensionSpacePointsToBeRemoved, ); @@ -336,6 +337,7 @@ private function deleteDisallowedNodesWhenChangingNodeType( ); // AND REMOVE THEM $events[] = $this->removeNodeInDimensionSpacePointSet( + $contentGraph, $grandchildNodeAggregate, $dimensionSpacePointsToBeRemoved, ); @@ -369,6 +371,7 @@ private function deleteObsoleteTetheredNodesWhenChangingNodeType( ); // AND REMOVE THEM $events[] = $this->removeNodeInDimensionSpacePointSet( + $contentGraph, $tetheredNodeAggregate, $dimensionSpacePointsToBeRemoved, ); @@ -423,12 +426,13 @@ private function findDimensionSpacePointsConnectingParentAndChildAggregate( } private function removeNodeInDimensionSpacePointSet( + ContentGraphInterface $contentGraph, NodeAggregate $nodeAggregate, DimensionSpacePointSet $coveredDimensionSpacePointsToBeRemoved, ): NodeAggregateWasRemoved { return new NodeAggregateWasRemoved( - WorkspaceName::fromString('todo'), // TODO read from $nodeAggregate - $nodeAggregate->contentStreamId, + $contentGraph->getWorkspaceName(), + $contentGraph->getContentStreamId(), $nodeAggregate->nodeAggregateId, // TODO: we also use the covered dimension space points as OCCUPIED dimension space points // - however the OCCUPIED dimension space points are not really used by now diff --git a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/DisallowedChildNodeAdjustment.php b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/DisallowedChildNodeAdjustment.php index ea2a48ea9c2..027747951ee 100644 --- a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/DisallowedChildNodeAdjustment.php +++ b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/DisallowedChildNodeAdjustment.php @@ -131,8 +131,8 @@ private function removeNodeInSingleDimensionSpacePoint( $referenceOrigin = OriginDimensionSpacePoint::fromDimensionSpacePoint($dimensionSpacePoint); $events = Events::with( new NodeAggregateWasRemoved( - WorkspaceName::fromString('todo'), // TODO read from $nodeAggregate - $nodeAggregate->contentStreamId, + $this->projectedNodeIterator->contentGraph->getWorkspaceName(), + $this->projectedNodeIterator->contentGraph->getContentStreamId(), $nodeAggregate->nodeAggregateId, $nodeAggregate->occupiesDimensionSpacePoint($referenceOrigin) ? new OriginDimensionSpacePointSet([$referenceOrigin]) diff --git a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/PropertyAdjustment.php b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/PropertyAdjustment.php index a64537dc0ba..5afde4bd653 100644 --- a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/PropertyAdjustment.php +++ b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/PropertyAdjustment.php @@ -115,7 +115,7 @@ private function publishNodePropertiesWereSet( ): EventsToPublish { $events = Events::with( new NodePropertiesWereSet( - WorkspaceName::fromString('todo'), // TODO read from $node + $node->workspaceName, $node->subgraphIdentity->contentStreamId, $node->nodeAggregateId, $node->originDimensionSpacePoint, diff --git a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/RemoveNodeAggregateTrait.php b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/RemoveNodeAggregateTrait.php index 3d4ffac404e..0a93a3ce02b 100644 --- a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/RemoveNodeAggregateTrait.php +++ b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/RemoveNodeAggregateTrait.php @@ -8,18 +8,18 @@ use Neos\ContentRepository\Core\EventStore\EventsToPublish; use Neos\ContentRepository\Core\Feature\ContentStreamEventStreamName; use Neos\ContentRepository\Core\Feature\NodeRemoval\Event\NodeAggregateWasRemoved; +use Neos\ContentRepository\Core\Projection\ContentGraph\ContentGraphInterface; use Neos\ContentRepository\Core\Projection\ContentGraph\NodeAggregate; -use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; use Neos\EventStore\Model\EventStream\ExpectedVersion; trait RemoveNodeAggregateTrait { - private function removeNodeAggregate(NodeAggregate $tetheredNodeAggregate): EventsToPublish + private function removeNodeAggregate(ContentGraphInterface $contentGraph, NodeAggregate $tetheredNodeAggregate): EventsToPublish { $events = Events::with( new NodeAggregateWasRemoved( - WorkspaceName::fromString('todo'), // TODO read from $tetheredNodeAggregate - $tetheredNodeAggregate->contentStreamId, + $contentGraph->getWorkspaceName(), + $contentGraph->getContentStreamId(), $tetheredNodeAggregate->nodeAggregateId, $tetheredNodeAggregate->occupiedDimensionSpacePoints, $tetheredNodeAggregate->coveredDimensionSpacePoints, diff --git a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/TetheredNodeAdjustments.php b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/TetheredNodeAdjustments.php index 65a3abcb364..34cda7508ca 100644 --- a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/TetheredNodeAdjustments.php +++ b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/TetheredNodeAdjustments.php @@ -122,7 +122,7 @@ function () use ($nodeAggregate, $originDimensionSpacePoint, $tetheredNodeName, 'The tethered child node "' . $tetheredNodeAggregate->nodeName->value . '" should be removed.', function () use ($tetheredNodeAggregate) { - return $this->removeNodeAggregate($tetheredNodeAggregate); + return $this->removeNodeAggregate($this->projectedNodeIterator->contentGraph, $tetheredNodeAggregate); } ); } @@ -154,8 +154,8 @@ function () use ($tetheredNodeAggregate) { . ' - actual: ' . implode(', ', array_keys($actualTetheredChildNodes)), fn () => $this->reorderNodes( - WorkspaceName::fromString('todo'), // TODO read from $nodeAggregate - $nodeAggregate->contentStreamId, + $this->projectedNodeIterator->contentGraph->getWorkspaceName(), + $this->projectedNodeIterator->contentGraph->getContentStreamId(), $nodeAggregate->getCoverageByOccupant($originDimensionSpacePoint), $actualTetheredChildNodes, array_keys($expectedTetheredNodes) diff --git a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/UnknownNodeTypeAdjustment.php b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/UnknownNodeTypeAdjustment.php index 0b7d2363cf9..e2ca74e21f2 100644 --- a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/UnknownNodeTypeAdjustment.php +++ b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/UnknownNodeTypeAdjustment.php @@ -40,7 +40,7 @@ private function removeAllNodesOfType(NodeTypeName $nodeTypeName): \Generator 'The node type "' . $nodeTypeName->value . '" is not found; so the node should be removed (or converted)', function () use ($nodeAggregate) { - return $this->removeNodeAggregate($nodeAggregate); + return $this->removeNodeAggregate($this->projectedNodeIterator->contentGraph, $nodeAggregate); } ); }