From f640f70321f6a96837dbea86ce1d11c72368c924 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Tue, 30 Apr 2024 17:36:44 +0200 Subject: [PATCH 1/4] !!! TASK: Remove `Node::nodeType` The `NodeTypeManager` must be asked instead. For Neos' fallback logic the `NodeTypeWithFallbackProvider` can be used. --- ...trineDbalContentGraphProjectionFactory.php | 1 - .../src/Domain/Repository/NodeFactory.php | 6 ------ .../src/Domain/Repository/NodeFactory.php | 9 --------- .../src/HypergraphProjectionFactory.php | 1 - .../Classes/Projection/ContentGraph/Node.php | 19 ++----------------- .../src/Adjustment/PropertyAdjustment.php | 2 +- .../Classes/Unit/NodeSubjectProvider.php | 11 ++++------- .../Unit/Fusion/Helper/CachingHelperTest.php | 1 - 8 files changed, 7 insertions(+), 43 deletions(-) diff --git a/Neos.ContentGraph.DoctrineDbalAdapter/src/DoctrineDbalContentGraphProjectionFactory.php b/Neos.ContentGraph.DoctrineDbalAdapter/src/DoctrineDbalContentGraphProjectionFactory.php index 2af43d770fd..f7788df7089 100644 --- a/Neos.ContentGraph.DoctrineDbalAdapter/src/DoctrineDbalContentGraphProjectionFactory.php +++ b/Neos.ContentGraph.DoctrineDbalAdapter/src/DoctrineDbalContentGraphProjectionFactory.php @@ -38,7 +38,6 @@ public function build( $nodeFactory = new NodeFactory( $projectionFactoryDependencies->contentRepositoryId, - $projectionFactoryDependencies->nodeTypeManager, $projectionFactoryDependencies->propertyConverter, $dimensionSpacePointsRepository ); diff --git a/Neos.ContentGraph.DoctrineDbalAdapter/src/Domain/Repository/NodeFactory.php b/Neos.ContentGraph.DoctrineDbalAdapter/src/Domain/Repository/NodeFactory.php index 0645bac2c19..8215bc98c9e 100644 --- a/Neos.ContentGraph.DoctrineDbalAdapter/src/Domain/Repository/NodeFactory.php +++ b/Neos.ContentGraph.DoctrineDbalAdapter/src/Domain/Repository/NodeFactory.php @@ -52,7 +52,6 @@ final class NodeFactory { public function __construct( private readonly ContentRepositoryId $contentRepositoryId, - private readonly NodeTypeManager $nodeTypeManager, private readonly PropertyConverter $propertyConverter, private readonly DimensionSpacePointsRepository $dimensionSpacePointRepository ) { @@ -68,10 +67,6 @@ public function mapNodeRowToNode( DimensionSpacePoint $dimensionSpacePoint, VisibilityConstraints $visibilityConstraints ): Node { - $nodeType = $this->nodeTypeManager->hasNodeType($nodeRow['nodetypename']) - ? $this->nodeTypeManager->getNodeType($nodeRow['nodetypename']) - : null; - return Node::create( $this->contentRepositoryId, $workspaceName, @@ -90,7 +85,6 @@ public function mapNodeRowToNode( isset($nodeRow['originallastmodified']) ? self::parseDateTimeString($nodeRow['originallastmodified']) : null, ), $visibilityConstraints, - $nodeType, $contentStreamId ); } diff --git a/Neos.ContentGraph.PostgreSQLAdapter/src/Domain/Repository/NodeFactory.php b/Neos.ContentGraph.PostgreSQLAdapter/src/Domain/Repository/NodeFactory.php index 52a0b7b080b..bcfe6584dab 100644 --- a/Neos.ContentGraph.PostgreSQLAdapter/src/Domain/Repository/NodeFactory.php +++ b/Neos.ContentGraph.PostgreSQLAdapter/src/Domain/Repository/NodeFactory.php @@ -52,16 +52,12 @@ */ final class NodeFactory { - private NodeTypeManager $nodeTypeManager; - private PropertyConverter $propertyConverter; public function __construct( private readonly ContentRepositoryId $contentRepositoryId, - NodeTypeManager $nodeTypeManager, PropertyConverter $propertyConverter ) { - $this->nodeTypeManager = $nodeTypeManager; $this->propertyConverter = $propertyConverter; } @@ -74,10 +70,6 @@ public function mapNodeRowToNode( ?DimensionSpacePoint $dimensionSpacePoint = null, ?ContentStreamId $contentStreamId = null ): Node { - $nodeType = $this->nodeTypeManager->hasNodeType($nodeRow['nodetypename']) - ? $this->nodeTypeManager->getNodeType($nodeRow['nodetypename']) - : null; - return Node::create( $this->contentRepositoryId, // todo use actual workspace name @@ -102,7 +94,6 @@ public function mapNodeRowToNode( isset($nodeRow['originallastmodified']) ? self::parseDateTimeString($nodeRow['originallastmodified']) : null, ), $visibilityConstraints, - $nodeType, $contentStreamId ?: ContentStreamId::fromString($nodeRow['contentstreamid']), ); } diff --git a/Neos.ContentGraph.PostgreSQLAdapter/src/HypergraphProjectionFactory.php b/Neos.ContentGraph.PostgreSQLAdapter/src/HypergraphProjectionFactory.php index db6af1347ba..edbb84fbb8e 100644 --- a/Neos.ContentGraph.PostgreSQLAdapter/src/HypergraphProjectionFactory.php +++ b/Neos.ContentGraph.PostgreSQLAdapter/src/HypergraphProjectionFactory.php @@ -39,7 +39,6 @@ public function build( $nodeFactory = new NodeFactory( $projectionFactoryDependencies->contentRepositoryId, - $projectionFactoryDependencies->nodeTypeManager, $projectionFactoryDependencies->propertyConverter ); diff --git a/Neos.ContentRepository.Core/Classes/Projection/ContentGraph/Node.php b/Neos.ContentRepository.Core/Classes/Projection/ContentGraph/Node.php index 0a843873186..6e685d56e5c 100644 --- a/Neos.ContentRepository.Core/Classes/Projection/ContentGraph/Node.php +++ b/Neos.ContentRepository.Core/Classes/Projection/ContentGraph/Node.php @@ -101,18 +101,6 @@ */ public ?NodeName $nodeName; - /** - * In PHP please fetch the NodeType via the NodeTypeManager or the NodeTypeWithFallbackProvider trait instead. - * {@see $nodeTypeName} - * - * For Fusion please use the EEL Helper: - * ``` - * ${Neos.Node.getNodeType(node)} - * ``` - * @deprecated will be removed before the final 9.0 release - */ - public ?NodeType $nodeType; - /** * @param ContentRepositoryId $contentRepositoryId The content-repository this Node belongs to * @param WorkspaceName $workspaceName The workspace of this Node @@ -121,7 +109,6 @@ * @param OriginDimensionSpacePoint $originDimensionSpacePoint The DimensionSpacePoint the node originates in. Usually needed to address a Node in a NodeAggregate in order to update it. * @param NodeAggregateClassification $classification The classification (regular, root, tethered) of this node * @param NodeTypeName $nodeTypeName The node's node type name; always set, even if unknown to the NodeTypeManager - * @param NodeType|null $nodeType The node's node type, null if unknown to the NodeTypeManager - @deprecated Don't rely on this too much, as the capabilities of the NodeType here will probably change a lot; Ask the {@see NodeTypeManager} instead * @param PropertyCollection $properties All properties of this node. References are NOT part of this API; To access references, {@see ContentSubgraphInterface::findReferences()} can be used; To read the serialized properties use {@see PropertyCollection::serialized()}. * @param NodeName|null $name The optional name of the node, describing its relation to its parent * @param NodeTags $tags explicit and inherited SubtreeTags of this node @@ -141,7 +128,6 @@ private function __construct( public NodeTags $tags, public Timestamps $timestamps, public VisibilityConstraints $visibilityConstraints, - ?NodeType $nodeType, ContentStreamId $contentStreamId ) { if ($this->classification->isTethered() && $this->name === null) { @@ -150,7 +136,6 @@ private function __construct( // legacy to be removed before Neos9 $this->nodeAggregateId = $this->aggregateId; $this->nodeName = $this->name; - $this->nodeType = $nodeType; $this->subgraphIdentity = ContentSubgraphIdentity::create( $contentRepositoryId, $contentStreamId, @@ -162,9 +147,9 @@ private function __construct( /** * @internal The signature of this method can change in the future! */ - public static function create(ContentRepositoryId $contentRepositoryId, WorkspaceName $workspaceName, DimensionSpacePoint $dimensionSpacePoint, NodeAggregateId $aggregateId, OriginDimensionSpacePoint $originDimensionSpacePoint, NodeAggregateClassification $classification, NodeTypeName $nodeTypeName, PropertyCollection $properties, ?NodeName $nodeName, NodeTags $tags, Timestamps $timestamps, VisibilityConstraints $visibilityConstraints, ?NodeType $nodeType, ContentStreamId $contentStreamId): self + public static function create(ContentRepositoryId $contentRepositoryId, WorkspaceName $workspaceName, DimensionSpacePoint $dimensionSpacePoint, NodeAggregateId $aggregateId, OriginDimensionSpacePoint $originDimensionSpacePoint, NodeAggregateClassification $classification, NodeTypeName $nodeTypeName, PropertyCollection $properties, ?NodeName $nodeName, NodeTags $tags, Timestamps $timestamps, VisibilityConstraints $visibilityConstraints, ContentStreamId $contentStreamId): self { - return new self($contentRepositoryId, $workspaceName, $dimensionSpacePoint, $aggregateId, $originDimensionSpacePoint, $classification, $nodeTypeName, $properties, $nodeName, $tags, $timestamps, $visibilityConstraints, $nodeType, $contentStreamId); + return new self($contentRepositoryId, $workspaceName, $dimensionSpacePoint, $aggregateId, $originDimensionSpacePoint, $classification, $nodeTypeName, $properties, $nodeName, $tags, $timestamps, $visibilityConstraints, $contentStreamId); } /** diff --git a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/PropertyAdjustment.php b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/PropertyAdjustment.php index d0596cdfb93..67c309e6916 100644 --- a/Neos.ContentRepository.StructureAdjustment/src/Adjustment/PropertyAdjustment.php +++ b/Neos.ContentRepository.StructureAdjustment/src/Adjustment/PropertyAdjustment.php @@ -100,7 +100,7 @@ private function removeProperty(NodeAggregate $nodeAggregate, Node $node, string private function addProperty(NodeAggregate $nodeAggregate, Node $node, string $propertyKey, mixed $defaultValue): EventsToPublish { - $propertyType = $node->nodeType?->getPropertyType($propertyKey) ?? 'string'; + $propertyType = $this->nodeTypeManager->getNodeType($node->nodeTypeName)?->getPropertyType($propertyKey) ?? 'string'; $serializedPropertyValues = SerializedPropertyValues::fromArray([ $propertyKey => SerializedPropertyValue::create($defaultValue, $propertyType) ]); diff --git a/Neos.ContentRepository.TestSuite/Classes/Unit/NodeSubjectProvider.php b/Neos.ContentRepository.TestSuite/Classes/Unit/NodeSubjectProvider.php index ac74c544c0b..7a06c14757a 100644 --- a/Neos.ContentRepository.TestSuite/Classes/Unit/NodeSubjectProvider.php +++ b/Neos.ContentRepository.TestSuite/Classes/Unit/NodeSubjectProvider.php @@ -28,6 +28,7 @@ use Neos\ContentRepository\Core\Infrastructure\Property\Normalizer\ValueObjectStringDenormalizer; use Neos\ContentRepository\Core\Infrastructure\Property\PropertyConverter; use Neos\ContentRepository\Core\NodeType\NodeType; +use Neos\ContentRepository\Core\NodeType\NodeTypeName; use Neos\ContentRepository\Core\Projection\ContentGraph\ContentSubgraphIdentity; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\Projection\ContentGraph\NodeTags; @@ -83,11 +84,10 @@ public function usePropertyConverter(PropertyConverter $propertyConverter): void } public function createMinimalNodeOfType( - NodeType $nodeType, + NodeTypeName $nodeTypeName, SerializedPropertyValues $propertyValues = null, ?NodeName $nodeName = null ): Node { - $serializedDefaultPropertyValues = SerializedPropertyValues::defaultFromNodeType($nodeType, $this->propertyConverter); return Node::create( ContentRepositoryId::fromString('default'), WorkspaceName::forLive(), @@ -95,11 +95,9 @@ public function createMinimalNodeOfType( NodeAggregateId::create(), OriginDimensionSpacePoint::createWithoutDimensions(), NodeAggregateClassification::CLASSIFICATION_REGULAR, - $nodeType->name, + $nodeTypeName, new PropertyCollection( - $propertyValues - ? $serializedDefaultPropertyValues->merge($propertyValues) - : $serializedDefaultPropertyValues, + $propertyValues ?? SerializedPropertyValues::createEmpty(), $this->propertyConverter ), $nodeName, @@ -111,7 +109,6 @@ public function createMinimalNodeOfType( new \DateTimeImmutable() ), VisibilityConstraints::withoutRestrictions(), - $nodeType, ContentStreamId::fromString('cs-id'), ); } diff --git a/Neos.Neos/Tests/Unit/Fusion/Helper/CachingHelperTest.php b/Neos.Neos/Tests/Unit/Fusion/Helper/CachingHelperTest.php index 3b9992926f9..6c94c0217bc 100644 --- a/Neos.Neos/Tests/Unit/Fusion/Helper/CachingHelperTest.php +++ b/Neos.Neos/Tests/Unit/Fusion/Helper/CachingHelperTest.php @@ -243,7 +243,6 @@ private function createNode(NodeAggregateId $nodeAggregateId): Node NodeTags::createEmpty(), Timestamps::create($now, $now, null, null), VisibilityConstraints::withoutRestrictions(), - null, ContentStreamId::fromString("cs-identifier"), ); } From 7148d29a60659a2b70097d15814f4060acf28778 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Tue, 30 Apr 2024 17:42:55 +0200 Subject: [PATCH 2/4] TASK: Adjust fusion code to use `Neos.Node.getNodeType` --- .../ExpressionBasedNodeLabelGenerator.php | 5 ++-- .../Fusion/RawContent/NodeHeader.fusion | 6 ++-- .../Fusion/RawContent/NodeProperties.fusion | 2 +- .../Features/Fusion/ContentCollection.feature | 2 +- .../Unit/Fusion/Helper/CachingHelperTest.php | 28 ++++++++----------- 5 files changed, 19 insertions(+), 24 deletions(-) diff --git a/Neos.Neos/Classes/Domain/NodeLabel/ExpressionBasedNodeLabelGenerator.php b/Neos.Neos/Classes/Domain/NodeLabel/ExpressionBasedNodeLabelGenerator.php index 8c7010230e4..ae6c9a291bc 100644 --- a/Neos.Neos/Classes/Domain/NodeLabel/ExpressionBasedNodeLabelGenerator.php +++ b/Neos.Neos/Classes/Domain/NodeLabel/ExpressionBasedNodeLabelGenerator.php @@ -39,7 +39,7 @@ class ExpressionBasedNodeLabelGenerator implements NodeLabelGeneratorInterface * @var string */ protected $expression = <<<'EEL' - ${(node.nodeType.label ? node.nodeType.label : node.nodeTypeName.value) + (node.nodeName ? ' (' + node.nodeName.value + ')' : '')} + ${(Neos.Node.getNodeType(node).label || node.nodeTypeName.value) + (node.nodeName ? ' (' + node.nodeName.value + ')' : '')} EEL; /** @@ -64,7 +64,6 @@ public function getLabel(Node $node): string if (Utility::parseEelExpression($this->getExpression()) === null) { return $this->getExpression(); } - $value = Utility::evaluateEelExpression($this->getExpression(), $this->eelEvaluator, ['node' => $node], $this->defaultContextConfiguration); - return (string)$value; + return (string)Utility::evaluateEelExpression($this->getExpression(), $this->eelEvaluator, ['node' => $node], $this->defaultContextConfiguration); } } diff --git a/Neos.Neos/Resources/Private/Fusion/RawContent/NodeHeader.fusion b/Neos.Neos/Resources/Private/Fusion/RawContent/NodeHeader.fusion index 741e0b095f1..b298c49ddac 100644 --- a/Neos.Neos/Resources/Private/Fusion/RawContent/NodeHeader.fusion +++ b/Neos.Neos/Resources/Private/Fusion/RawContent/NodeHeader.fusion @@ -1,7 +1,7 @@ prototype(Neos.Neos:RawContent.NodeHeader) < prototype(Neos.Fusion:Component) { - labelParts = ${String.split(node.nodeType.label, ':')} - icon = ${node.nodeType.fullConfiguration.ui.icon} + labelParts = ${String.split(Neos.Node.getNodeType(node).label, ':')} + icon = ${Neos.Node.getNodeType(node).fullConfiguration.ui.icon} visibilityInformations = Neos.Fusion:DataStructure { hidden = 'hidden' hidden.@if.isHidden = ${node.hidden} @@ -11,7 +11,7 @@ prototype(Neos.Neos:RawContent.NodeHeader) < prototype(Neos.Fusion:Component) { renderer = afx`
  - {(node.tethered || q(node).is('[instanceof Neos.Neos:Document]')) ? q(node).label() : Translation.translate(props.labelParts[2], node.nodeType.label, [], props.labelParts[1], props.labelParts[0])} + {(node.classification.tethered || q(node).is('[instanceof Neos.Neos:Document]')) ? q(node).label() : Translation.translate(props.labelParts[2], Neos.Node.getNodeType(node).label, [], props.labelParts[1], props.labelParts[0])} - {props.visibilityInformations}
` diff --git a/Neos.Neos/Resources/Private/Fusion/RawContent/NodeProperties.fusion b/Neos.Neos/Resources/Private/Fusion/RawContent/NodeProperties.fusion index 1f22a265684..776672e698d 100644 --- a/Neos.Neos/Resources/Private/Fusion/RawContent/NodeProperties.fusion +++ b/Neos.Neos/Resources/Private/Fusion/RawContent/NodeProperties.fusion @@ -1,6 +1,6 @@ prototype(Neos.Neos:RawContent.NodeProperties) < prototype(Neos.Fusion:Component) { @private { - items = ${node.nodeType.properties} + items = ${Neos.Node.getNodeType(node).properties} items.@process.sort = ${Neos.Array.sortByPropertyPath(value, 'ui.inspector.position')} } diff --git a/Neos.Neos/Tests/Behavior/Features/Fusion/ContentCollection.feature b/Neos.Neos/Tests/Behavior/Features/Fusion/ContentCollection.feature index 547974b53f6..643ba787c6c 100644 --- a/Neos.Neos/Tests/Behavior/Features/Fusion/ContentCollection.feature +++ b/Neos.Neos/Tests/Behavior/Features/Fusion/ContentCollection.feature @@ -127,7 +127,7 @@ Feature: Tests for the "Neos.Neos:ContentCollection" Fusion prototype include: resource://Neos.Neos/Private/Fusion/Root.fusion prototype(Neos.Neos:Test.ContentType) < prototype(Neos.Fusion:Value) { - value = ${node.nodeAggregateId.value + ' (' + node.nodeType.name.value + ') '} + value = ${node.nodeAggregateId.value + ' (' + node.nodeTypeName.value + ') '} } test = Neos.Neos:ContentCollection { diff --git a/Neos.Neos/Tests/Unit/Fusion/Helper/CachingHelperTest.php b/Neos.Neos/Tests/Unit/Fusion/Helper/CachingHelperTest.php index 6c94c0217bc..78fdf3f3227 100644 --- a/Neos.Neos/Tests/Unit/Fusion/Helper/CachingHelperTest.php +++ b/Neos.Neos/Tests/Unit/Fusion/Helper/CachingHelperTest.php @@ -12,27 +12,23 @@ * source code. */ +use Neos\ContentRepository\Core\DimensionSpace\DimensionSpacePoint; +use Neos\ContentRepository\Core\DimensionSpace\OriginDimensionSpacePoint; +use Neos\ContentRepository\Core\Feature\NodeModification\Dto\SerializedPropertyValues; +use Neos\ContentRepository\Core\Infrastructure\Property\PropertyConverter; +use Neos\ContentRepository\Core\NodeType\NodeTypeName; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\Projection\ContentGraph\NodeTags; -use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; +use Neos\ContentRepository\Core\Projection\ContentGraph\PropertyCollection; +use Neos\ContentRepository\Core\Projection\ContentGraph\Timestamps; +use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; +use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAggregateClassification; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAggregateId; +use Neos\ContentRepository\Core\SharedModel\Workspace\ContentStreamId; use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; -use Neos\ContentRepository\Domain\Model\Workspace; -use Neos\ContentRepository\Domain\Service\Context; use Neos\Flow\Tests\UnitTestCase; use Neos\Neos\Fusion\Helper\CachingHelper; -use Neos\ContentRepository\Core\NodeType\NodeTypeName; -use Neos\ContentRepository\Core\Projection\ContentGraph\ContentSubgraphIdentity; -use Neos\ContentRepository\Core\SharedModel\Workspace\ContentStreamId; -use Neos\ContentRepository\Core\DimensionSpace\DimensionSpacePoint; -use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; -use Neos\ContentRepository\Core\SharedModel\Node\NodeAggregateId; -use Neos\ContentRepository\Core\DimensionSpace\OriginDimensionSpacePoint; -use Neos\ContentRepository\Core\SharedModel\Node\NodeAggregateClassification; -use Neos\ContentRepository\Core\Projection\ContentGraph\Timestamps; -use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; -use Neos\ContentRepository\Core\Projection\ContentGraph\PropertyCollection; -use Neos\ContentRepository\Core\Feature\NodeModification\Dto\SerializedPropertyValues; -use Neos\ContentRepository\Core\Infrastructure\Property\PropertyConverter; use Symfony\Component\Serializer\Serializer; /** From afbff5a411eba7910b2550864e757e4b60ded82a Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Wed, 15 May 2024 18:31:16 +0200 Subject: [PATCH 3/4] TASK: Mark `NodeTypeWithFallbackProvider` as deprecated --- .../Classes/Utility/NodeTypeWithFallbackProvider.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Neos.Neos/Classes/Utility/NodeTypeWithFallbackProvider.php b/Neos.Neos/Classes/Utility/NodeTypeWithFallbackProvider.php index 277240d2ba5..09eef299b07 100644 --- a/Neos.Neos/Classes/Utility/NodeTypeWithFallbackProvider.php +++ b/Neos.Neos/Classes/Utility/NodeTypeWithFallbackProvider.php @@ -5,6 +5,7 @@ namespace Neos\Neos\Utility; use Neos\ContentRepository\Core\NodeType\NodeType; +use Neos\ContentRepository\Core\NodeType\NodeTypeManager; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\SharedModel\Exception\NodeTypeNotFound; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; @@ -13,10 +14,20 @@ /** * Utility trait for retrieving node types for nodes with a built-in fallback mechanism * + * This is only a temporary drop-in replacement as the automatic fallback handling + * of the NodeTypeManager was removed and Node::getNodeType was also removed. + * + * Its preferred to use the nullable {@see NodeTypeManager::getNodeType()} instead, and for cases where + * the Fallback NodeType is really required use {@see NodeTypeNameFactory::forFallback()}. + * * @property ContentRepositoryRegistry $contentRepositoryRegistry + * @deprecated to ease migration from Neos 8.3 */ trait NodeTypeWithFallbackProvider { + /** + * @deprecated to ease migration from Neos 8.3 + */ protected function getNodeType(Node $node): NodeType { $nodeTypeManager = $this->contentRepositoryRegistry->get($node->contentRepositoryId)->getNodeTypeManager(); From 11fce63a5ac5fc2126e417527d32c9bb7e96f1a7 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Tue, 2 Jul 2024 17:38:58 +0200 Subject: [PATCH 4/4] TASK: Remove outdated use statements --- .../src/Domain/Repository/NodeFactory.php | 1 - .../src/Domain/Repository/NodeFactory.php | 3 --- 2 files changed, 4 deletions(-) diff --git a/Neos.ContentGraph.DoctrineDbalAdapter/src/Domain/Repository/NodeFactory.php b/Neos.ContentGraph.DoctrineDbalAdapter/src/Domain/Repository/NodeFactory.php index 8215bc98c9e..02bf350f48a 100644 --- a/Neos.ContentGraph.DoctrineDbalAdapter/src/Domain/Repository/NodeFactory.php +++ b/Neos.ContentGraph.DoctrineDbalAdapter/src/Domain/Repository/NodeFactory.php @@ -20,7 +20,6 @@ use Neos\ContentRepository\Core\Feature\NodeModification\Dto\SerializedPropertyValues; use Neos\ContentRepository\Core\Feature\SubtreeTagging\Dto\SubtreeTags; use Neos\ContentRepository\Core\Infrastructure\Property\PropertyConverter; -use Neos\ContentRepository\Core\NodeType\NodeTypeManager; use Neos\ContentRepository\Core\NodeType\NodeTypeName; use Neos\ContentRepository\Core\Projection\ContentGraph\CoverageByOrigin; use Neos\ContentRepository\Core\Projection\ContentGraph\DimensionSpacePointsBySubtreeTags; diff --git a/Neos.ContentGraph.PostgreSQLAdapter/src/Domain/Repository/NodeFactory.php b/Neos.ContentGraph.PostgreSQLAdapter/src/Domain/Repository/NodeFactory.php index bcfe6584dab..df19bae4b34 100644 --- a/Neos.ContentGraph.PostgreSQLAdapter/src/Domain/Repository/NodeFactory.php +++ b/Neos.ContentGraph.PostgreSQLAdapter/src/Domain/Repository/NodeFactory.php @@ -20,9 +20,7 @@ use Neos\ContentRepository\Core\DimensionSpace\OriginDimensionSpacePointSet; use Neos\ContentRepository\Core\Feature\NodeModification\Dto\SerializedPropertyValues; use Neos\ContentRepository\Core\Infrastructure\Property\PropertyConverter; -use Neos\ContentRepository\Core\NodeType\NodeTypeManager; use Neos\ContentRepository\Core\NodeType\NodeTypeName; -use Neos\ContentRepository\Core\Projection\ContentGraph\ContentSubgraphIdentity; use Neos\ContentRepository\Core\Projection\ContentGraph\CoverageByOrigin; use Neos\ContentRepository\Core\Projection\ContentGraph\DimensionSpacePointsBySubtreeTags; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; @@ -37,7 +35,6 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Timestamps; 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\Node\NodeAggregateClassification; use Neos\ContentRepository\Core\SharedModel\Node\NodeAggregateId; use Neos\ContentRepository\Core\SharedModel\Node\NodeName;