jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/397608 )

Change subject: Use XMLReader for WX audit
......................................................................


Use XMLReader for WX audit

Bug: T182605
Change-Id: I423bc0b89dac4badc9a973ec38ae6acd2eb8324a
---
M PaymentProviders/Ingenico/Audit/IngenicoAudit.php
1 file changed, 11 insertions(+), 10 deletions(-)

Approvals:
  XenoRyet: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/PaymentProviders/Ingenico/Audit/IngenicoAudit.php 
b/PaymentProviders/Ingenico/Audit/IngenicoAudit.php
index b6269c9..54b2a4f 100644
--- a/PaymentProviders/Ingenico/Audit/IngenicoAudit.php
+++ b/PaymentProviders/Ingenico/Audit/IngenicoAudit.php
@@ -1,12 +1,12 @@
 <?php namespace SmashPig\PaymentProviders\Ingenico\Audit;
 
-use DOMDocument;
 use DOMElement;
 use RuntimeException;
 use SmashPig\Core\DataFiles\AuditParser;
 use SmashPig\Core\Logging\Logger;
 use SmashPig\Core\UtcDate;
 use SmashPig\PaymentProviders\Ingenico\ReferenceData;
+use XMLReader;
 
 class IngenicoAudit implements AuditParser {
 
@@ -62,17 +62,18 @@
                $this->fileData = [];
                $unzippedFullPath = $this->getUnzippedFile( $path );
 
-               // load the XML into a DOMDocument.
-               // Total Memory Hog Alert. Handle with care.
-               $domDoc = new DOMDocument( '1.0' );
-               Logger::info( "Loading XML from $unzippedFullPath" );
-               $domDoc->load( $unzippedFullPath );
-               unlink( $unzippedFullPath );
+               Logger::info( "Opening $unzippedFullPath with XMLReader" );
+               $reader = new XMLReader();
+               $reader->open( $unzippedFullPath );
                Logger::info( "Processing" );
-
-               foreach ( $domDoc->getElementsByTagName( 'DataRecord' ) as 
$recordNode ) {
-                       $this->parseRecord( $recordNode );
+               while ( $reader->read() ) {
+                       if ( $reader->nodeType === XMLReader::ELEMENT && 
$reader->name == 'tns:DataRecord' ) {
+                               $record = $reader->expand();
+                               $this->parseRecord( $record );
+                       }
                }
+               $reader->close();
+               unlink( $unzippedFullPath );
 
                return $this->fileData;
        }

-- 
To view, visit https://gerrit.wikimedia.org/r/397608
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I423bc0b89dac4badc9a973ec38ae6acd2eb8324a
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/SmashPig
Gerrit-Branch: master
Gerrit-Owner: Ejegg <ej...@ejegg.com>
Gerrit-Reviewer: Mepps <me...@wikimedia.org>
Gerrit-Reviewer: XenoRyet <dkozlow...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to