function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( 'ImporterServiceFactory', '\SMW\Services\ImporterServiceFactory' ); return new ImporterServiceFactory( $containerBuilder ); }, /** * XmlContentCreator * * @return callable */ 'XmlContentCreator' => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( 'XmlContentCreator', '\SMW\Importer\ContentCreators\XmlContentCreator' ); return new XmlContentCreator( $containerBuilder->create( 'ImporterServiceFactory' ) ); }, /** * TextContentCreator * * @return callable */ 'TextContentCreator' => function( $containerBuilder ) { $containerBuilder->registerExpectedReturnType( 'TextContentCreator', '\SMW\Importer\ContentCreators\TextContentCreator' ); $connectionManager = $containerBuilder->singleton( 'ConnectionManager' ); $textContentCreator = new TextContentCreator( $containerBuilder->create( 'PageCreator' ), $connectionManager->getConnection( 'mw.db' ) ); return $textContentCreator; }, /** * Importer * * @return callable */ 'Importer' => function( $containerBuilder, ContentIterator $contentIterator ) { $containerBuilder->registerExpectedReturnType( 'Importer', '\SMW\Importer\Importer' ); $dispatchingContentCreator = new DispatchingContentCreator( [ $containerBuilder->create( 'XmlContentCreator' ), $containerBuilder->create( 'TextContentCreator' ) ] ); $importer = new Importer( $contentIterator, $dispatchingContentCreator ); $importer->setReqVersion( $containerBuilder->singleton( 'Settings' )->get( 'smwgImportReqVersion' ) ); return $importer; }, /** * JsonContentIterator * * @return callable */ 'JsonContentIterator' => function( $containerBuilder, $importFileDirs ) { $containerBuilder->registerExpectedReturnType( 'JsonContentIterator', '\SMW\Importer\JsonContentIterator' ); $jsonImportContentsFileDirReader = new JsonImportContentsFileDirReader( new ContentModeller(), $importFileDirs ); return new JsonContentIterator( $jsonImportContentsFileDirReader ); }, ];