Update export classes

This commit is contained in:
James Cole 2017-02-05 15:58:42 +01:00
parent 152fb3f885
commit 371ce37be4
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
4 changed files with 27 additions and 16 deletions

View File

@ -26,17 +26,15 @@ class BasicExporter
{ {
/** @var ExportJob */ /** @var ExportJob */
protected $job; protected $job;
private $entries; /** @var Collection */
private $entries;
/** /**
* BasicExporter constructor. * BasicExporter constructor.
*
* @param ExportJob $job
*/ */
public function __construct(ExportJob $job) public function __construct()
{ {
$this->entries = new Collection; $this->entries = new Collection;
$this->job = $job;
} }
/** /**
@ -55,5 +53,13 @@ class BasicExporter
$this->entries = $entries; $this->entries = $entries;
} }
/**
* @param ExportJob $job
*/
public function setJob(ExportJob $job)
{
$this->job = $job;
}
} }

View File

@ -14,7 +14,6 @@ declare(strict_types = 1);
namespace FireflyIII\Export\Exporter; namespace FireflyIII\Export\Exporter;
use FireflyIII\Export\Entry\Entry; use FireflyIII\Export\Entry\Entry;
use FireflyIII\Models\ExportJob;
use League\Csv\Writer; use League\Csv\Writer;
use SplFileObject; use SplFileObject;
@ -30,13 +29,10 @@ class CsvExporter extends BasicExporter implements ExporterInterface
/** /**
* CsvExporter constructor. * CsvExporter constructor.
*
* @param ExportJob $job
*/ */
public function __construct(ExportJob $job) public function __construct()
{ {
parent::__construct($job); parent::__construct();
} }
/** /**

View File

@ -13,6 +13,7 @@ declare(strict_types = 1);
namespace FireflyIII\Export\Exporter; namespace FireflyIII\Export\Exporter;
use FireflyIII\Models\ExportJob;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
/** /**
@ -45,4 +46,9 @@ interface ExporterInterface
*/ */
public function setEntries(Collection $entries); public function setEntries(Collection $entries);
/**
* @param ExportJob $job
*/
public function setJob(ExportJob $job);
} }

View File

@ -19,7 +19,6 @@ use FireflyIII\Export\Collector\JournalExportCollector;
use FireflyIII\Export\Collector\UploadCollector; use FireflyIII\Export\Collector\UploadCollector;
use FireflyIII\Export\Entry\Entry; use FireflyIII\Export\Entry\Entry;
use FireflyIII\Models\ExportJob; use FireflyIII\Models\ExportJob;
use Illuminate\Filesystem\FilesystemAdapter;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Log; use Log;
use Storage; use Storage;
@ -78,7 +77,8 @@ class Processor implements ProcessorInterface
public function collectAttachments(): bool public function collectAttachments(): bool
{ {
/** @var AttachmentCollector $attachmentCollector */ /** @var AttachmentCollector $attachmentCollector */
$attachmentCollector = app(AttachmentCollector::class, [$this->job]); $attachmentCollector = app(AttachmentCollector::class);
$attachmentCollector->setJob($this->job);
$attachmentCollector->setDates($this->settings['startDate'], $this->settings['endDate']); $attachmentCollector->setDates($this->settings['startDate'], $this->settings['endDate']);
$attachmentCollector->run(); $attachmentCollector->run();
$this->files = $this->files->merge($attachmentCollector->getEntries()); $this->files = $this->files->merge($attachmentCollector->getEntries());
@ -92,7 +92,8 @@ class Processor implements ProcessorInterface
public function collectJournals(): bool public function collectJournals(): bool
{ {
/** @var JournalExportCollector $collector */ /** @var JournalExportCollector $collector */
$collector = app(JournalExportCollector::class, [$this->job]); $collector = app(JournalExportCollector::class);
$collector->setJob($this->job);
$collector->setDates($this->settings['startDate'], $this->settings['endDate']); $collector->setDates($this->settings['startDate'], $this->settings['endDate']);
$collector->setAccounts($this->settings['accounts']); $collector->setAccounts($this->settings['accounts']);
$collector->run(); $collector->run();
@ -108,7 +109,8 @@ class Processor implements ProcessorInterface
public function collectOldUploads(): bool public function collectOldUploads(): bool
{ {
/** @var UploadCollector $uploadCollector */ /** @var UploadCollector $uploadCollector */
$uploadCollector = app(UploadCollector::class, [$this->job]); $uploadCollector = app(UploadCollector::class);
$uploadCollector->setJob($this->job);
$uploadCollector->run(); $uploadCollector->run();
$this->files = $this->files->merge($uploadCollector->getEntries()); $this->files = $this->files->merge($uploadCollector->getEntries());
@ -166,7 +168,8 @@ class Processor implements ProcessorInterface
public function exportJournals(): bool public function exportJournals(): bool
{ {
$exporterClass = config('firefly.export_formats.' . $this->exportFormat); $exporterClass = config('firefly.export_formats.' . $this->exportFormat);
$exporter = app($exporterClass, [$this->job]); $exporter = app($exporterClass);
$exporter->setJob($this->job);
$exporter->setEntries($this->exportEntries); $exporter->setEntries($this->exportEntries);
$exporter->run(); $exporter->run();
$this->files->push($exporter->getFileName()); $this->files->push($exporter->getFileName());