/** * Creates and persists a node from the given $nodeTemplate as child node * * @param \TYPO3\TYPO3CR\Domain\Model\NodeTemplate $nodeTemplate * @param string $nodeName name of the new node. If not specified the name of the nodeTemplate will be used. * @param \TYPO3\TYPO3CR\Domain\Model\Workspace $workspace * @param array $dimensions * @return \TYPO3\TYPO3CR\Domain\Model\NodeData the freshly generated node */ public function createNodeDataFromTemplate(NodeTemplate $nodeTemplate, $nodeName = NULL, Workspace $workspace = NULL, array $dimensions = NULL) { $newNodeName = $nodeName !== NULL ? $nodeName : $nodeTemplate->getName(); $possibleNodeName = $newNodeName; $counter = 1; while ($this->getNode($possibleNodeName) !== NULL) { $possibleNodeName = $newNodeName . '-' . $counter++; } $newNodeData = $this->createNodeData($possibleNodeName, $nodeTemplate->getNodeType(), $nodeTemplate->getIdentifier(), $workspace, $dimensions); $newNodeData->similarize($nodeTemplate); return $newNodeData; }
/** * Creates and persists a node from the given $nodeTemplate as child node * * @param \TYPO3\TYPO3CR\Domain\Model\NodeTemplate $nodeTemplate * @param string $nodeName name of the new node. If not specified the name of the nodeTemplate will be used. * @param \TYPO3\TYPO3CR\Domain\Model\Workspace $workspace * @param array $dimensions * @return \TYPO3\TYPO3CR\Domain\Model\NodeData the freshly generated node */ public function createNodeDataFromTemplate(NodeTemplate $nodeTemplate, $nodeName = null, Workspace $workspace = null, array $dimensions = null) { $newNodeName = $nodeName !== null ? $nodeName : $nodeTemplate->getName(); $possibleNodeName = $this->nodeService->generateUniqueNodeName($this->getPath(), $newNodeName); $newNodeData = $this->createNodeData($possibleNodeName, $nodeTemplate->getNodeType(), $nodeTemplate->getIdentifier(), $workspace, $dimensions); $newNodeData->similarize($nodeTemplate); return $newNodeData; }
/** * @test */ public function setNameWithValidNameUpdatesName() { $nodeTemplate = new NodeTemplate(); $nodeTemplate->setName('valid-node-name'); $this->assertEquals('valid-node-name', $nodeTemplate->getName()); }