/** * * @param \EBT\ExtensionBuilder\Domain\Model\DomainObject $currentDomainObject * * @return \EBT\ExtensionBuilder\Domain\Model\ClassObject\ClassObject|null */ public function getRepositoryClassFile(Model\DomainObject $currentDomainObject) { $extensionDir = $this->previousExtensionDirectory; if (isset($this->previousDomainObjects[$currentDomainObject->getUniqueIdentifier()])) { $oldDomainObject = $this->previousDomainObjects[$currentDomainObject->getUniqueIdentifier()]; $fileName = FileGenerator::getFolderForClassFile($extensionDir, 'Repository', false); $fileName .= $oldDomainObject->getName() . 'Repository.php'; if (file_exists($fileName)) { $this->classFileObject = $this->parserService->parseFile($fileName); $this->classObject = $this->classFileObject->getFirstClass(); $this->classObject->setName($currentDomainObject->getName() . 'Repository'); if ($oldDomainObject->getName() != $currentDomainObject->getName() || $this->extensionRenamed) { $newClassName = $currentDomainObject->getDomainRepositoryClassName(); $this->classObject->setName($newClassName); $this->cleanUp(FileGenerator::getFolderForClassFile($extensionDir, 'Repository'), $oldDomainObject->getName() . 'Repository.php'); } return $this->classFileObject; } else { GeneralUtility::devLog('class file didn\'t exist:' . $fileName, 'extension_builder', 2); } } else { $fileName = FileGenerator::getFolderForClassFile($extensionDir, 'Repository', false); $fileName .= $currentDomainObject->getName() . 'Repository.php'; if (file_exists($fileName)) { $this->classFileObject = $this->parserService->parseFile($fileName); $this->classObject = $this->classFileObject->getFirstClass(); $this->classObject->setFileName($fileName); $this->classObject->setFileName($fileName); $this->log('existing Repository class:' . $fileName, 0, (array) $this->classObject); return $this->classFileObject; } } $this->log('No existing Repository class:' . $currentDomainObject->getName(), 2); return null; }