tao-test/app/taoOutcomeUi/model/Wrapper/ResultServiceWrapper.php

48 lines
1.5 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: christophe
* Date: 20/06/17
* Time: 15:11
*/
namespace oat\taoOutcomeUi\model\Wrapper;
use oat\oatbox\service\ConfigurableService;
use oat\oatbox\service\ServiceManager;
use oat\taoDelivery\model\execution\DeliveryExecutionInterface;
use oat\taoDelivery\models\classes\execution\event\DeliveryExecutionState;
use oat\taoOutcomeUi\model\ResultsService;
class ResultServiceWrapper extends ConfigurableService
{
const SERVICE_ID = 'taoOutcomeUi/resultService';
const RESULT_COLUMNS_CHUNK_SIZE_OPTION = 'resultColumnsChunkSize';
/**
* @var ResultsService
*/
protected $resultService;
public function getService()
{
if (is_null($this->resultService)) {
$serviceClass = $this->getOption('class');
$this->resultService = $serviceClass::singleton();
}
return $this->resultService;
}
public static function deleteResultCache(DeliveryExecutionState $event)
{
// if the delivery execution has been re-activated, we have to delete the result cache already existing for this execution
if ($event->getPreviousState() == DeliveryExecutionInterface::STATE_FINISHIED) {
/** @var ResultsService $resultService */
$resultService = ServiceManager::getServiceManager()->get(self::SERVICE_ID)->getService();
$resultService->deleteCacheFor($event->getDeliveryExecution()->getIdentifier());
}
}
}