/** * get existing device of owner or create new device for owner * * @param unknown_type $ownerId * @param unknown_type $deviceId * @param unknown_type $deviceType * @param unknown_type $userAgent * @param unknown_type $protocolVersion * @return Syncope_Model_Device */ protected function _getUserDevice($ownerId, $deviceId, $deviceType, $userAgent, $protocolVersion) { try { $device = $this->_deviceBackend->getUserDevice($ownerId, $deviceId); $device->useragent = $userAgent; $device->acsversion = $protocolVersion; $device = $this->_deviceBackend->update($device); } catch (Syncope_Exception_NotFound $senf) { $device = $this->_deviceBackend->create(new Syncope_Model_Device(array('owner_id' => $ownerId, 'deviceid' => $deviceId, 'devicetype' => $deviceType, 'useragent' => $userAgent, 'acsversion' => $protocolVersion))); } return $device; }
/** * (non-PHPdoc) * @see Syncope/Syncope_TestCase::setUp() */ protected function setUp() { Syncope_Registry::setDatabase(getTestDatabase()); Syncope_Registry::setTransactionManager(Syncope_TransactionManager::getInstance()); Syncope_Registry::getTransactionManager()->startTransaction(Syncope_Registry::getDatabase()); #$writer = new Zend_Log_Writer_Null(); $writer = new Zend_Log_Writer_Stream('php://output'); $writer->addFilter(new Zend_Log_Filter_Priority($this->_logPriority)); $logger = new Zend_Log($writer); $this->_deviceBackend = new Syncope_Backend_Device(Syncope_Registry::getDatabase()); $this->_folderBackend = new Syncope_Backend_Folder(Syncope_Registry::getDatabase()); $this->_syncStateBackend = new Syncope_Backend_SyncState(Syncope_Registry::getDatabase()); $this->_contentStateBackend = new Syncope_Backend_Content(Syncope_Registry::getDatabase()); $this->_device = $this->_deviceBackend->create(Syncope_Backend_DeviceTests::getTestDevice()); Syncope_Registry::set('deviceBackend', $this->_deviceBackend); Syncope_Registry::set('folderStateBackend', $this->_folderBackend); Syncope_Registry::set('syncStateBackend', $this->_syncStateBackend); Syncope_Registry::set('contentStateBackend', $this->_contentStateBackend); Syncope_Registry::set('loggerBackend', $logger); Syncope_Registry::setContactsDataClass('Syncope_Data_Contacts'); Syncope_Registry::setCalendarDataClass('Syncope_Data_Calendar'); Syncope_Registry::setEmailDataClass('Syncope_Data_Email'); Syncope_Registry::setTasksDataClass('Syncope_Data_Tasks'); }