@@ -7,16 +7,16 @@ |
||
| 7 | 7 | * |
| 8 | 8 | * @return bool |
| 9 | 9 | */ |
| 10 | - public static function onCreateSchema( DatabaseUpdater $updater ) { |
|
| 11 | - $updater->addExtensionTable( 'wbqev_dump_information', __DIR__ . '/sql/create_wbqev_dump_information.sql' ); |
|
| 12 | - $updater->addExtensionTable( 'wbqev_external_data', __DIR__ . '/sql/create_wbqev_external_data.sql' ); |
|
| 13 | - $updater->addExtensionTable( 'wbqev_identifier_properties', __DIR__ . '/sql/create_wbqev_identifier_properties.sql' ); |
|
| 10 | + public static function onCreateSchema(DatabaseUpdater $updater) { |
|
| 11 | + $updater->addExtensionTable('wbqev_dump_information', __DIR__.'/sql/create_wbqev_dump_information.sql'); |
|
| 12 | + $updater->addExtensionTable('wbqev_external_data', __DIR__.'/sql/create_wbqev_external_data.sql'); |
|
| 13 | + $updater->addExtensionTable('wbqev_identifier_properties', __DIR__.'/sql/create_wbqev_identifier_properties.sql'); |
|
| 14 | 14 | |
| 15 | 15 | return true; |
| 16 | 16 | } |
| 17 | 17 | |
| 18 | - public static function onUnitTestsList( &$paths ) { |
|
| 19 | - $paths[] = __DIR__ . '/tests/phpunit'; |
|
| 18 | + public static function onUnitTestsList(&$paths) { |
|
| 19 | + $paths[] = __DIR__.'/tests/phpunit'; |
|
| 20 | 20 | return true; |
| 21 | 21 | } |
| 22 | 22 | |
@@ -30,9 +30,9 @@ discard block |
||
| 30 | 30 | * @throws InvalidArgumentException |
| 31 | 31 | * @return string One of the ComparisonResult::STATUS_... constants. |
| 32 | 32 | */ |
| 33 | - public function compare( DataValue $value, DataValue $comparativeValue ) { |
|
| 34 | - if ( !$this->canCompare( $value, $comparativeValue ) ) { |
|
| 35 | - throw new InvalidArgumentException( 'Given values can not be compared using this comparer.' ); |
|
| 33 | + public function compare(DataValue $value, DataValue $comparativeValue) { |
|
| 34 | + if (!$this->canCompare($value, $comparativeValue)) { |
|
| 35 | + throw new InvalidArgumentException('Given values can not be compared using this comparer.'); |
|
| 36 | 36 | } |
| 37 | 37 | |
| 38 | 38 | /** |
@@ -42,38 +42,38 @@ discard block |
||
| 42 | 42 | |
| 43 | 43 | $result = ComparisonResult::STATUS_MISMATCH; |
| 44 | 44 | |
| 45 | - if ( !preg_match( '/^([-+]?)(\d*)((\d{4}\b).*)/', $value->getTime(), $localMatches ) |
|
| 46 | - || !preg_match( '/^([-+]?)(\d*)((\d{4}\b).*)/', $comparativeValue->getTime(), $externalMatches ) |
|
| 45 | + if (!preg_match('/^([-+]?)(\d*)((\d{4}\b).*)/', $value->getTime(), $localMatches) |
|
| 46 | + || !preg_match('/^([-+]?)(\d*)((\d{4}\b).*)/', $comparativeValue->getTime(), $externalMatches) |
|
| 47 | 47 | ) { |
| 48 | 48 | return ComparisonResult::STATUS_MISMATCH; |
| 49 | 49 | } |
| 50 | - list( , $localSign, $localYearHigh, $localMwTime, $localYearLow ) = $localMatches; |
|
| 51 | - list( , $externalSign, $externalYearHigh, $externalMwTime, $externalYearLow ) = $externalMatches; |
|
| 52 | - if ( $localSign !== $externalSign && ( $localYearHigh . $localYearLow !== '0000' |
|
| 53 | - || $externalYearHigh . $externalYearLow !== '0000' ) |
|
| 50 | + list(, $localSign, $localYearHigh, $localMwTime, $localYearLow) = $localMatches; |
|
| 51 | + list(, $externalSign, $externalYearHigh, $externalMwTime, $externalYearLow) = $externalMatches; |
|
| 52 | + if ($localSign !== $externalSign && ($localYearHigh.$localYearLow !== '0000' |
|
| 53 | + || $externalYearHigh.$externalYearLow !== '0000') |
|
| 54 | 54 | ) { |
| 55 | 55 | return ComparisonResult::STATUS_MISMATCH; |
| 56 | 56 | } |
| 57 | 57 | |
| 58 | 58 | try { |
| 59 | - $localTimestamp = new MWTimestamp( $localMwTime ); |
|
| 60 | - $externalTimestamp = new MWTimestamp( $externalMwTime ); |
|
| 61 | - $diff = $localTimestamp->diff( $externalTimestamp ); |
|
| 62 | - $diff->y += abs( $localYearHigh - $externalYearHigh ) * 10000; |
|
| 59 | + $localTimestamp = new MWTimestamp($localMwTime); |
|
| 60 | + $externalTimestamp = new MWTimestamp($externalMwTime); |
|
| 61 | + $diff = $localTimestamp->diff($externalTimestamp); |
|
| 62 | + $diff->y += abs($localYearHigh - $externalYearHigh) * 10000; |
|
| 63 | 63 | |
| 64 | - if ( $value->getPrecision() === $comparativeValue->getPrecision() |
|
| 65 | - && $this->resultOfDiffWithPrecision( $diff, $value->getPrecision() ) |
|
| 64 | + if ($value->getPrecision() === $comparativeValue->getPrecision() |
|
| 65 | + && $this->resultOfDiffWithPrecision($diff, $value->getPrecision()) |
|
| 66 | 66 | ) { |
| 67 | 67 | $result = ComparisonResult::STATUS_MATCH; |
| 68 | 68 | } elseif ( |
| 69 | 69 | $this->resultOfDiffWithPrecision( |
| 70 | 70 | $diff, |
| 71 | - min( $value->getPrecision(), $comparativeValue->getPrecision() ) |
|
| 71 | + min($value->getPrecision(), $comparativeValue->getPrecision()) |
|
| 72 | 72 | ) |
| 73 | 73 | ) { |
| 74 | 74 | $result = ComparisonResult::STATUS_PARTIAL_MATCH; |
| 75 | 75 | } |
| 76 | - } catch ( TimestampException $ex ) { |
|
| 76 | + } catch (TimestampException $ex) { |
|
| 77 | 77 | } |
| 78 | 78 | |
| 79 | 79 | return $result; |
@@ -87,10 +87,10 @@ discard block |
||
| 87 | 87 | * |
| 88 | 88 | * @return bool |
| 89 | 89 | */ |
| 90 | - private function resultOfDiffWithPrecision( DateInterval $diff, $precision ) { |
|
| 90 | + private function resultOfDiffWithPrecision(DateInterval $diff, $precision) { |
|
| 91 | 91 | $result = true; |
| 92 | 92 | |
| 93 | - switch ( $precision ) { |
|
| 93 | + switch ($precision) { |
|
| 94 | 94 | case TimeValue::PRECISION_SECOND: |
| 95 | 95 | $result = $diff->s === 0; |
| 96 | 96 | // Fall through with no break/return. This is critical for this algorithm. |
@@ -134,10 +134,10 @@ discard block |
||
| 134 | 134 | * |
| 135 | 135 | * @return ValueParser |
| 136 | 136 | */ |
| 137 | - protected function getExternalValueParser( DumpMetaInformation $dumpMetaInformation ) { |
|
| 137 | + protected function getExternalValueParser(DumpMetaInformation $dumpMetaInformation) { |
|
| 138 | 138 | $parserOptions = new ParserOptions(); |
| 139 | - $parserOptions->setOption( ValueParser::OPT_LANG, $dumpMetaInformation->getLanguageCode() ); |
|
| 140 | - $timeParserFactory = new TimeParserFactory( $parserOptions ); |
|
| 139 | + $parserOptions->setOption(ValueParser::OPT_LANG, $dumpMetaInformation->getLanguageCode()); |
|
| 140 | + $timeParserFactory = new TimeParserFactory($parserOptions); |
|
| 141 | 141 | |
| 142 | 142 | return $timeParserFactory->getTimeParser(); |
| 143 | 143 | } |
@@ -150,7 +150,7 @@ discard block |
||
| 150 | 150 | * |
| 151 | 151 | * @return bool |
| 152 | 152 | */ |
| 153 | - public function canCompare( DataValue $value, DataValue $comparativeValue ) { |
|
| 153 | + public function canCompare(DataValue $value, DataValue $comparativeValue) { |
|
| 154 | 154 | return $value instanceof TimeValue && $comparativeValue instanceof TimeValue; |
| 155 | 155 | } |
| 156 | 156 | |
@@ -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,16 +25,16 @@ 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 database. CSV files can be generated using the DumpConverter." ); |
|
| 29 | - $this->addOption( 'external-values-file', 'CSV file containing external values for import.', true, true ); |
|
| 30 | - $this->addOption( 'dump-information-file', 'CSV file containing dump meta information for import.', true, true ); |
|
| 31 | - $this->setBatchSize( 1000 ); |
|
| 28 | + $this->addDescription("Imports external entities from given CSV files into the local database. CSV files can be generated using the DumpConverter."); |
|
| 29 | + $this->addOption('external-values-file', 'CSV file containing external values for import.', true, true); |
|
| 30 | + $this->addOption('dump-information-file', 'CSV file containing dump meta information for import.', true, true); |
|
| 31 | + $this->setBatchSize(1000); |
|
| 32 | 32 | } |
| 33 | 33 | |
| 34 | 34 | public function execute() { |
| 35 | 35 | $context = new CsvImportSettings( |
| 36 | - $this->getOption( 'external-values-file' ), |
|
| 37 | - $this->getOption( 'dump-information-file' ), |
|
| 36 | + $this->getOption('external-values-file'), |
|
| 37 | + $this->getOption('dump-information-file'), |
|
| 38 | 38 | $this->mBatchSize, |
| 39 | 39 | $this->isQuiet() |
| 40 | 40 | ); |
@@ -11,6 +11,6 @@ |
||
| 11 | 11 | |
| 12 | 12 | /** English (English) */ |
| 13 | 13 | $specialPageAliases['en'] = array( |
| 14 | - 'CrossCheck' => array( 'CrossCheck', 'Cross Check' ), |
|
| 15 | - 'ExternalDatabases' => array( 'ExternalDatabases', 'ExternalDbs', 'External Dbs' ), |
|
| 14 | + 'CrossCheck' => array('CrossCheck', 'Cross Check'), |
|
| 15 | + 'ExternalDatabases' => array('ExternalDatabases', 'ExternalDbs', 'External Dbs'), |
|
| 16 | 16 | ); |
| 17 | 17 | \ No newline at end of file |
@@ -54,10 +54,10 @@ discard block |
||
| 54 | 54 | TermLookup $termLookup, |
| 55 | 55 | EntityIdHtmlLinkFormatterFactory $entityIdHtmlLinkFormatterFactory, |
| 56 | 56 | DumpMetaInformationLookup $dumpMetaInformationRepo ) { |
| 57 | - parent::__construct( 'ExternalDatabases' ); |
|
| 57 | + parent::__construct('ExternalDatabases'); |
|
| 58 | 58 | |
| 59 | 59 | $this->entityIdLinkFormatter = $entityIdHtmlLinkFormatterFactory->getEntityIdFormatter( |
| 60 | - new LanguageLabelDescriptionLookup( $termLookup, $this->getLanguage()->getCode() ) |
|
| 60 | + new LanguageLabelDescriptionLookup($termLookup, $this->getLanguage()->getCode()) |
|
| 61 | 61 | ); |
| 62 | 62 | |
| 63 | 63 | $this->dumpMetaInformationRepo = $dumpMetaInformationRepo; |
@@ -78,7 +78,7 @@ discard block |
||
| 78 | 78 | * @return string |
| 79 | 79 | */ |
| 80 | 80 | public function getDescription() { |
| 81 | - return $this->msg( 'wbqev-externaldbs' )->text(); |
|
| 81 | + return $this->msg('wbqev-externaldbs')->text(); |
|
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | /** |
@@ -86,51 +86,51 @@ discard block |
||
| 86 | 86 | * |
| 87 | 87 | * @param string|null $subPage |
| 88 | 88 | */ |
| 89 | - public function execute( $subPage ) { |
|
| 89 | + public function execute($subPage) { |
|
| 90 | 90 | $out = $this->getOutput(); |
| 91 | 91 | |
| 92 | 92 | $this->setHeaders(); |
| 93 | 93 | |
| 94 | 94 | $out->addHTML( |
| 95 | - Html::openElement( 'p' ) |
|
| 96 | - . $this->msg( 'wbqev-externaldbs-instructions' )->parse() |
|
| 97 | - . Html::closeElement( 'p' ) |
|
| 98 | - . Html::openElement( 'h3' ) |
|
| 99 | - . $this->msg( 'wbqev-externaldbs-overview-headline' )->parse() |
|
| 100 | - . Html::closeElement( 'h3' ) |
|
| 95 | + Html::openElement('p') |
|
| 96 | + . $this->msg('wbqev-externaldbs-instructions')->parse() |
|
| 97 | + . Html::closeElement('p') |
|
| 98 | + . Html::openElement('h3') |
|
| 99 | + . $this->msg('wbqev-externaldbs-overview-headline')->parse() |
|
| 100 | + . Html::closeElement('h3') |
|
| 101 | 101 | ); |
| 102 | 102 | |
| 103 | 103 | $dumps = $this->dumpMetaInformationRepo->getAll(); |
| 104 | - if ( count( $dumps ) > 0 ) { |
|
| 104 | + if (count($dumps) > 0) { |
|
| 105 | 105 | $groupedDumpMetaInformation = array(); |
| 106 | - foreach ( $dumps as $dump ) { |
|
| 106 | + foreach ($dumps as $dump) { |
|
| 107 | 107 | $sourceItemId = $dump->getSourceItemId()->getSerialization(); |
| 108 | 108 | $groupedDumpMetaInformation[$sourceItemId][] = $dump; |
| 109 | 109 | } |
| 110 | 110 | |
| 111 | 111 | $table = new HtmlTableBuilder( |
| 112 | 112 | array( |
| 113 | - $this->msg( 'wbqev-externaldbs-name' )->escaped(), |
|
| 114 | - $this->msg( 'wbqev-externaldbs-id' )->escaped(), |
|
| 115 | - $this->msg( 'wbqev-externaldbs-import-date' )->escaped(), |
|
| 116 | - $this->msg( 'wbqev-externaldbs-language' )->escaped(), |
|
| 117 | - $this->msg( 'wbqev-externaldbs-source-urls' )->escaped(), |
|
| 118 | - $this->msg( 'wbqev-externaldbs-size' )->escaped(), |
|
| 119 | - $this->msg( 'wbqev-externaldbs-license' )->escaped() |
|
| 113 | + $this->msg('wbqev-externaldbs-name')->escaped(), |
|
| 114 | + $this->msg('wbqev-externaldbs-id')->escaped(), |
|
| 115 | + $this->msg('wbqev-externaldbs-import-date')->escaped(), |
|
| 116 | + $this->msg('wbqev-externaldbs-language')->escaped(), |
|
| 117 | + $this->msg('wbqev-externaldbs-source-urls')->escaped(), |
|
| 118 | + $this->msg('wbqev-externaldbs-size')->escaped(), |
|
| 119 | + $this->msg('wbqev-externaldbs-license')->escaped() |
|
| 120 | 120 | ), |
| 121 | 121 | true |
| 122 | 122 | ); |
| 123 | 123 | |
| 124 | - foreach ( $groupedDumpMetaInformation as $dumpMetaInformation ) { |
|
| 125 | - $table->appendRows( $this->getRowGroup( $dumpMetaInformation ) ); |
|
| 124 | + foreach ($groupedDumpMetaInformation as $dumpMetaInformation) { |
|
| 125 | + $table->appendRows($this->getRowGroup($dumpMetaInformation)); |
|
| 126 | 126 | } |
| 127 | 127 | |
| 128 | - $out->addHTML( $table->toHtml() ); |
|
| 128 | + $out->addHTML($table->toHtml()); |
|
| 129 | 129 | } else { |
| 130 | 130 | $out->addHTML( |
| 131 | - Html::openElement( 'p' ) |
|
| 132 | - . $this->msg( 'wbqev-externaldbs-no-databases' )->escaped() |
|
| 133 | - . Html::closeElement( 'p' ) |
|
| 131 | + Html::openElement('p') |
|
| 132 | + . $this->msg('wbqev-externaldbs-no-databases')->escaped() |
|
| 133 | + . Html::closeElement('p') |
|
| 134 | 134 | ); |
| 135 | 135 | } |
| 136 | 136 | } |
@@ -142,12 +142,12 @@ discard block |
||
| 142 | 142 | * |
| 143 | 143 | * @return array |
| 144 | 144 | */ |
| 145 | - private function getRowGroup( array $dumpMetaInformationGroup ) { |
|
| 145 | + private function getRowGroup(array $dumpMetaInformationGroup) { |
|
| 146 | 146 | $rows = array(); |
| 147 | 147 | |
| 148 | - foreach ( $dumpMetaInformationGroup as $dumpMetaInformation ) { |
|
| 148 | + foreach ($dumpMetaInformationGroup as $dumpMetaInformation) { |
|
| 149 | 149 | $dumpId = $dumpMetaInformation->getDumpId(); |
| 150 | - $importDate = $this->getLanguage()->timeanddate( $dumpMetaInformation->getImportDate() ); |
|
| 150 | + $importDate = $this->getLanguage()->timeanddate($dumpMetaInformation->getImportDate()); |
|
| 151 | 151 | $language = Language::fetchLanguageName( |
| 152 | 152 | $dumpMetaInformation->getLanguageCode(), |
| 153 | 153 | $this->getLanguage()->getCode() |
@@ -156,23 +156,23 @@ discard block |
||
| 156 | 156 | $dumpMetaInformation->getSourceUrl(), |
| 157 | 157 | $dumpMetaInformation->getSourceUrl() |
| 158 | 158 | ); |
| 159 | - $size = $this->getLanguage()->formatSize( $dumpMetaInformation->getSize() ); |
|
| 160 | - $license = $this->entityIdLinkFormatter->formatEntityId( $dumpMetaInformation->getLicenseItemId() ); |
|
| 159 | + $size = $this->getLanguage()->formatSize($dumpMetaInformation->getSize()); |
|
| 160 | + $license = $this->entityIdLinkFormatter->formatEntityId($dumpMetaInformation->getLicenseItemId()); |
|
| 161 | 161 | $rows[] = array( |
| 162 | - new HtmlTableCellBuilder( $dumpId ), |
|
| 163 | - new HtmlTableCellBuilder( $importDate ), |
|
| 164 | - new HtmlTableCellBuilder( $language ), |
|
| 165 | - new HtmlTableCellBuilder( $sourceUrl, array(), true ), |
|
| 166 | - new HtmlTableCellBuilder( $size ), |
|
| 167 | - new HtmlTableCellBuilder( $license, array(), true ) |
|
| 162 | + new HtmlTableCellBuilder($dumpId), |
|
| 163 | + new HtmlTableCellBuilder($importDate), |
|
| 164 | + new HtmlTableCellBuilder($language), |
|
| 165 | + new HtmlTableCellBuilder($sourceUrl, array(), true), |
|
| 166 | + new HtmlTableCellBuilder($size), |
|
| 167 | + new HtmlTableCellBuilder($license, array(), true) |
|
| 168 | 168 | ); |
| 169 | 169 | } |
| 170 | 170 | |
| 171 | 171 | array_unshift( |
| 172 | 172 | $rows[0], |
| 173 | 173 | new HtmlTableCellBuilder( |
| 174 | - $this->entityIdLinkFormatter->formatEntityId( $dumpMetaInformationGroup[0]->getSourceItemId() ), |
|
| 175 | - array( 'rowspan' => (string)count( $dumpMetaInformationGroup ) ), |
|
| 174 | + $this->entityIdLinkFormatter->formatEntityId($dumpMetaInformationGroup[0]->getSourceItemId()), |
|
| 175 | + array('rowspan' => (string)count($dumpMetaInformationGroup)), |
|
| 176 | 176 | true |
| 177 | 177 | ) |
| 178 | 178 | ); |
@@ -103,18 +103,18 @@ discard block |
||
| 103 | 103 | OutputFormatValueFormatterFactory $valueFormatterFactory, |
| 104 | 104 | CrossCheckInteractor $crossCheckInteractor |
| 105 | 105 | ) { |
| 106 | - parent::__construct( 'CrossCheck' ); |
|
| 106 | + parent::__construct('CrossCheck'); |
|
| 107 | 107 | |
| 108 | 108 | $this->entityLookup = $entityLookup; |
| 109 | 109 | $this->entityIdParser = $entityIdParser; |
| 110 | 110 | |
| 111 | 111 | $formatterOptions = new FormatterOptions(); |
| 112 | - $formatterOptions->setOption( SnakFormatter::OPT_LANG, $this->getLanguage()->getCode() ); |
|
| 113 | - $this->dataValueFormatter = $valueFormatterFactory->getValueFormatter( SnakFormatter::FORMAT_HTML, $formatterOptions ); |
|
| 112 | + $formatterOptions->setOption(SnakFormatter::OPT_LANG, $this->getLanguage()->getCode()); |
|
| 113 | + $this->dataValueFormatter = $valueFormatterFactory->getValueFormatter(SnakFormatter::FORMAT_HTML, $formatterOptions); |
|
| 114 | 114 | |
| 115 | - $labelLookup = new LanguageLabelDescriptionLookup( $termLookup, $this->getLanguage()->getCode() ); |
|
| 116 | - $this->entityIdLabelFormatter = $entityIdLabelFormatterFactory->getEntityIdFormatter( $labelLookup ); |
|
| 117 | - $this->entityIdLinkFormatter = $entityIdHtmlLinkFormatterFactory->getEntityIdFormatter( $labelLookup ); |
|
| 115 | + $labelLookup = new LanguageLabelDescriptionLookup($termLookup, $this->getLanguage()->getCode()); |
|
| 116 | + $this->entityIdLabelFormatter = $entityIdLabelFormatterFactory->getEntityIdFormatter($labelLookup); |
|
| 117 | + $this->entityIdLinkFormatter = $entityIdHtmlLinkFormatterFactory->getEntityIdFormatter($labelLookup); |
|
| 118 | 118 | |
| 119 | 119 | $this->crossCheckInteractor = $crossCheckInteractor; |
| 120 | 120 | } |
@@ -134,7 +134,7 @@ discard block |
||
| 134 | 134 | * @return string (plain text) |
| 135 | 135 | */ |
| 136 | 136 | public function getDescription() { |
| 137 | - return $this->msg( 'wbqev-crosscheck' )->text(); |
|
| 137 | + return $this->msg('wbqev-crosscheck')->text(); |
|
| 138 | 138 | } |
| 139 | 139 | |
| 140 | 140 | /** |
@@ -146,55 +146,55 @@ discard block |
||
| 146 | 146 | * @throws EntityIdParsingException |
| 147 | 147 | * @throws UnexpectedValueException |
| 148 | 148 | */ |
| 149 | - public function execute( $subPage ) { |
|
| 149 | + public function execute($subPage) { |
|
| 150 | 150 | $out = $this->getOutput(); |
| 151 | - $postRequest = $this->getContext()->getRequest()->getVal( 'entityid' ); |
|
| 152 | - if ( $postRequest ) { |
|
| 153 | - $out->redirect( $this->getPageTitle( strtoupper( $postRequest ) )->getLocalURL() ); |
|
| 151 | + $postRequest = $this->getContext()->getRequest()->getVal('entityid'); |
|
| 152 | + if ($postRequest) { |
|
| 153 | + $out->redirect($this->getPageTitle(strtoupper($postRequest))->getLocalURL()); |
|
| 154 | 154 | return; |
| 155 | 155 | } |
| 156 | 156 | |
| 157 | - $out->addModules( 'SpecialCrossCheckPage' ); |
|
| 157 | + $out->addModules('SpecialCrossCheckPage'); |
|
| 158 | 158 | |
| 159 | 159 | $this->setHeaders(); |
| 160 | 160 | |
| 161 | - $out->addHTML( $this->buildInfoBox() ); |
|
| 161 | + $out->addHTML($this->buildInfoBox()); |
|
| 162 | 162 | $this->buildEntityIdForm(); |
| 163 | 163 | |
| 164 | - if ( $subPage ) { |
|
| 165 | - $this->buildResult( $subPage ); |
|
| 164 | + if ($subPage) { |
|
| 165 | + $this->buildResult($subPage); |
|
| 166 | 166 | } |
| 167 | 167 | } |
| 168 | 168 | |
| 169 | 169 | /** |
| 170 | 170 | * @param string $idSerialization |
| 171 | 171 | */ |
| 172 | - private function buildResult( $idSerialization ) { |
|
| 172 | + private function buildResult($idSerialization) { |
|
| 173 | 173 | $out = $this->getOutput(); |
| 174 | 174 | |
| 175 | 175 | try { |
| 176 | - $entityId = $this->entityIdParser->parse( $idSerialization ); |
|
| 177 | - } catch ( EntityIdParsingException $ex ) { |
|
| 178 | - $out->addHTML( $this->buildNotice( 'wbqev-crosscheck-invalid-entity-id', true ) ); |
|
| 176 | + $entityId = $this->entityIdParser->parse($idSerialization); |
|
| 177 | + } catch (EntityIdParsingException $ex) { |
|
| 178 | + $out->addHTML($this->buildNotice('wbqev-crosscheck-invalid-entity-id', true)); |
|
| 179 | 179 | return; |
| 180 | 180 | } |
| 181 | 181 | |
| 182 | - $out->addHTML( $this->buildResultHeader( $entityId ) ); |
|
| 182 | + $out->addHTML($this->buildResultHeader($entityId)); |
|
| 183 | 183 | |
| 184 | - $entity = $this->entityLookup->getEntity( $entityId ); |
|
| 185 | - if ( $entity === null ) { |
|
| 186 | - $out->addHTML( $this->buildNotice( 'wbqev-crosscheck-not-existent-entity', true ) ); |
|
| 184 | + $entity = $this->entityLookup->getEntity($entityId); |
|
| 185 | + if ($entity === null) { |
|
| 186 | + $out->addHTML($this->buildNotice('wbqev-crosscheck-not-existent-entity', true)); |
|
| 187 | 187 | return; |
| 188 | 188 | } |
| 189 | 189 | |
| 190 | - $results = $this->getCrossCheckResultsFromEntity( $entity ); |
|
| 190 | + $results = $this->getCrossCheckResultsFromEntity($entity); |
|
| 191 | 191 | |
| 192 | - if ( $results === null || $results->toArray() === array() ) { |
|
| 193 | - $out->addHTML( $this->buildNotice( 'wbqev-crosscheck-empty-result' ) ); |
|
| 192 | + if ($results === null || $results->toArray() === array()) { |
|
| 193 | + $out->addHTML($this->buildNotice('wbqev-crosscheck-empty-result')); |
|
| 194 | 194 | } else { |
| 195 | 195 | $out->addHTML( |
| 196 | - $this->buildSummary( $results ) |
|
| 197 | - . $this->buildResultTable( $results ) |
|
| 196 | + $this->buildSummary($results) |
|
| 197 | + . $this->buildResultTable($results) |
|
| 198 | 198 | ); |
| 199 | 199 | } |
| 200 | 200 | } |
@@ -204,9 +204,9 @@ discard block |
||
| 204 | 204 | * |
| 205 | 205 | * @return CrossCheckResultList|null |
| 206 | 206 | */ |
| 207 | - private function getCrossCheckResultsFromEntity( EntityDocument $entity ) { |
|
| 208 | - if ( $entity instanceof StatementListProvider ) { |
|
| 209 | - return $this->crossCheckInteractor->crossCheckStatements( $entity->getStatements() ); |
|
| 207 | + private function getCrossCheckResultsFromEntity(EntityDocument $entity) { |
|
| 208 | + if ($entity instanceof StatementListProvider) { |
|
| 209 | + return $this->crossCheckInteractor->crossCheckStatements($entity->getStatements()); |
|
| 210 | 210 | } |
| 211 | 211 | |
| 212 | 212 | return null; |
@@ -223,15 +223,15 @@ discard block |
||
| 223 | 223 | 'name' => 'entityid', |
| 224 | 224 | 'label-message' => 'wbqev-crosscheck-form-entityid-label', |
| 225 | 225 | 'cssclass' => 'wbqev-crosscheck-form-entity-id', |
| 226 | - 'placeholder' => $this->msg( 'wbqev-crosscheck-form-entityid-placeholder' )->escaped() |
|
| 226 | + 'placeholder' => $this->msg('wbqev-crosscheck-form-entityid-placeholder')->escaped() |
|
| 227 | 227 | ) |
| 228 | 228 | ); |
| 229 | - $htmlForm = new HTMLForm( $formDescriptor, $this->getContext(), 'wbqev-crosscheck-form' ); |
|
| 230 | - $htmlForm->setSubmitText( $this->msg( 'wbqev-crosscheck-form-submit-label' )->escaped() ); |
|
| 231 | - $htmlForm->setSubmitCallback( function() { |
|
| 229 | + $htmlForm = new HTMLForm($formDescriptor, $this->getContext(), 'wbqev-crosscheck-form'); |
|
| 230 | + $htmlForm->setSubmitText($this->msg('wbqev-crosscheck-form-submit-label')->escaped()); |
|
| 231 | + $htmlForm->setSubmitCallback(function() { |
|
| 232 | 232 | return false; |
| 233 | 233 | } ); |
| 234 | - $htmlForm->setMethod( 'post' ); |
|
| 234 | + $htmlForm->setMethod('post'); |
|
| 235 | 235 | $htmlForm->show(); |
| 236 | 236 | } |
| 237 | 237 | |
@@ -241,18 +241,18 @@ discard block |
||
| 241 | 241 | * @return string HTML |
| 242 | 242 | */ |
| 243 | 243 | private function buildInfoBox() { |
| 244 | - $externalDbLink = Linker::specialLink( 'ExternalDatabases', 'wbqev-externaldbs' ); |
|
| 244 | + $externalDbLink = Linker::specialLink('ExternalDatabases', 'wbqev-externaldbs'); |
|
| 245 | 245 | $infoBox = |
| 246 | 246 | Html::openElement( |
| 247 | 247 | 'div', |
| 248 | - array( 'class' => 'wbqev-infobox' ) |
|
| 248 | + array('class' => 'wbqev-infobox') |
|
| 249 | 249 | ) |
| 250 | - . $this->msg( 'wbqev-crosscheck-explanation-general' )->parse() |
|
| 251 | - . sprintf( ' %s.', $externalDbLink ) |
|
| 252 | - . Html::element( 'br' ) |
|
| 253 | - . Html::element( 'br' ) |
|
| 254 | - . $this->msg( 'wbqev-crosscheck-explanation-detail' )->parse() |
|
| 255 | - . Html::closeElement( 'div' ); |
|
| 250 | + . $this->msg('wbqev-crosscheck-explanation-general')->parse() |
|
| 251 | + . sprintf(' %s.', $externalDbLink) |
|
| 252 | + . Html::element('br') |
|
| 253 | + . Html::element('br') |
|
| 254 | + . $this->msg('wbqev-crosscheck-explanation-detail')->parse() |
|
| 255 | + . Html::closeElement('div'); |
|
| 256 | 256 | |
| 257 | 257 | return $infoBox; |
| 258 | 258 | } |
@@ -267,17 +267,17 @@ discard block |
||
| 267 | 267 | * |
| 268 | 268 | * @return string HTML |
| 269 | 269 | */ |
| 270 | - private function buildNotice( $messageKey, $error = false ) { |
|
| 270 | + private function buildNotice($messageKey, $error = false) { |
|
| 271 | 271 | $cssClasses = 'wbqev-crosscheck-notice'; |
| 272 | - if ( $error ) { |
|
| 272 | + if ($error) { |
|
| 273 | 273 | $cssClasses .= ' wbqev-crosscheck-notice-error'; |
| 274 | 274 | } |
| 275 | 275 | |
| 276 | 276 | return |
| 277 | 277 | Html::element( |
| 278 | 278 | 'p', |
| 279 | - array( 'class' => $cssClasses ), |
|
| 280 | - $this->msg( $messageKey )->text() |
|
| 279 | + array('class' => $cssClasses), |
|
| 280 | + $this->msg($messageKey)->text() |
|
| 281 | 281 | ); |
| 282 | 282 | } |
| 283 | 283 | |
@@ -288,18 +288,18 @@ discard block |
||
| 288 | 288 | * |
| 289 | 289 | * @return string HTML |
| 290 | 290 | */ |
| 291 | - private function buildResultHeader( EntityId $entityId ) { |
|
| 291 | + private function buildResultHeader(EntityId $entityId) { |
|
| 292 | 292 | $entityLink = sprintf( |
| 293 | 293 | '%s (%s)', |
| 294 | - $this->entityIdLinkFormatter->formatEntityId( $entityId ), |
|
| 295 | - htmlspecialchars( $entityId->getSerialization() ) |
|
| 294 | + $this->entityIdLinkFormatter->formatEntityId($entityId), |
|
| 295 | + htmlspecialchars($entityId->getSerialization()) |
|
| 296 | 296 | ); |
| 297 | 297 | |
| 298 | 298 | return |
| 299 | 299 | Html::rawElement( |
| 300 | 300 | 'h3', |
| 301 | 301 | array(), |
| 302 | - sprintf( '%s %s', $this->msg( 'wbqev-crosscheck-result-headline' )->escaped(), $entityLink ) |
|
| 302 | + sprintf('%s %s', $this->msg('wbqev-crosscheck-result-headline')->escaped(), $entityLink) |
|
| 303 | 303 | ); |
| 304 | 304 | } |
| 305 | 305 | |
@@ -310,11 +310,11 @@ discard block |
||
| 310 | 310 | * |
| 311 | 311 | * @return string HTML |
| 312 | 312 | */ |
| 313 | - private function buildSummary( $results ) { |
|
| 313 | + private function buildSummary($results) { |
|
| 314 | 314 | $statuses = array(); |
| 315 | - foreach ( $results as $result ) { |
|
| 316 | - $status = strtolower( $result->getComparisonResult()->getStatus() ); |
|
| 317 | - if ( array_key_exists( $status, $statuses ) ) { |
|
| 315 | + foreach ($results as $result) { |
|
| 316 | + $status = strtolower($result->getComparisonResult()->getStatus()); |
|
| 317 | + if (array_key_exists($status, $statuses)) { |
|
| 318 | 318 | $statuses[$status]++; |
| 319 | 319 | } else { |
| 320 | 320 | $statuses[$status] = 1; |
@@ -322,15 +322,15 @@ discard block |
||
| 322 | 322 | } |
| 323 | 323 | |
| 324 | 324 | $statusElements = array(); |
| 325 | - foreach ( $statuses as $status => $count ) { |
|
| 326 | - if ( $count > 0 ) { |
|
| 327 | - $statusElements[] = $this->formatStatus( $status ) . ': ' . $count; |
|
| 325 | + foreach ($statuses as $status => $count) { |
|
| 326 | + if ($count > 0) { |
|
| 327 | + $statusElements[] = $this->formatStatus($status).': '.$count; |
|
| 328 | 328 | } |
| 329 | 329 | } |
| 330 | 330 | $summary = |
| 331 | - Html::openElement( 'p' ) |
|
| 332 | - . implode( ', ', $statusElements ) |
|
| 333 | - . Html::closeElement( 'p' ); |
|
| 331 | + Html::openElement('p') |
|
| 332 | + . implode(', ', $statusElements) |
|
| 333 | + . Html::closeElement('p'); |
|
| 334 | 334 | |
| 335 | 335 | return $summary; |
| 336 | 336 | } |
@@ -344,16 +344,16 @@ discard block |
||
| 344 | 344 | * |
| 345 | 345 | * @return string HTML |
| 346 | 346 | */ |
| 347 | - private function formatStatus( $status ) { |
|
| 348 | - $messageKey = 'wbqev-crosscheck-status-' . strtolower( $status ); |
|
| 347 | + private function formatStatus($status) { |
|
| 348 | + $messageKey = 'wbqev-crosscheck-status-'.strtolower($status); |
|
| 349 | 349 | |
| 350 | 350 | $formattedStatus = |
| 351 | 351 | Html::element( |
| 352 | 352 | 'span', |
| 353 | - array ( |
|
| 354 | - 'class' => 'wbqev-status wbqev-status-' . htmlspecialchars( $status ) |
|
| 353 | + array( |
|
| 354 | + 'class' => 'wbqev-status wbqev-status-'.htmlspecialchars($status) |
|
| 355 | 355 | ), |
| 356 | - $this->msg( $messageKey )->text() |
|
| 356 | + $this->msg($messageKey)->text() |
|
| 357 | 357 | ); |
| 358 | 358 | |
| 359 | 359 | return $formattedStatus; |
@@ -370,29 +370,29 @@ discard block |
||
| 370 | 370 | * |
| 371 | 371 | * @return string HTML |
| 372 | 372 | */ |
| 373 | - private function formatDataValues( $dataValues, $linking = true, $separator = null ) { |
|
| 374 | - if ( $dataValues instanceof DataValue ) { |
|
| 375 | - $dataValues = array( $dataValues ); |
|
| 373 | + private function formatDataValues($dataValues, $linking = true, $separator = null) { |
|
| 374 | + if ($dataValues instanceof DataValue) { |
|
| 375 | + $dataValues = array($dataValues); |
|
| 376 | 376 | } |
| 377 | 377 | |
| 378 | 378 | $formattedDataValues = array(); |
| 379 | - foreach ( $dataValues as $dataValue ) { |
|
| 380 | - if ( $dataValue instanceof EntityIdValue ) { |
|
| 381 | - if ( $linking ) { |
|
| 382 | - $formattedDataValues[] = $this->entityIdLinkFormatter->formatEntityId( $dataValue->getEntityId() ); |
|
| 379 | + foreach ($dataValues as $dataValue) { |
|
| 380 | + if ($dataValue instanceof EntityIdValue) { |
|
| 381 | + if ($linking) { |
|
| 382 | + $formattedDataValues[] = $this->entityIdLinkFormatter->formatEntityId($dataValue->getEntityId()); |
|
| 383 | 383 | } else { |
| 384 | - $formattedDataValues[] = $this->entityIdLabelFormatter->formatEntityId( $dataValue->getEntityId() ); |
|
| 384 | + $formattedDataValues[] = $this->entityIdLabelFormatter->formatEntityId($dataValue->getEntityId()); |
|
| 385 | 385 | } |
| 386 | 386 | } else { |
| 387 | - $formattedDataValues[] = $this->dataValueFormatter->format( $dataValue ); |
|
| 387 | + $formattedDataValues[] = $this->dataValueFormatter->format($dataValue); |
|
| 388 | 388 | } |
| 389 | 389 | } |
| 390 | 390 | |
| 391 | - if ( $separator ) { |
|
| 392 | - return implode( $separator, $formattedDataValues ); |
|
| 391 | + if ($separator) { |
|
| 392 | + return implode($separator, $formattedDataValues); |
|
| 393 | 393 | } |
| 394 | 394 | |
| 395 | - return $this->getLanguage()->commaList( $formattedDataValues ); |
|
| 395 | + return $this->getLanguage()->commaList($formattedDataValues); |
|
| 396 | 396 | } |
| 397 | 397 | |
| 398 | 398 | /** |
@@ -400,31 +400,31 @@ discard block |
||
| 400 | 400 | * |
| 401 | 401 | * @return string HTML |
| 402 | 402 | */ |
| 403 | - private function buildResultTable( $results ) { |
|
| 403 | + private function buildResultTable($results) { |
|
| 404 | 404 | $table = new HtmlTableBuilder( |
| 405 | 405 | array( |
| 406 | 406 | new HtmlTableHeaderBuilder( |
| 407 | - $this->msg( 'wbqev-crosscheck-result-table-header-status' )->escaped(), |
|
| 407 | + $this->msg('wbqev-crosscheck-result-table-header-status')->escaped(), |
|
| 408 | 408 | true |
| 409 | 409 | ), |
| 410 | 410 | new HtmlTableHeaderBuilder( |
| 411 | - $this->msg( 'datatypes-type-wikibase-property' )->escaped(), |
|
| 411 | + $this->msg('datatypes-type-wikibase-property')->escaped(), |
|
| 412 | 412 | true |
| 413 | 413 | ), |
| 414 | 414 | new HtmlTableHeaderBuilder( |
| 415 | - $this->msg( 'wbqev-crosscheck-result-table-header-local-value' )->escaped() |
|
| 415 | + $this->msg('wbqev-crosscheck-result-table-header-local-value')->escaped() |
|
| 416 | 416 | ), |
| 417 | 417 | new HtmlTableHeaderBuilder( |
| 418 | - $this->msg( 'wbqev-crosscheck-result-table-header-external-value' )->escaped() |
|
| 418 | + $this->msg('wbqev-crosscheck-result-table-header-external-value')->escaped() |
|
| 419 | 419 | ), |
| 420 | 420 | new HtmlTableHeaderBuilder( |
| 421 | - $this->msg( 'wbqev-crosscheck-result-table-header-references' )->escaped(), |
|
| 421 | + $this->msg('wbqev-crosscheck-result-table-header-references')->escaped(), |
|
| 422 | 422 | true |
| 423 | 423 | ), |
| 424 | 424 | new HtmlTableHeaderBuilder( |
| 425 | 425 | Linker::linkKnown( |
| 426 | - self::getTitleFor( 'ExternalDatabases' ), |
|
| 427 | - $this->msg( 'wbqev-crosscheck-result-table-header-external-source' )->escaped() |
|
| 426 | + self::getTitleFor('ExternalDatabases'), |
|
| 427 | + $this->msg('wbqev-crosscheck-result-table-header-external-source')->escaped() |
|
| 428 | 428 | ), |
| 429 | 429 | true, |
| 430 | 430 | true |
@@ -433,28 +433,28 @@ discard block |
||
| 433 | 433 | true |
| 434 | 434 | ); |
| 435 | 435 | |
| 436 | - foreach ( $results as $result ) { |
|
| 437 | - $status = $this->formatStatus( $result->getComparisonResult()->getStatus() ); |
|
| 438 | - $propertyId = $this->entityIdLinkFormatter->formatEntityId( $result->getPropertyId() ); |
|
| 439 | - $localValue = $this->formatDataValues( $result->getComparisonResult()->getLocalValue() ); |
|
| 436 | + foreach ($results as $result) { |
|
| 437 | + $status = $this->formatStatus($result->getComparisonResult()->getStatus()); |
|
| 438 | + $propertyId = $this->entityIdLinkFormatter->formatEntityId($result->getPropertyId()); |
|
| 439 | + $localValue = $this->formatDataValues($result->getComparisonResult()->getLocalValue()); |
|
| 440 | 440 | $externalValue = $this->formatDataValues( |
| 441 | 441 | $result->getComparisonResult()->getExternalValues(), |
| 442 | 442 | true, |
| 443 | - Html::element( 'br' ) |
|
| 443 | + Html::element('br') |
|
| 444 | 444 | ); |
| 445 | 445 | $referenceStatus = $this->msg( |
| 446 | - 'wbqev-crosscheck-status-' . $result->getReferenceResult()->getStatus() |
|
| 446 | + 'wbqev-crosscheck-status-'.$result->getReferenceResult()->getStatus() |
|
| 447 | 447 | )->text(); |
| 448 | - $dataSource = $this->entityIdLinkFormatter->formatEntityId( $result->getDumpMetaInformation()->getSourceItemId() ); |
|
| 448 | + $dataSource = $this->entityIdLinkFormatter->formatEntityId($result->getDumpMetaInformation()->getSourceItemId()); |
|
| 449 | 449 | |
| 450 | 450 | $table->appendRow( |
| 451 | 451 | array( |
| 452 | - new HtmlTableCellBuilder( $status, array(), true ), |
|
| 453 | - new HtmlTableCellBuilder( $propertyId, array(), true ), |
|
| 454 | - new HtmlTableCellBuilder( $localValue, array(), true ), |
|
| 455 | - new HtmlTableCellBuilder( $externalValue, array(), true ), |
|
| 456 | - new HtmlTableCellBuilder( $referenceStatus, array() ), |
|
| 457 | - new HtmlTableCellBuilder( $dataSource, array(), true ) |
|
| 452 | + new HtmlTableCellBuilder($status, array(), true), |
|
| 453 | + new HtmlTableCellBuilder($propertyId, array(), true), |
|
| 454 | + new HtmlTableCellBuilder($localValue, array(), true), |
|
| 455 | + new HtmlTableCellBuilder($externalValue, array(), true), |
|
| 456 | + new HtmlTableCellBuilder($referenceStatus, array()), |
|
| 457 | + new HtmlTableCellBuilder($dataSource, array(), true) |
|
| 458 | 458 | ) |
| 459 | 459 | ); |
| 460 | 460 | } |
@@ -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,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,54 +68,54 @@ 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 | 98 | } |
| 99 | - catch( \InvalidArgumentException $e ) { |
|
| 100 | - exit( 'Input file has bad formatted values.' ); |
|
| 99 | + catch (\InvalidArgumentException $e) { |
|
| 100 | + exit('Input file has bad formatted values.'); |
|
| 101 | 101 | } |
| 102 | 102 | $dumpIds[] = $dumpMetaInformation->getDumpId(); |
| 103 | 103 | |
| 104 | 104 | try { |
| 105 | - $this->dumpMetaInformationStore->save( $dumpMetaInformation ); |
|
| 105 | + $this->dumpMetaInformationStore->save($dumpMetaInformation); |
|
| 106 | 106 | } |
| 107 | - catch( \DBError $e ) { |
|
| 108 | - exit( 'Unknown database error occurred.' ); |
|
| 107 | + catch (\DBError $e) { |
|
| 108 | + exit('Unknown database error occurred.'); |
|
| 109 | 109 | } |
| 110 | 110 | |
| 111 | 111 | $i++; |
| 112 | - $this->log( "\r\033[K" ); |
|
| 113 | - $this->log( "$i rows inserted or updated" ); |
|
| 112 | + $this->log("\r\033[K"); |
|
| 113 | + $this->log("$i rows inserted or updated"); |
|
| 114 | 114 | } |
| 115 | 115 | |
| 116 | - fclose( $csvFile ); |
|
| 116 | + fclose($csvFile); |
|
| 117 | 117 | |
| 118 | - $this->log( "\n" ); |
|
| 118 | + $this->log("\n"); |
|
| 119 | 119 | |
| 120 | 120 | return $dumpIds; |
| 121 | 121 | } |
@@ -124,32 +124,32 @@ discard block |
||
| 124 | 124 | * Inserts external values stored in csv file into database |
| 125 | 125 | */ |
| 126 | 126 | private function insertExternalValues() { |
| 127 | - $this->log( "Insert new data values\n" ); |
|
| 127 | + $this->log("Insert new data values\n"); |
|
| 128 | 128 | |
| 129 | - $csvFile = fopen( $this->importSettings->getExternalValuesFilePath(), 'rb' ); |
|
| 130 | - if( !$csvFile ) { |
|
| 131 | - exit( 'Error while reading CSV file.' ); |
|
| 129 | + $csvFile = fopen($this->importSettings->getExternalValuesFilePath(), 'rb'); |
|
| 130 | + if (!$csvFile) { |
|
| 131 | + exit('Error while reading CSV file.'); |
|
| 132 | 132 | } |
| 133 | 133 | |
| 134 | 134 | $i = 0; |
| 135 | 135 | $accumulator = array(); |
| 136 | - while ( true ) { |
|
| 137 | - $data = fgetcsv( $csvFile ); |
|
| 138 | - if ( $data === false || ++$i % $this->importSettings->getBatchSize() === 0 ) { |
|
| 136 | + while (true) { |
|
| 137 | + $data = fgetcsv($csvFile); |
|
| 138 | + if ($data === false || ++$i % $this->importSettings->getBatchSize() === 0) { |
|
| 139 | 139 | try { |
| 140 | - $this->externalDataRepo->insertBatch( $accumulator ); |
|
| 140 | + $this->externalDataRepo->insertBatch($accumulator); |
|
| 141 | 141 | } |
| 142 | - catch( \DBError $e ) { |
|
| 143 | - exit( 'Unknown database error occurred.' ); |
|
| 142 | + catch (\DBError $e) { |
|
| 143 | + exit('Unknown database error occurred.'); |
|
| 144 | 144 | } |
| 145 | 145 | wfGetLBFactory()->waitForReplication(); |
| 146 | 146 | |
| 147 | - $this->log( "\r\033[K" ); |
|
| 148 | - $this->log( "$i rows inserted" ); |
|
| 147 | + $this->log("\r\033[K"); |
|
| 148 | + $this->log("$i rows inserted"); |
|
| 149 | 149 | |
| 150 | 150 | $accumulator = array(); |
| 151 | 151 | |
| 152 | - if ( $data === false ) { |
|
| 152 | + if ($data === false) { |
|
| 153 | 153 | break; |
| 154 | 154 | } |
| 155 | 155 | } |
@@ -157,16 +157,16 @@ discard block |
||
| 157 | 157 | $accumulator[] = $data; |
| 158 | 158 | } |
| 159 | 159 | |
| 160 | - fclose( $csvFile ); |
|
| 160 | + fclose($csvFile); |
|
| 161 | 161 | |
| 162 | - $this->log( "\n" ); |
|
| 162 | + $this->log("\n"); |
|
| 163 | 163 | } |
| 164 | 164 | |
| 165 | 165 | /** |
| 166 | 166 | * @param string $text |
| 167 | 167 | */ |
| 168 | - private function log( $text ) { |
|
| 169 | - if ( !$this->importSettings->isQuiet() ) { |
|
| 168 | + private function log($text) { |
|
| 169 | + if (!$this->importSettings->isQuiet()) { |
|
| 170 | 170 | print $text; |
| 171 | 171 | } |
| 172 | 172 | } |