/** * Ask data service to load stream provider instance. * * @return void * * @throws ODataException */ private function _loadStreamProvider() { if (is_null($this->_streamProvider)) { $maxServiceVersion = $this->_dataService->getServiceConfiguration()->getMaxDataServiceVersionObject(); if ($maxServiceVersion->compare(new Version(3, 0)) >= 0) { $this->_streamProvider = $this->_dataService->getService('IDataServiceStreamProvider2'); if (!is_null($this->_streamProvider) && (!is_object($this->_streamProvider) || array_search('ODataProducer\\Providers\\Stream\\IDataServiceStreamProvider2', class_implements($this->_streamProvider)) === false)) { ODataException::createInternalServerError(Messages::dataServiceStreamProviderWrapperInvalidStream2Instance()); } } if (is_null($this->_streamProvider)) { $this->_streamProvider = $this->_dataService->getService('IDataServiceStreamProvider'); if (!is_null($this->_streamProvider) && (!is_object($this->_streamProvider) || array_search('ODataProducer\\Providers\\Stream\\IDataServiceStreamProvider', class_implements($this->_streamProvider)) === false)) { ODataException::createInternalServerError(Messages::dataServiceStreamProviderWrapperInvalidStreamInstance()); } } } }