1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
<?php
namespace SMW\Services;
use SMW\Importer\ContentCreators\DispatchingContentCreator;
use SMW\Importer\ContentCreators\TextContentCreator;
use SMW\Importer\ContentCreators\XmlContentCreator;
use SMW\Importer\ContentIterator;
use SMW\Importer\ContentModeller;
use SMW\Importer\Importer;
use SMW\Importer\JsonContentIterator;
use SMW\Importer\JsonImportContentsFileDirReader;
/**
* @codeCoverageIgnore
*
* Services defined in this file SHOULD only be accessed either via the
* ApplicationFactory or a different factory instance.
*
* @license GNU GPL v2
* @since 2.5
*
* @author mwjames
*/
return [
/**
* ImporterServiceFactory
*
* @return callable
*/
'ImporterServiceFactory' => 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 );
},
];
|