diff --git a/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php b/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php index 2b05c6903d..b43606c7f6 100644 --- a/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php +++ b/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php @@ -18,7 +18,6 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\FindChildNodesFilter; use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\NodeType\NodeTypeCriteria; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; -use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; @@ -51,10 +50,7 @@ public function handle(ReloadNodesQuery $query, ActionRequest $actionRequest): R { $contentRepository = $this->contentRepositoryRegistry ->get($query->contentRepositoryId); - $subgraph = $contentRepository->getContentGraph($query->workspaceName)->getSubgraph( - $query->dimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() - ); + $subgraph = $contentRepository->getContentSubgraph($query->workspaceName, $query->dimensionSpacePoint); $baseNodeTypeConstraints = NodeTypeCriteria::fromFilterString($this->baseNodeType); $documentNode = $subgraph->findNodeById($query->documentId); diff --git a/Classes/Application/SyncWorkspace/ConflictsBuilder.php b/Classes/Application/SyncWorkspace/ConflictsBuilder.php index 138ed415fc..33c1ad5a2b 100644 --- a/Classes/Application/SyncWorkspace/ConflictsBuilder.php +++ b/Classes/Application/SyncWorkspace/ConflictsBuilder.php @@ -37,7 +37,6 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\FindClosestNodeFilter; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\Projection\ContentGraph\NodeAggregate; -use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; use Neos\ContentRepository\Core\SharedModel\Exception\NodeAggregateCurrentlyDoesNotExist; use Neos\ContentRepository\Core\SharedModel\Exception\WorkspaceDoesNotExist; use Neos\ContentRepository\Core\SharedModel\Node\NodeAggregateId; @@ -223,9 +222,9 @@ private function acquireSubgraphFromCommand( return null; } - return $contentGraph->getSubgraph( + return $this->contentRepository->getContentSubgraph( + $this->workspaceName, $dimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() ); } diff --git a/Classes/ContentRepository/Service/NeosUiNodeService.php b/Classes/ContentRepository/Service/NeosUiNodeService.php index 07d0b8ee35..63fdad72e5 100644 --- a/Classes/ContentRepository/Service/NeosUiNodeService.php +++ b/Classes/ContentRepository/Service/NeosUiNodeService.php @@ -13,7 +13,6 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Node; -use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; @@ -32,10 +31,7 @@ public function findNodeBySerializedNodeAddress(string $serializedNodeAddress): $nodeAddress = NodeAddress::fromJsonString($serializedNodeAddress); $contentRepository = $this->contentRepositoryRegistry->get($nodeAddress->contentRepositoryId); - $subgraph = $contentRepository->getContentGraph($nodeAddress->workspaceName)->getSubgraph( - $nodeAddress->dimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() - ); + $subgraph = $contentRepository->getContentSubgraph($nodeAddress->workspaceName, $nodeAddress->dimensionSpacePoint); return $subgraph->findNodeById($nodeAddress->aggregateId); } } diff --git a/Classes/ContentRepository/Service/WorkspaceService.php b/Classes/ContentRepository/Service/WorkspaceService.php index d1b9834a3c..94a57d78f5 100644 --- a/Classes/ContentRepository/Service/WorkspaceService.php +++ b/Classes/ContentRepository/Service/WorkspaceService.php @@ -14,7 +14,6 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\FindClosestNodeFilter; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; -use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; @@ -92,9 +91,9 @@ public function getPublishableNodeInfo(WorkspaceName $workspaceName, ContentRepo } foreach ($originDimensionSpacePoints as $originDimensionSpacePoint) { - $subgraph = $contentGraph->getSubgraph( + $subgraph = $contentRepository->getContentSubgraph( + $workspaceName, $originDimensionSpacePoint->toDimensionSpacePoint(), - VisibilityConstraints::withoutRestrictions() ); $node = $subgraph->findNodeById($change->nodeAggregateId); if ($node instanceof Node) { diff --git a/Classes/Controller/BackendController.php b/Classes/Controller/BackendController.php index 930035d88f..426c6c1be6 100644 --- a/Classes/Controller/BackendController.php +++ b/Classes/Controller/BackendController.php @@ -13,8 +13,6 @@ */ use Neos\ContentRepository\Core\Feature\SubtreeTagging\Dto\SubtreeTag; -use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; -use Neos\ContentRepository\Core\SharedModel\Exception\WorkspaceDoesNotExist; use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; @@ -151,9 +149,9 @@ public function indexAction(string $node = null) $rootDimensionSpacePoints = $contentRepository->getVariationGraph()->getRootGeneralizations(); $arbitraryRootDimensionSpacePoint = array_shift($rootDimensionSpacePoints); - $subgraph = $contentGraph->getSubgraph( - $nodeAddress ? $nodeAddress->dimensionSpacePoint : $arbitraryRootDimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() + $subgraph = $contentRepository->getContentSubgraph( + $workspace->workspaceName, + $nodeAddress->dimensionSpacePoint ?? $arbitraryRootDimensionSpacePoint, ); // we assume that the ROOT node is always stored in the CR as "physical" node; so it is safe @@ -222,9 +220,9 @@ public function redirectToAction(string $node): void $contentRepository = $this->contentRepositoryRegistry->get($nodeAddress->contentRepositoryId); - $nodeInstance = $contentRepository->getContentGraph($nodeAddress->workspaceName)->getSubgraph( - $nodeAddress->dimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() + $nodeInstance = $contentRepository->getContentSubgraph( + $nodeAddress->workspaceName, + $nodeAddress->dimensionSpacePoint )->findNodeById($nodeAddress->aggregateId); $workspace = $contentRepository->findWorkspaceByName($nodeAddress->workspaceName); diff --git a/Classes/Controller/BackendServiceController.php b/Classes/Controller/BackendServiceController.php index a346851e46..a0b9760fbb 100644 --- a/Classes/Controller/BackendServiceController.php +++ b/Classes/Controller/BackendServiceController.php @@ -17,7 +17,6 @@ use Neos\ContentRepository\Core\DimensionSpace\DimensionSpacePoint; use Neos\ContentRepository\Core\Feature\WorkspaceModification\Exception\WorkspaceIsNotEmptyException; use Neos\ContentRepository\Core\Feature\WorkspaceRebase\Dto\RebaseErrorHandlingStrategy; -use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; use Neos\ContentRepository\Core\SharedModel\Exception\NodeAggregateCurrentlyDoesNotExist; use Neos\ContentRepository\Core\SharedModel\Exception\NodeAggregateDoesCurrentlyNotCoverDimensionSpacePoint; use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; @@ -451,11 +450,10 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d } $contentRepository = $this->contentRepositoryRegistry->get($documentNodeAddress->contentRepositoryId); - $subgraph = $contentRepository->getContentGraph($userWorkspace->workspaceName) - ->getSubgraph( - $command->documentNode->dimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() - ); + $subgraph = $contentRepository->getContentSubgraph( + $userWorkspace->workspaceName, + $command->documentNode->dimensionSpacePoint, + ); $documentNodeInstance = $subgraph->findNodeById($command->documentNode->aggregateId); assert($documentNodeInstance !== null); @@ -579,9 +577,9 @@ public function getAdditionalNodeMetadataAction(array $nodes): void foreach ($nodes as $nodeAddressString) { $nodeAddress = NodeAddress::fromJsonString($nodeAddressString); $contentRepository = $this->contentRepositoryRegistry->get($nodeAddress->contentRepositoryId); - $subgraph = $contentRepository->getContentGraph($nodeAddress->workspaceName)->getSubgraph( + $subgraph = $contentRepository->getContentSubgraph( + $nodeAddress->workspaceName, $nodeAddress->dimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() ); $node = $subgraph->findNodeById($nodeAddress->aggregateId); @@ -623,9 +621,9 @@ public function getPolicyInformationAction(array $nodes): void $result = []; foreach ($nodes as $nodeAddress) { $contentRepository = $this->contentRepositoryRegistry->get($nodeAddress->contentRepositoryId); - $subgraph = $contentRepository->getContentGraph($nodeAddress->workspaceName)->getSubgraph( + $subgraph = $contentRepository->getContentSubgraph( + $nodeAddress->workspaceName, $nodeAddress->dimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() ); $node = $subgraph->findNodeById($nodeAddress->aggregateId); if (!is_null($node)) { @@ -704,9 +702,9 @@ public function generateUriPathSegmentAction(string $contextNode, string $text): { $contextNodeAddress = NodeAddress::fromJsonString($contextNode); $contentRepository = $this->contentRepositoryRegistry->get($contextNodeAddress->contentRepositoryId); - $subgraph = $contentRepository->getContentGraph($contextNodeAddress->workspaceName)->getSubgraph( + $subgraph = $contentRepository->getContentSubgraph( + $contextNodeAddress->workspaceName, $contextNodeAddress->dimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() ); $contextNode = $subgraph->findNodeById($contextNodeAddress->aggregateId); diff --git a/Classes/Domain/Model/Changes/CopyAfter.php b/Classes/Domain/Model/Changes/CopyAfter.php index 30d3dfc638..5396ee4175 100644 --- a/Classes/Domain/Model/Changes/CopyAfter.php +++ b/Classes/Domain/Model/Changes/CopyAfter.php @@ -14,7 +14,6 @@ use Neos\ContentRepository\Core\DimensionSpace\OriginDimensionSpacePoint; use Neos\ContentRepository\Core\Feature\NodeDuplication\Command\CopyNodesRecursively; -use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; /** * @internal These objects internally reflect possible operations made by the Neos.Ui. @@ -64,9 +63,9 @@ public function apply(): void $contentRepository = $this->contentRepositoryRegistry->get($subject->contentRepositoryId); $command = CopyNodesRecursively::createFromSubgraphAndStartNode( - $contentRepository->getContentGraph($subject->workspaceName)->getSubgraph( + $contentRepository->getContentSubgraph( + $subject->workspaceName, $subject->dimensionSpacePoint, - VisibilityConstraints::withoutRestrictions() ), $subject->workspaceName, $subject,