@@ -20,7 +20,7 @@ discard block |
||
20 | 20 | * @return DumpMetaInformation[] |
21 | 21 | * @throws \InvalidArgumentException |
22 | 22 | */ |
23 | - public function getWithIds( array $dumpIds ); |
|
23 | + public function getWithIds(array $dumpIds); |
|
24 | 24 | |
25 | 25 | /** |
26 | 26 | * Gets DumpMetaInformation for specific identifier properties from database |
@@ -30,7 +30,7 @@ discard block |
||
30 | 30 | * |
31 | 31 | * @return DumpMetaInformation[] |
32 | 32 | */ |
33 | - public function getWithIdentifierProperties( array $identifierPropertyIds ); |
|
33 | + public function getWithIdentifierProperties(array $identifierPropertyIds); |
|
34 | 34 | |
35 | 35 | /** |
36 | 36 | * Gets all DumpMetaInformation from database |
@@ -65,7 +65,7 @@ discard block |
||
65 | 65 | * |
66 | 66 | * @return self |
67 | 67 | */ |
68 | - public static function newFromGlobalState( ApiMain $main, $name, $prefix = '' ) { |
|
68 | + public static function newFromGlobalState(ApiMain $main, $name, $prefix = '') { |
|
69 | 69 | $repo = WikibaseRepo::getDefaultInstance(); |
70 | 70 | $externalValidationServices = ExternalValidationServices::getDefaultInstance(); |
71 | 71 | |
@@ -77,7 +77,7 @@ discard block |
||
77 | 77 | $repo->getStatementGuidValidator(), |
78 | 78 | $externalValidationServices->getCrossCheckInteractor(), |
79 | 79 | $externalValidationServices->getSerializerFactory(), |
80 | - $repo->getApiHelperFactory( RequestContext::getMain() ) |
|
80 | + $repo->getApiHelperFactory(RequestContext::getMain()) |
|
81 | 81 | ); |
82 | 82 | } |
83 | 83 | |
@@ -91,17 +91,17 @@ discard block |
||
91 | 91 | * @param SerializerFactory $serializerFactory |
92 | 92 | * @param ApiHelperFactory $apiHelperFactory |
93 | 93 | */ |
94 | - public function __construct( ApiMain $main, $name, $prefix = '', EntityIdParser $entityIdParser, |
|
94 | + public function __construct(ApiMain $main, $name, $prefix = '', EntityIdParser $entityIdParser, |
|
95 | 95 | StatementGuidValidator $statementGuidValidator, CrossCheckInteractor $crossCheckInteractor, |
96 | - SerializerFactory $serializerFactory, ApiHelperFactory $apiHelperFactory ) { |
|
97 | - parent::__construct( $main, $name, $prefix ); |
|
96 | + SerializerFactory $serializerFactory, ApiHelperFactory $apiHelperFactory) { |
|
97 | + parent::__construct($main, $name, $prefix); |
|
98 | 98 | |
99 | 99 | $this->entityIdParser = $entityIdParser; |
100 | 100 | $this->statementGuidValidator = $statementGuidValidator; |
101 | 101 | $this->crossCheckInteractor = $crossCheckInteractor; |
102 | 102 | $this->serializerFactory = $serializerFactory; |
103 | - $this->resultBuilder = $apiHelperFactory->getResultBuilder( $this ); |
|
104 | - $this->errorReporter = $apiHelperFactory->getErrorReporter( $this ); |
|
103 | + $this->resultBuilder = $apiHelperFactory->getResultBuilder($this); |
|
104 | + $this->errorReporter = $apiHelperFactory->getErrorReporter($this); |
|
105 | 105 | } |
106 | 106 | |
107 | 107 | /** |
@@ -110,24 +110,24 @@ discard block |
||
110 | 110 | public function execute() { |
111 | 111 | $params = $this->extractRequestParams(); |
112 | 112 | |
113 | - if ( $params['entities'] && $params['claims'] ) { |
|
113 | + if ($params['entities'] && $params['claims']) { |
|
114 | 114 | $this->errorReporter->dieError( |
115 | 115 | 'Either provide the ids of entities or ids of claims, that should be cross-checked.', |
116 | 116 | 'param-invalid' |
117 | 117 | ); |
118 | 118 | throw new LogicException(); |
119 | - } elseif ( $params['entities'] ) { |
|
120 | - $entityIds = $this->parseEntityIds( $params['entities'] ); |
|
121 | - if ( $params['properties'] ) { |
|
122 | - $propertyIds = $this->parseEntityIds( $params['properties'] ); |
|
123 | - $resultLists = $this->crossCheckInteractor->crossCheckEntitiesByIdWithProperties( $entityIds, $propertyIds ); |
|
119 | + } elseif ($params['entities']) { |
|
120 | + $entityIds = $this->parseEntityIds($params['entities']); |
|
121 | + if ($params['properties']) { |
|
122 | + $propertyIds = $this->parseEntityIds($params['properties']); |
|
123 | + $resultLists = $this->crossCheckInteractor->crossCheckEntitiesByIdWithProperties($entityIds, $propertyIds); |
|
124 | 124 | } else { |
125 | - $resultLists = $this->crossCheckInteractor->crossCheckEntitiesByIds( $entityIds ); |
|
125 | + $resultLists = $this->crossCheckInteractor->crossCheckEntitiesByIds($entityIds); |
|
126 | 126 | } |
127 | - } elseif ( $params['claims'] ) { |
|
127 | + } elseif ($params['claims']) { |
|
128 | 128 | $guids = $params['claims']; |
129 | - $this->assertAreValidClaimGuids( $guids ); |
|
130 | - $resultLists = $this->crossCheckInteractor->crossCheckStatementsByGuids( $guids ); |
|
129 | + $this->assertAreValidClaimGuids($guids); |
|
130 | + $resultLists = $this->crossCheckInteractor->crossCheckStatementsByGuids($guids); |
|
131 | 131 | } else { |
132 | 132 | $this->errorReporter->dieError( |
133 | 133 | 'Either provide the ids of entities or ids of claims, that should be cross-checked.', |
@@ -137,7 +137,7 @@ discard block |
||
137 | 137 | } |
138 | 138 | |
139 | 139 | // Print result lists |
140 | - $this->writeResultOutput( $resultLists ); |
|
140 | + $this->writeResultOutput($resultLists); |
|
141 | 141 | } |
142 | 142 | |
143 | 143 | /** |
@@ -145,9 +145,9 @@ discard block |
||
145 | 145 | * |
146 | 146 | * @return EntityId[] |
147 | 147 | */ |
148 | - private function parseEntityIds( array $entityIds ) { |
|
148 | + private function parseEntityIds(array $entityIds) { |
|
149 | 149 | return array_map( |
150 | - array( $this->entityIdParser, 'parse' ), |
|
150 | + array($this->entityIdParser, 'parse'), |
|
151 | 151 | $entityIds |
152 | 152 | ); |
153 | 153 | } |
@@ -155,10 +155,10 @@ discard block |
||
155 | 155 | /** |
156 | 156 | * @param string[] $guids |
157 | 157 | */ |
158 | - private function assertAreValidClaimGuids( array $guids ) { |
|
159 | - foreach ( $guids as $guid ) { |
|
160 | - if ( $this->statementGuidValidator->validateFormat( $guid ) === false ) { |
|
161 | - $this->errorReporter->dieError( 'Invalid claim guid.', 'invalid-guid' ); |
|
158 | + private function assertAreValidClaimGuids(array $guids) { |
|
159 | + foreach ($guids as $guid) { |
|
160 | + if ($this->statementGuidValidator->validateFormat($guid) === false) { |
|
161 | + $this->errorReporter->dieError('Invalid claim guid.', 'invalid-guid'); |
|
162 | 162 | } |
163 | 163 | } |
164 | 164 | } |
@@ -170,13 +170,13 @@ discard block |
||
170 | 170 | * |
171 | 171 | * @return array |
172 | 172 | */ |
173 | - private function writeResultOutput( array $resultLists ) { |
|
173 | + private function writeResultOutput(array $resultLists) { |
|
174 | 174 | $serializer = $this->serializerFactory->newCrossCheckResultListSerializer(); |
175 | 175 | |
176 | 176 | $output = array(); |
177 | - foreach ( $resultLists as $entityId => $resultList ) { |
|
178 | - if ( $resultList ) { |
|
179 | - $serializedResultList = $serializer->serialize( $resultList ); |
|
177 | + foreach ($resultLists as $entityId => $resultList) { |
|
178 | + if ($resultList) { |
|
179 | + $serializedResultList = $serializer->serialize($resultList); |
|
180 | 180 | |
181 | 181 | $output[$entityId] = $serializedResultList; |
182 | 182 | } else { |
@@ -186,10 +186,10 @@ discard block |
||
186 | 186 | } |
187 | 187 | } |
188 | 188 | |
189 | - $this->getResult()->setIndexedTagName( $output, 'entity' ); |
|
190 | - $this->getResult()->setArrayType( $output, 'kvp', 'id' ); |
|
191 | - $this->getResult()->addValue( null, 'results', $output ); |
|
192 | - $this->resultBuilder->markSuccess( 1 ); |
|
189 | + $this->getResult()->setIndexedTagName($output, 'entity'); |
|
190 | + $this->getResult()->setArrayType($output, 'kvp', 'id'); |
|
191 | + $this->getResult()->addValue(null, 'results', $output); |
|
192 | + $this->resultBuilder->markSuccess(1); |
|
193 | 193 | } |
194 | 194 | |
195 | 195 | /** |
@@ -51,7 +51,7 @@ discard block |
||
51 | 51 | * |
52 | 52 | * @return bool |
53 | 53 | */ |
54 | - public function isSerializerFor( $object ) { |
|
54 | + public function isSerializerFor($object) { |
|
55 | 55 | return $object instanceof CrossCheckResult; |
56 | 56 | } |
57 | 57 | |
@@ -63,25 +63,25 @@ discard block |
||
63 | 63 | * @return array |
64 | 64 | * @throws UnsupportedObjectException |
65 | 65 | */ |
66 | - public function serialize( $object ) { |
|
67 | - if ( !$this->isSerializerFor( $object ) ) { |
|
66 | + public function serialize($object) { |
|
67 | + if (!$this->isSerializerFor($object)) { |
|
68 | 68 | throw new UnsupportedObjectException( |
69 | 69 | $object, |
70 | 70 | 'CrossCheckResultSerializer can only serialize CrossCheckResult objects.' |
71 | 71 | ); |
72 | 72 | } |
73 | 73 | |
74 | - return $this->getSerialized( $object ); |
|
74 | + return $this->getSerialized($object); |
|
75 | 75 | } |
76 | 76 | |
77 | - private function getSerialized( CrossCheckResult $crossCheckResult ) { |
|
77 | + private function getSerialized(CrossCheckResult $crossCheckResult) { |
|
78 | 78 | return array( |
79 | 79 | 'propertyId' => $crossCheckResult->getPropertyId()->getSerialization(), |
80 | 80 | 'claimGuid' => $crossCheckResult->getClaimGuid(), |
81 | 81 | 'externalId' => $crossCheckResult->getExternalId(), |
82 | - 'dataSource' => $this->dumpMetaInformationSerializer->serialize( $crossCheckResult->getDumpMetaInformation() ), |
|
83 | - 'comparisonResult' => $this->comparisonResultSerializer->serialize( $crossCheckResult->getComparisonResult() ), |
|
84 | - 'referenceResult' => $this->referenceResultSerializer->serialize( $crossCheckResult->getReferenceResult() ) |
|
82 | + 'dataSource' => $this->dumpMetaInformationSerializer->serialize($crossCheckResult->getDumpMetaInformation()), |
|
83 | + 'comparisonResult' => $this->comparisonResultSerializer->serialize($crossCheckResult->getComparisonResult()), |
|
84 | + 'referenceResult' => $this->referenceResultSerializer->serialize($crossCheckResult->getReferenceResult()) |
|
85 | 85 | ); |
86 | 86 | } |
87 | 87 |
@@ -7,10 +7,10 @@ discard block |
||
7 | 7 | use WikibaseQuality\ExternalValidation\UpdateExternalData\CsvImportSettings; |
8 | 8 | use WikibaseQuality\ExternalValidation\UpdateExternalData\ExternalDataImporter; |
9 | 9 | |
10 | -$basePath = getenv( 'MW_INSTALL_PATH' ) !== false |
|
11 | - ? getenv( 'MW_INSTALL_PATH' ) |
|
12 | - : __DIR__ . '/../../..'; |
|
13 | -require_once $basePath . '/maintenance/Maintenance.php'; |
|
10 | +$basePath = getenv('MW_INSTALL_PATH') !== false |
|
11 | + ? getenv('MW_INSTALL_PATH') |
|
12 | + : __DIR__.'/../../..'; |
|
13 | +require_once $basePath.'/maintenance/Maintenance.php'; |
|
14 | 14 | |
15 | 15 | /** |
16 | 16 | * Maintenance script that evokes updates of wbqev_external_data, wbqev_dump_information, wbqev_identifier_properties |
@@ -25,17 +25,17 @@ discard block |
||
25 | 25 | public function __construct() { |
26 | 26 | parent::__construct(); |
27 | 27 | |
28 | - $this->addDescription( 'Imports external entities from given CSV files into the local ' |
|
29 | - . 'database. CSV files can be generated using the DumpConverter.' ); |
|
30 | - $this->addOption( 'external-values-file', 'CSV file containing external values for import.', true, true ); |
|
31 | - $this->addOption( 'dump-information-file', 'CSV file containing dump meta information for import.', true, true ); |
|
32 | - $this->setBatchSize( 1000 ); |
|
28 | + $this->addDescription('Imports external entities from given CSV files into the local ' |
|
29 | + . 'database. CSV files can be generated using the DumpConverter.'); |
|
30 | + $this->addOption('external-values-file', 'CSV file containing external values for import.', true, true); |
|
31 | + $this->addOption('dump-information-file', 'CSV file containing dump meta information for import.', true, true); |
|
32 | + $this->setBatchSize(1000); |
|
33 | 33 | } |
34 | 34 | |
35 | 35 | public function execute() { |
36 | 36 | $context = new CsvImportSettings( |
37 | - $this->getOption( 'external-values-file' ), |
|
38 | - $this->getOption( 'dump-information-file' ), |
|
37 | + $this->getOption('external-values-file'), |
|
38 | + $this->getOption('dump-information-file'), |
|
39 | 39 | $this->mBatchSize, |
40 | 40 | $this->isQuiet() |
41 | 41 | ); |
@@ -23,9 +23,9 @@ discard block |
||
23 | 23 | * @throws InvalidArgumentException |
24 | 24 | * @return string One of the ComparisonResult::STATUS_... constants. |
25 | 25 | */ |
26 | - public function compare( DataValue $value, DataValue $comparativeValue ) { |
|
27 | - if ( !$this->canCompare( $value, $comparativeValue ) ) { |
|
28 | - throw new InvalidArgumentException( 'Given values can not be compared using this comparer.' ); |
|
26 | + public function compare(DataValue $value, DataValue $comparativeValue) { |
|
27 | + if (!$this->canCompare($value, $comparativeValue)) { |
|
28 | + throw new InvalidArgumentException('Given values can not be compared using this comparer.'); |
|
29 | 29 | } |
30 | 30 | |
31 | 31 | /** |
@@ -33,8 +33,8 @@ discard block |
||
33 | 33 | * @var QuantityValue $comparativeValue |
34 | 34 | */ |
35 | 35 | |
36 | - if ( $comparativeValue->getLowerBound()->compare( $value->getUpperBound() ) <= 0 && |
|
37 | - $comparativeValue->getUpperBound()->compare( $value->getLowerBound() ) >= 0 |
|
36 | + if ($comparativeValue->getLowerBound()->compare($value->getUpperBound()) <= 0 && |
|
37 | + $comparativeValue->getUpperBound()->compare($value->getLowerBound()) >= 0 |
|
38 | 38 | ) { |
39 | 39 | return ComparisonResult::STATUS_MATCH; |
40 | 40 | } |
@@ -50,7 +50,7 @@ discard block |
||
50 | 50 | * |
51 | 51 | * @return bool |
52 | 52 | */ |
53 | - public function canCompare( DataValue $value, DataValue $comparativeValue ) { |
|
53 | + public function canCompare(DataValue $value, DataValue $comparativeValue) { |
|
54 | 54 | return $value instanceof QuantityValue && $comparativeValue instanceof QuantityValue; |
55 | 55 | } |
56 | 56 |
@@ -1,10 +1,10 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if ( is_readable( __DIR__ . '/vendor/autoload.php' ) ) { |
|
4 | - require_once __DIR__ . '/vendor/autoload.php'; |
|
3 | +if (is_readable(__DIR__.'/vendor/autoload.php')) { |
|
4 | + require_once __DIR__.'/vendor/autoload.php'; |
|
5 | 5 | } |
6 | 6 | |
7 | -call_user_func( function () { |
|
7 | +call_user_func(function() { |
|
8 | 8 | // Set credits |
9 | 9 | $GLOBALS['wgExtensionCredits']['wikibase'][] = array( |
10 | 10 | 'path' => __FILE__, |
@@ -17,8 +17,8 @@ discard block |
||
17 | 17 | ); |
18 | 18 | |
19 | 19 | // Initialize localization and aliases |
20 | - $GLOBALS['wgMessagesDirs']['WikibaseQualityExternalValidation'] = __DIR__ . '/i18n'; |
|
21 | - $GLOBALS['wgExtensionMessagesFiles']['WikibaseQualityExternalValidationAlias'] = __DIR__ . '/WikibaseQualityExternalValidation.alias.php'; |
|
20 | + $GLOBALS['wgMessagesDirs']['WikibaseQualityExternalValidation'] = __DIR__.'/i18n'; |
|
21 | + $GLOBALS['wgExtensionMessagesFiles']['WikibaseQualityExternalValidationAlias'] = __DIR__.'/WikibaseQualityExternalValidation.alias.php'; |
|
22 | 22 | |
23 | 23 | // Initalize hooks for creating database tables |
24 | 24 | $GLOBALS['wgHooks']['LoadExtensionSchemaUpdates'][] = |
@@ -37,8 +37,8 @@ discard block |
||
37 | 37 | // Define API modules |
38 | 38 | $GLOBALS['wgAPIModules']['wbqevcrosscheck'] = array( |
39 | 39 | 'class' => 'WikibaseQuality\ExternalValidation\Api\RunCrossCheck', |
40 | - 'factory' => function( ApiMain $main, $action ) { |
|
41 | - return \WikibaseQuality\ExternalValidation\Api\RunCrossCheck::newFromGlobalState( $main, $action ); |
|
40 | + 'factory' => function(ApiMain $main, $action) { |
|
41 | + return \WikibaseQuality\ExternalValidation\Api\RunCrossCheck::newFromGlobalState($main, $action); |
|
42 | 42 | } |
43 | 43 | ); |
44 | 44 |
@@ -29,18 +29,18 @@ discard block |
||
29 | 29 | * @return DumpMetaInformation[] |
30 | 30 | * @throws InvalidArgumentException |
31 | 31 | */ |
32 | - public function getWithIds( array $dumpIds ) { |
|
33 | - if ( $dumpIds === [] ) { |
|
32 | + public function getWithIds(array $dumpIds) { |
|
33 | + if ($dumpIds === []) { |
|
34 | 34 | return []; |
35 | 35 | } |
36 | 36 | |
37 | - foreach ( $dumpIds as $dumpId ) { |
|
38 | - if ( !is_string( $dumpId ) ) { |
|
39 | - throw new InvalidArgumentException( '$dumpIds must contain only strings.' ); |
|
37 | + foreach ($dumpIds as $dumpId) { |
|
38 | + if (!is_string($dumpId)) { |
|
39 | + throw new InvalidArgumentException('$dumpIds must contain only strings.'); |
|
40 | 40 | } |
41 | 41 | } |
42 | 42 | |
43 | - $db = wfGetDB( DB_REPLICA ); |
|
43 | + $db = wfGetDB(DB_REPLICA); |
|
44 | 44 | $result = $db->select( |
45 | 45 | array( |
46 | 46 | self::META_TABLE_NAME, |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | ) |
61 | 61 | ); |
62 | 62 | |
63 | - return $this->buildDumpMetaInformationFromResult( $result ); |
|
63 | + return $this->buildDumpMetaInformationFromResult($result); |
|
64 | 64 | } |
65 | 65 | |
66 | 66 | /** |
@@ -72,20 +72,20 @@ discard block |
||
72 | 72 | * @throws InvalidArgumentException |
73 | 73 | * @return DumpMetaInformation[] |
74 | 74 | */ |
75 | - public function getWithIdentifierProperties( array $identifierPropertyIds ) { |
|
76 | - if ( $identifierPropertyIds === [] ) { |
|
75 | + public function getWithIdentifierProperties(array $identifierPropertyIds) { |
|
76 | + if ($identifierPropertyIds === []) { |
|
77 | 77 | return []; |
78 | 78 | } |
79 | 79 | |
80 | - foreach ( $identifierPropertyIds as $propertyId ) { |
|
81 | - if ( !( $propertyId instanceof PropertyId ) ) { |
|
82 | - throw new InvalidArgumentException( '$identifierProperties must contain only PropertyIds.' ); |
|
80 | + foreach ($identifierPropertyIds as $propertyId) { |
|
81 | + if (!($propertyId instanceof PropertyId)) { |
|
82 | + throw new InvalidArgumentException('$identifierProperties must contain only PropertyIds.'); |
|
83 | 83 | } |
84 | 84 | } |
85 | 85 | |
86 | - $db = wfGetDB( DB_REPLICA ); |
|
86 | + $db = wfGetDB(DB_REPLICA); |
|
87 | 87 | $identifierPropertyIds = array_map( |
88 | - function( PropertyId $id ) { |
|
88 | + function(PropertyId $id) { |
|
89 | 89 | return $id->getSerialization(); |
90 | 90 | }, |
91 | 91 | $identifierPropertyIds |
@@ -98,13 +98,13 @@ discard block |
||
98 | 98 | ) |
99 | 99 | ); |
100 | 100 | $dumpIds = array(); |
101 | - foreach ( $result as $row ) { |
|
102 | - if ( !in_array( $row->dump_id, $dumpIds ) ) { |
|
101 | + foreach ($result as $row) { |
|
102 | + if (!in_array($row->dump_id, $dumpIds)) { |
|
103 | 103 | $dumpIds[] = $row->dump_id; |
104 | 104 | } |
105 | 105 | } |
106 | 106 | |
107 | - return $this->getWithIds( $dumpIds ); |
|
107 | + return $this->getWithIds($dumpIds); |
|
108 | 108 | } |
109 | 109 | |
110 | 110 | /** |
@@ -114,7 +114,7 @@ discard block |
||
114 | 114 | * @return DumpMetaInformation[] |
115 | 115 | */ |
116 | 116 | public function getAll() { |
117 | - $db = wfGetDB( DB_REPLICA ); |
|
117 | + $db = wfGetDB(DB_REPLICA); |
|
118 | 118 | $result = $db->select( |
119 | 119 | array( |
120 | 120 | self::META_TABLE_NAME, |
@@ -132,7 +132,7 @@ discard block |
||
132 | 132 | ) |
133 | 133 | ); |
134 | 134 | |
135 | - return $this->buildDumpMetaInformationFromResult( $result ); |
|
135 | + return $this->buildDumpMetaInformationFromResult($result); |
|
136 | 136 | } |
137 | 137 | |
138 | 138 | /** |
@@ -140,34 +140,34 @@ discard block |
||
140 | 140 | * @return null|array |
141 | 141 | * @throws UnexpectedValueException |
142 | 142 | */ |
143 | - private function buildDumpMetaInformationFromResult( ResultWrapper $result ) { |
|
143 | + private function buildDumpMetaInformationFromResult(ResultWrapper $result) { |
|
144 | 144 | $aggregatedRows = array(); |
145 | - foreach ( $result as $row ) { |
|
146 | - if ( array_key_exists( $row->id, $aggregatedRows ) ) { |
|
147 | - $propertyId = new PropertyId( $row->identifier_pid ); |
|
145 | + foreach ($result as $row) { |
|
146 | + if (array_key_exists($row->id, $aggregatedRows)) { |
|
147 | + $propertyId = new PropertyId($row->identifier_pid); |
|
148 | 148 | $aggregatedRows[$row->id]->identifier_pid[] = $propertyId; |
149 | 149 | } else { |
150 | - if ( $row->identifier_pid !== null ) { |
|
151 | - $propertyId = new PropertyId( $row->identifier_pid ); |
|
152 | - $row->identifier_pid = array( $propertyId ); |
|
150 | + if ($row->identifier_pid !== null) { |
|
151 | + $propertyId = new PropertyId($row->identifier_pid); |
|
152 | + $row->identifier_pid = array($propertyId); |
|
153 | 153 | } |
154 | 154 | $aggregatedRows[$row->id] = $row; |
155 | 155 | } |
156 | 156 | } |
157 | 157 | |
158 | 158 | $dumpMetaInformation = array(); |
159 | - foreach ( $aggregatedRows as $row ) { |
|
159 | + foreach ($aggregatedRows as $row) { |
|
160 | 160 | $dumpId = $row->id; |
161 | - $sourceItemId = new ItemId( $row->source_qid ); |
|
162 | - $importDate = wfTimestamp( TS_MW, $row->import_date ); |
|
161 | + $sourceItemId = new ItemId($row->source_qid); |
|
162 | + $importDate = wfTimestamp(TS_MW, $row->import_date); |
|
163 | 163 | $language = $row->language; |
164 | 164 | $sourceUrl = $row->source_url; |
165 | 165 | $size = (int)$row->size; |
166 | - $licenseItemId = new ItemId( $row->license_qid ); |
|
166 | + $licenseItemId = new ItemId($row->license_qid); |
|
167 | 167 | $identifierPropertyIds = $row->identifier_pid; |
168 | 168 | |
169 | 169 | $dumpMetaInformation[$row->dump_id] = |
170 | - new DumpMetaInformation( $dumpId, |
|
170 | + new DumpMetaInformation($dumpId, |
|
171 | 171 | $sourceItemId, |
172 | 172 | $identifierPropertyIds, |
173 | 173 | $importDate, |
@@ -186,22 +186,22 @@ discard block |
||
186 | 186 | * |
187 | 187 | * @param DumpMetaInformation $dumpMetaInformation |
188 | 188 | */ |
189 | - public function save( DumpMetaInformation $dumpMetaInformation ) { |
|
190 | - $db = wfGetDB( DB_REPLICA ); |
|
189 | + public function save(DumpMetaInformation $dumpMetaInformation) { |
|
190 | + $db = wfGetDB(DB_REPLICA); |
|
191 | 191 | $dumpId = $dumpMetaInformation->getDumpId(); |
192 | - $accumulator = $this->getDumpInformationFields( $db, $dumpMetaInformation ); |
|
192 | + $accumulator = $this->getDumpInformationFields($db, $dumpMetaInformation); |
|
193 | 193 | |
194 | 194 | $existing = $db->selectRow( |
195 | 195 | self::META_TABLE_NAME, |
196 | - array( 'id' ), |
|
197 | - array( 'id' => $dumpId ) |
|
196 | + array('id'), |
|
197 | + array('id' => $dumpId) |
|
198 | 198 | ); |
199 | 199 | |
200 | - if ( $existing ) { |
|
200 | + if ($existing) { |
|
201 | 201 | $db->update( |
202 | 202 | self::META_TABLE_NAME, |
203 | 203 | $accumulator, |
204 | - array( 'id' => $dumpId ) |
|
204 | + array('id' => $dumpId) |
|
205 | 205 | ); |
206 | 206 | } else { |
207 | 207 | $db->insert( |
@@ -212,12 +212,12 @@ discard block |
||
212 | 212 | |
213 | 213 | $db->delete( |
214 | 214 | self::IDENTIFIER_PROPERTIES_TABLE_NAME, |
215 | - array( 'dump_id' => $dumpId ) |
|
215 | + array('dump_id' => $dumpId) |
|
216 | 216 | ); |
217 | 217 | $db->insert( |
218 | 218 | self::IDENTIFIER_PROPERTIES_TABLE_NAME, |
219 | 219 | array_map( |
220 | - function ( PropertyId $identifierPropertyId ) use ( $dumpId ) { |
|
220 | + function(PropertyId $identifierPropertyId) use ($dumpId) { |
|
221 | 221 | return array( |
222 | 222 | 'dump_id' => $dumpId, |
223 | 223 | 'identifier_pid' => $identifierPropertyId->getSerialization() |
@@ -233,11 +233,11 @@ discard block |
||
233 | 233 | * @param DumpMetaInformation $dumpMetaInformation |
234 | 234 | * @return array |
235 | 235 | */ |
236 | - private function getDumpInformationFields( Database $db, DumpMetaInformation $dumpMetaInformation ) { |
|
236 | + private function getDumpInformationFields(Database $db, DumpMetaInformation $dumpMetaInformation) { |
|
237 | 237 | return array( |
238 | 238 | 'id' => $dumpMetaInformation->getDumpId(), |
239 | 239 | 'source_qid' => $dumpMetaInformation->getSourceItemId()->getSerialization(), |
240 | - 'import_date' => $db->timestamp( $dumpMetaInformation->getImportDate() ), |
|
240 | + 'import_date' => $db->timestamp($dumpMetaInformation->getImportDate()), |
|
241 | 241 | 'language' => $dumpMetaInformation->getLanguageCode(), |
242 | 242 | 'source_url' => $dumpMetaInformation->getSourceUrl(), |
243 | 243 | 'size' => $dumpMetaInformation->getSize(), |
@@ -83,27 +83,27 @@ discard block |
||
83 | 83 | * |
84 | 84 | * @throws InvalidArgumentException |
85 | 85 | */ |
86 | - public function __construct( $dumpId, |
|
86 | + public function __construct($dumpId, |
|
87 | 87 | ItemId $sourceItemId, |
88 | 88 | array $identifierPropertyIds, |
89 | 89 | $importDate, |
90 | 90 | $languageCode, |
91 | 91 | $sourceUrl, |
92 | 92 | $size, |
93 | - ItemId $licenseItemId ) { |
|
93 | + ItemId $licenseItemId) { |
|
94 | 94 | Assert::parameterElementType( |
95 | 95 | PropertyId::class, |
96 | 96 | $identifierPropertyIds, |
97 | 97 | '$identifierPropertyIds' |
98 | 98 | ); |
99 | 99 | |
100 | - $this->setDumpId( $dumpId ); |
|
100 | + $this->setDumpId($dumpId); |
|
101 | 101 | $this->sourceItemId = $sourceItemId; |
102 | 102 | $this->identifierPropertyIds = $identifierPropertyIds; |
103 | - $this->setImportDate( $importDate ); |
|
104 | - $this->setLanguageCode( $languageCode ); |
|
105 | - $this->setSourceUrl( $sourceUrl ); |
|
106 | - $this->setSize( $size ); |
|
103 | + $this->setImportDate($importDate); |
|
104 | + $this->setLanguageCode($languageCode); |
|
105 | + $this->setSourceUrl($sourceUrl); |
|
106 | + $this->setSize($size); |
|
107 | 107 | $this->licenseItemId = $licenseItemId; |
108 | 108 | } |
109 | 109 | |
@@ -168,10 +168,10 @@ discard block |
||
168 | 168 | * |
169 | 169 | * @throws InvalidArgumentException |
170 | 170 | */ |
171 | - private function setDumpId( $dumpId ) { |
|
172 | - Assert::parameterType( 'string', $dumpId, '$dumpId' ); |
|
173 | - $length = strlen( $dumpId ); |
|
174 | - if ( $length < 1 || $length > 25 ) { |
|
171 | + private function setDumpId($dumpId) { |
|
172 | + Assert::parameterType('string', $dumpId, '$dumpId'); |
|
173 | + $length = strlen($dumpId); |
|
174 | + if ($length < 1 || $length > 25) { |
|
175 | 175 | throw new InvalidArgumentException('$dumpId must be between 1 and 25 characters.'); |
176 | 176 | } |
177 | 177 | |
@@ -183,10 +183,10 @@ discard block |
||
183 | 183 | * |
184 | 184 | * @throws InvalidArgumentException |
185 | 185 | */ |
186 | - private function setLanguageCode( $languageCode ) { |
|
187 | - Assert::parameterType( 'string', $languageCode, '$languageCode' ); |
|
188 | - if ( !Language::isValidCode( $languageCode ) ) { |
|
189 | - throw new InvalidArgumentException( '$languageCode is not valid.' ); |
|
186 | + private function setLanguageCode($languageCode) { |
|
187 | + Assert::parameterType('string', $languageCode, '$languageCode'); |
|
188 | + if (!Language::isValidCode($languageCode)) { |
|
189 | + throw new InvalidArgumentException('$languageCode is not valid.'); |
|
190 | 190 | } |
191 | 191 | |
192 | 192 | $this->languageCode = $languageCode; |
@@ -197,12 +197,12 @@ discard block |
||
197 | 197 | * |
198 | 198 | * @throws InvalidArgumentException |
199 | 199 | */ |
200 | - private function setImportDate( $importDate ) { |
|
201 | - Assert::parameterType( 'string', $importDate, '$importDate' ); |
|
200 | + private function setImportDate($importDate) { |
|
201 | + Assert::parameterType('string', $importDate, '$importDate'); |
|
202 | 202 | |
203 | - $timestamp = wfTimestamp( TS_MW, $importDate ); |
|
204 | - if ( !$timestamp ) { |
|
205 | - throw new InvalidArgumentException( '$updatedAt has invalid timestamp format.' ); |
|
203 | + $timestamp = wfTimestamp(TS_MW, $importDate); |
|
204 | + if (!$timestamp) { |
|
205 | + throw new InvalidArgumentException('$updatedAt has invalid timestamp format.'); |
|
206 | 206 | } |
207 | 207 | |
208 | 208 | $this->importDate = $importDate; |
@@ -213,13 +213,13 @@ discard block |
||
213 | 213 | * |
214 | 214 | * @throws InvalidArgumentException |
215 | 215 | */ |
216 | - private function setSourceUrl( $sourceUrl ) { |
|
217 | - Assert::parameterType( 'string', $sourceUrl, '$sourceUrl' ); |
|
218 | - if ( strlen( $sourceUrl ) > 300 ) { |
|
219 | - throw new InvalidArgumentException( '$sourceUrl must not be longer than 300 characters.' ); |
|
216 | + private function setSourceUrl($sourceUrl) { |
|
217 | + Assert::parameterType('string', $sourceUrl, '$sourceUrl'); |
|
218 | + if (strlen($sourceUrl) > 300) { |
|
219 | + throw new InvalidArgumentException('$sourceUrl must not be longer than 300 characters.'); |
|
220 | 220 | } |
221 | - if ( !filter_var( $sourceUrl, FILTER_VALIDATE_URL ) ) { |
|
222 | - throw new InvalidArgumentException( '$sourceUrl is not a valid url.' ); |
|
221 | + if (!filter_var($sourceUrl, FILTER_VALIDATE_URL)) { |
|
222 | + throw new InvalidArgumentException('$sourceUrl is not a valid url.'); |
|
223 | 223 | } |
224 | 224 | |
225 | 225 | $this->sourceUrl = $sourceUrl; |
@@ -230,10 +230,10 @@ discard block |
||
230 | 230 | * |
231 | 231 | * @throws InvalidArgumentException |
232 | 232 | */ |
233 | - private function setSize( $size ) { |
|
234 | - Assert::parameterType( 'integer', $size, '$size' ); |
|
235 | - if ( $size <= 0 ) { |
|
236 | - throw new InvalidArgumentException( '$size must be positive integer.' ); |
|
233 | + private function setSize($size) { |
|
234 | + Assert::parameterType('integer', $size, '$size'); |
|
235 | + if ($size <= 0) { |
|
236 | + throw new InvalidArgumentException('$size must be positive integer.'); |
|
237 | 237 | } |
238 | 238 | |
239 | 239 | $this->size = $size; |
@@ -51,13 +51,13 @@ discard block |
||
51 | 51 | public function import() { |
52 | 52 | $dumpIds = $this->insertMetaInformation(); |
53 | 53 | |
54 | - $this->log( "\nDelete old database entries...\n" ); |
|
54 | + $this->log("\nDelete old database entries...\n"); |
|
55 | 55 | |
56 | - foreach ( $dumpIds as $dumpId ) { |
|
57 | - $this->externalDataRepo->deleteOfDump( $dumpId, $this->importSettings->getBatchSize() ); |
|
56 | + foreach ($dumpIds as $dumpId) { |
|
57 | + $this->externalDataRepo->deleteOfDump($dumpId, $this->importSettings->getBatchSize()); |
|
58 | 58 | } |
59 | 59 | |
60 | - $this->log( "\n" ); |
|
60 | + $this->log("\n"); |
|
61 | 61 | |
62 | 62 | $this->insertExternalValues(); |
63 | 63 | } |
@@ -68,52 +68,52 @@ discard block |
||
68 | 68 | * @return array |
69 | 69 | */ |
70 | 70 | protected function insertMetaInformation() { |
71 | - $this->log( "Insert new dump meta information\n" ); |
|
71 | + $this->log("Insert new dump meta information\n"); |
|
72 | 72 | |
73 | - $csvFile = fopen( $this->importSettings->getDumpInformationFilePath(), 'rb' ); |
|
74 | - if ( !$csvFile ) { |
|
75 | - exit( 'Error while reading CSV file.' ); |
|
73 | + $csvFile = fopen($this->importSettings->getDumpInformationFilePath(), 'rb'); |
|
74 | + if (!$csvFile) { |
|
75 | + exit('Error while reading CSV file.'); |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | $i = 0; |
79 | 79 | $dumpIds = array(); |
80 | - while ( $data = fgetcsv( $csvFile ) ) { |
|
80 | + while ($data = fgetcsv($csvFile)) { |
|
81 | 81 | $identifierPropertyIds = array_map( |
82 | - function ( $propertyId ) { |
|
83 | - return new PropertyId( $propertyId ); |
|
82 | + function($propertyId) { |
|
83 | + return new PropertyId($propertyId); |
|
84 | 84 | }, |
85 | - json_decode( $data[2] ) |
|
85 | + json_decode($data[2]) |
|
86 | 86 | ); |
87 | 87 | try { |
88 | 88 | $dumpMetaInformation = new DumpMetaInformation( |
89 | 89 | $data[0], |
90 | - new ItemId( $data[1] ), |
|
90 | + new ItemId($data[1]), |
|
91 | 91 | $identifierPropertyIds, |
92 | 92 | $data[3], |
93 | 93 | $data[4], |
94 | 94 | $data[5], |
95 | - intval( $data[6] ), |
|
96 | - new ItemId( $data[7] ) |
|
95 | + intval($data[6]), |
|
96 | + new ItemId($data[7]) |
|
97 | 97 | ); |
98 | - } catch ( \InvalidArgumentException $e ) { |
|
99 | - exit( 'Input file has bad formatted values.' ); |
|
98 | + } catch (\InvalidArgumentException $e) { |
|
99 | + exit('Input file has bad formatted values.'); |
|
100 | 100 | } |
101 | 101 | $dumpIds[] = $dumpMetaInformation->getDumpId(); |
102 | 102 | |
103 | 103 | try { |
104 | - $this->dumpMetaInformationStore->save( $dumpMetaInformation ); |
|
105 | - } catch ( \DBError $e ) { |
|
106 | - exit( 'Unknown database error occurred.' ); |
|
104 | + $this->dumpMetaInformationStore->save($dumpMetaInformation); |
|
105 | + } catch (\DBError $e) { |
|
106 | + exit('Unknown database error occurred.'); |
|
107 | 107 | } |
108 | 108 | |
109 | 109 | $i++; |
110 | - $this->log( "\r\033[K" ); |
|
111 | - $this->log( "$i rows inserted or updated" ); |
|
110 | + $this->log("\r\033[K"); |
|
111 | + $this->log("$i rows inserted or updated"); |
|
112 | 112 | } |
113 | 113 | |
114 | - fclose( $csvFile ); |
|
114 | + fclose($csvFile); |
|
115 | 115 | |
116 | - $this->log( "\n" ); |
|
116 | + $this->log("\n"); |
|
117 | 117 | |
118 | 118 | return $dumpIds; |
119 | 119 | } |
@@ -122,31 +122,31 @@ discard block |
||
122 | 122 | * Inserts external values stored in csv file into database |
123 | 123 | */ |
124 | 124 | private function insertExternalValues() { |
125 | - $this->log( "Insert new data values\n" ); |
|
125 | + $this->log("Insert new data values\n"); |
|
126 | 126 | |
127 | - $csvFile = fopen( $this->importSettings->getExternalValuesFilePath(), 'rb' ); |
|
128 | - if ( !$csvFile ) { |
|
129 | - exit( 'Error while reading CSV file.' ); |
|
127 | + $csvFile = fopen($this->importSettings->getExternalValuesFilePath(), 'rb'); |
|
128 | + if (!$csvFile) { |
|
129 | + exit('Error while reading CSV file.'); |
|
130 | 130 | } |
131 | 131 | |
132 | 132 | $i = 0; |
133 | 133 | $accumulator = array(); |
134 | - while ( true ) { |
|
135 | - $data = fgetcsv( $csvFile ); |
|
136 | - if ( $data === false || ++$i % $this->importSettings->getBatchSize() === 0 ) { |
|
134 | + while (true) { |
|
135 | + $data = fgetcsv($csvFile); |
|
136 | + if ($data === false || ++$i % $this->importSettings->getBatchSize() === 0) { |
|
137 | 137 | try { |
138 | - $this->externalDataRepo->insertBatch( $accumulator ); |
|
139 | - } catch ( \DBError $e ) { |
|
140 | - exit( 'Unknown database error occurred.' ); |
|
138 | + $this->externalDataRepo->insertBatch($accumulator); |
|
139 | + } catch (\DBError $e) { |
|
140 | + exit('Unknown database error occurred.'); |
|
141 | 141 | } |
142 | 142 | wfGetLBFactory()->waitForReplication(); |
143 | 143 | |
144 | - $this->log( "\r\033[K" ); |
|
145 | - $this->log( "$i rows inserted" ); |
|
144 | + $this->log("\r\033[K"); |
|
145 | + $this->log("$i rows inserted"); |
|
146 | 146 | |
147 | 147 | $accumulator = array(); |
148 | 148 | |
149 | - if ( $data === false ) { |
|
149 | + if ($data === false) { |
|
150 | 150 | break; |
151 | 151 | } |
152 | 152 | } |
@@ -154,16 +154,16 @@ discard block |
||
154 | 154 | $accumulator[] = $data; |
155 | 155 | } |
156 | 156 | |
157 | - fclose( $csvFile ); |
|
157 | + fclose($csvFile); |
|
158 | 158 | |
159 | - $this->log( "\n" ); |
|
159 | + $this->log("\n"); |
|
160 | 160 | } |
161 | 161 | |
162 | 162 | /** |
163 | 163 | * @param string $text |
164 | 164 | */ |
165 | - private function log( $text ) { |
|
166 | - if ( !$this->importSettings->isQuiet() ) { |
|
165 | + private function log($text) { |
|
166 | + if (!$this->importSettings->isQuiet()) { |
|
167 | 167 | print $text; |
168 | 168 | } |
169 | 169 | } |