Skip to content

Commit e3be0c7

Browse files
committed
TASK: Adjust for Neos 9 ... should work now
1 parent 38bce59 commit e3be0c7

5 files changed

Lines changed: 25 additions & 27 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
php-versions: ["8.2", "8.3"]
19-
neos-versions: ["8.3"]
19+
neos-versions: ["9.0"]
2020

2121
runs-on: ubuntu-latest
2222

Classes/Command/NodetypeObjectsCommandController.php

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,33 @@
44

55
namespace PackageFactory\NodeTypeObjects\Command;
66

7-
use Neos\ContentRepository\Domain\Model\NodeType;
8-
use Neos\ContentRepository\Domain\Service\NodeTypeManager;
7+
use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId;
8+
use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry;
99
use Neos\Flow\Cli\CommandController;
10-
use Neos\Flow\Core\Bootstrap;
1110
use Neos\Flow\Package\FlowPackageInterface;
1211
use Neos\Flow\Package\PackageManager;
1312
use Neos\Utility\Files;
14-
use Neos\Utility\Unicode\Functions as UnicodeFunctions;
1513
use PackageFactory\NodeTypeObjects\Factory\NodeTypeObjectFileFactory;
1614
use PackageFactory\NodeTypeObjects\Factory\NodeTypeSpecificationFactory;
1715

1816
class NodetypeObjectsCommandController extends CommandController
1917
{
20-
private NodeTypeManager $nodeTypeManager;
2118
private PackageManager $packageManager;
2219
private NodeTypeSpecificationFactory $nodeTypeSpecificationFactory;
2320
private NodeTypeObjectFileFactory $nodeTypeObjectFileFactory;
21+
private ContentRepositoryRegistry $contentRepositoryRegistry;
2422

25-
26-
27-
public function injectNodeTypeManager(NodeTypeManager $nodeTypeManager): void
23+
public function injectPackageManager(PackageManager $packageManager): void
2824
{
29-
$this->nodeTypeManager = $nodeTypeManager;
25+
$this->packageManager = $packageManager;
3026
}
3127

32-
public function injectPackageManager(PackageManager $packageManager): void
28+
public function injectContentRepositoryRegistry(ContentRepositoryRegistry $contentRepositoryRegistry): void
3329
{
34-
$this->packageManager = $packageManager;
30+
$this->contentRepositoryRegistry = $contentRepositoryRegistry;
3531
}
3632

33+
3734
public function injectNodeTypeSpecificationFactory(NodeTypeSpecificationFactory $nodeTypeSpecificationFactory): void
3835
{
3936
$this->nodeTypeSpecificationFactory = $nodeTypeSpecificationFactory;
@@ -80,7 +77,7 @@ public function cleanCommand(string $packageKey): void
8077
*
8178
* @param string $packageKey PackageKey
8279
*/
83-
public function buildCommand(string $packageKey): void
80+
public function buildCommand(string $packageKey, string $crId = 'default'): void
8481
{
8582
if ($this->packageManager->isPackageAvailable($packageKey)) {
8683
$package = $this->packageManager->getPackage($packageKey);
@@ -92,10 +89,11 @@ public function buildCommand(string $packageKey): void
9289
$this->output->outputLine($packageKey . " is not a Flow package");
9390
$this->quit(1);
9491
}
95-
96-
$nodeTypes = $this->nodeTypeManager->getNodeTypes(false);
92+
$contentRepository = $this->contentRepositoryRegistry->get(ContentRepositoryId::fromString($crId));
93+
$nodeTypeManager = $contentRepository->getNodeTypeManager();
94+
$nodeTypes = $nodeTypeManager->getNodeTypes(false);
9795
foreach ($nodeTypes as $nodeType) {
98-
if (!str_starts_with($nodeType->getName(), $packageKey . ':')) {
96+
if (!str_starts_with($nodeType->name->value, $packageKey . ':')) {
9997
continue;
10098
}
10199

Classes/Factory/NodeTypeObjectFileFactory.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public function $methodName(): ?$phpType
8484
8585
namespace $namespace;
8686
87-
use Neos\ContentRepository\Domain\Model\NodeInterface;
87+
use Neos\ContentRepository\Core\Projection\ContentGraph\Node;
8888
use Neos\Flow\Annotations as Flow;
8989
9090
/**
@@ -96,14 +96,14 @@ public function $methodName(): ?$phpType
9696
final readonly class $shortName
9797
{
9898
private function __construct(
99-
public NodeInterface \$node
99+
public Node \$node
100100
) {
101101
}
102102
103-
public static function fromNode(NodeInterface \$node): self
103+
public static function fromNode(Node \$node): self
104104
{
105-
if (\$node->getNodeType()->getName() !== "$nodeTypeName") {
106-
throw new \Exception("unsupported nodetype " . \$node->getNodeType()->getName());
105+
if (\$node->nodeTypeName->value !== "$nodeTypeName") {
106+
throw new \Exception("unsupported nodetype " . \$node->nodeTypeName->value);
107107
}
108108
return new self(\$node);
109109
}$propertyAccessors

Classes/Factory/NodeTypeSpecificationFactory.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace PackageFactory\NodeTypeObjects\Factory;
66

7-
use Neos\ContentRepository\Domain\Model\NodeType;
7+
use Neos\ContentRepository\Core\NodeType\NodeType;
88
use Neos\Flow\Package\FlowPackageInterface;
99
use PackageFactory\NodeTypeObjects\Domain\NodePropertySpecification;
1010
use PackageFactory\NodeTypeObjects\Domain\NodePropertySpecificationCollection;
@@ -16,10 +16,10 @@ public function createFromPackageKeyAndNodeType(
1616
FlowPackageInterface $package,
1717
NodeType $nodeType
1818
): NodeTypeObjectSpecification {
19-
if (!str_starts_with($nodeType->getName(), $package->getPackageKey() . ':')) {
19+
if (!str_starts_with($nodeType->name->value, $package->getPackageKey() . ':')) {
2020
throw new \Exception("Only nodetypes from the given package are allowed");
2121
}
22-
$localNameParts = explode('.', str_replace($package->getPackageKey() . ':', '', $nodeType->getName()));
22+
$localNameParts = explode('.', str_replace($package->getPackageKey() . ':', '', $nodeType->name->value));
2323
$localName = array_pop($localNameParts);
2424
$localNamespace = implode('.', $localNameParts);
2525

@@ -38,15 +38,15 @@ public function createFromPackageKeyAndNodeType(
3838
* @var NodePropertySpecification[] $propertySpecifications
3939
*/
4040
$propertySpecifications = [];
41-
foreach ($nodeType->getProperties() as $propertyName => $propertyConfiguratiuon) {
41+
foreach ($nodeType->getProperties() as $propertyName => $propertyConfiguration) {
4242
$propertySpecifications[] = new NodePropertySpecification(
4343
$propertyName,
4444
$nodeType->getPropertyType($propertyName)
4545
);
4646
}
4747

4848
return new NodeTypeObjectSpecification(
49-
$nodeType->getName(),
49+
$nodeType->name->value,
5050
$className,
5151
$fileName,
5252
new NodePropertySpecificationCollection(...$propertySpecifications)

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"name": "packagefactory/nodetypeobjects",
55
"license": "LGPL-3.0",
66
"require": {
7-
"neos/neos": "~8.3",
7+
"neos/neos": "~9.0",
88
"php": ">=8.2"
99
},
1010
"autoload": {

0 commit comments

Comments
 (0)