1919
2020use EBT \ExtensionBuilder \Domain \Model \Extension ;
2121use EBT \ExtensionBuilder \Utility \SpycYAMLParser ;
22- use Psr \Http \Message \ResponseInterface ;
23- use Psr \Http \Message \ServerRequestInterface ;
24- use TYPO3 \CMS \Backend \Routing \Exception \RouteNotFoundException ;
25- use TYPO3 \CMS \Backend \Routing \UriBuilder ;
2622use TYPO3 \CMS \Core \Configuration \Exception \ExtensionConfigurationExtensionNotConfiguredException ;
2723use TYPO3 \CMS \Core \Configuration \Exception \ExtensionConfigurationPathDoesNotExistException ;
2824use TYPO3 \CMS \Core \Configuration \ExtensionConfiguration ;
2925use TYPO3 \CMS \Core \Core \Environment ;
30- use TYPO3 \CMS \Core \Http \JsonResponse ;
3126use TYPO3 \CMS \Core \SingletonInterface ;
3227use TYPO3 \CMS \Core \Utility \ExtensionManagementUtility ;
3328use TYPO3 \CMS \Core \Utility \GeneralUtility ;
@@ -54,12 +49,11 @@ class ExtensionBuilderConfigurationManager implements SingletonInterface
5449 const DEFAULT_TEMPLATE_ROOTPATH = 'EXT:extension_builder/Resources/Private/CodeTemplates/Extbase/ ' ;
5550 private array $ inputData = [];
5651
57- protected ConfigurationManagerInterface $ configurationManager ;
58-
59- public function injectConfigurationManager (ConfigurationManagerInterface $ configurationManager ): void
60- {
61- $ this ->configurationManager = $ configurationManager ;
62- }
52+ public function __construct (
53+ private readonly ConfigurationManagerInterface $ configurationManager ,
54+ private readonly ExtensionConfiguration $ extensionConfiguration ,
55+ private readonly DataMapper $ dataMapper ,
56+ ) {}
6357
6458 /**
6559 * Wrapper for file_get_contents('php://input')
@@ -133,7 +127,7 @@ public function getSettings(?array $typoscript = null): array
133127 */
134128 public function getExtensionBuilderSettings (): array
135129 {
136- return GeneralUtility:: makeInstance (ExtensionConfiguration::class) ->get ('extension_builder ' );
130+ return $ this -> extensionConfiguration ->get ('extension_builder ' );
137131 }
138132
139133 public function getExtensionSettings (string $ extensionKey , string $ extensionStoragePath ): array
@@ -182,7 +176,7 @@ public static function getExtensionBuilderJson(string $extensionKey, ?string $st
182176 */
183177 public function getPersistenceTable (string $ className ): string
184178 {
185- return GeneralUtility:: makeInstance (DataMapper::class) ->getDataMap ($ className )->getTableName ();
179+ return $ this -> dataMapper ->getDataMap ($ className )->getTableName ();
186180 }
187181
188182 /**
@@ -466,34 +460,4 @@ public function getParentClassForEntityObject(Extension $extension): string
466460 '\\TYPO3 \\CMS \\Extbase \\DomainObject \\AbstractEntity ' ;
467461 }
468462
469- /**
470- * Ajax callback that reads the smd file and modiefies the target URL to include
471- * the module token.
472- *
473- * @param ServerRequestInterface $request
474- * @return JsonResponse
475- * @throws RouteNotFoundException
476- */
477- public function getWiringEditorSmd (ServerRequestInterface $ request ): JsonResponse
478- {
479- $ smdJsonString = file_get_contents (
480- ExtensionManagementUtility::extPath ('extension_builder ' ) . 'Resources/Public/jsDomainModeling/phpBackend/WiringEditor.smd '
481- );
482- $ smdJson = json_decode ($ smdJsonString );
483- $ parameters = [
484- 'tx_extensionbuilder_tools_extensionbuilderextensionbuilder ' => [
485- 'controller ' => 'BuilderModule ' ,
486- 'action ' => 'dispatchRpc ' ,
487- ]
488- ];
489- $ uriBuilder = GeneralUtility::makeInstance (UriBuilder::class);
490- try {
491- $ uri = $ uriBuilder ->buildUriFromRoute ('tools_ExtensionBuilderExtensionbuilder ' , $ parameters );
492- } catch (RouteNotFoundException $ e ) {
493- $ uri = $ uriBuilder ->buildUriFromRoutePath ('tools_ExtensionBuilderExtensionbuilder ' , $ parameters );
494- }
495- $ smdJson ->target = (string )$ uri ;
496-
497- return (new JsonResponse ())->setPayload ((array )$ smdJson );
498- }
499463}
0 commit comments