/** * @param string $backendId * @param string $privateUri * @param string $userId * @return null|ICalendar */ protected function getCached($backendId, $privateUri, $userId) { try { return $this->cache->findByPrivateUri($backendId, $privateUri, $userId); } catch (DoesNotExistMapperException $ex) { return null; } catch (MultipleObjectsReturnedMapperException $ex) { //$this->logger->warn($msg); TODO return null; } }
/** * was a calendar updated? * @param string $backendId * @param string $privateUri * @param string $userId * @return boolean */ public function checkUpdate($backendId, $privateUri, $userId) { if ($this->watchPolicy === self::CHECK_ALWAYS || $this->watchPolicy === self::CHECK_ONCE && !$this->wasCalendarChecked($backendId, $privateUri, $userId)) { $backend = $this->backends->find($backendId); if (!$backend instanceof IBackend) { return false; } $cachedCalendar = $this->cache->findByPrivateUri($backendId, $privateUri, $userId); $this->setCheckedCalendar($backendId, $privateUri, $userId); $calendarAPI = $backend->getCalendarAPI(); if ($calendarAPI->hasUpdated($cachedCalendar)) { $objectScanner = $backend->getObjectScanner($cachedCalendar); $objectScanner->scan(); $this->scanner->scanCalendar($backendId, $privateUri, $userId); return true; } return false; } else { return false; } }