protected function importImpression(Pap_Db_RawImpression $impression, $count = 1) { $impressionContext = new Pap_Contexts_Impression($impression); try { $impressionContext->setUserObject($this->getUser($impression->getUserId())); } catch (Gpf_Exception $e) { $this->debug('Invalid user ' . $impression->getUserId() . '. Skipping'); return; } try { $impressionContext->setBannerObject($this->getBanner($impression->getBannerId())); } catch (Gpf_Exception $e) { $this->debug('Invalid banner ' . $impression->getBannerId() . '. Skipping'); return; } try { $campaign = $this->getCampaign($impressionContext->getBannerObject()->getCampaignId()); $impressionContext->setAccountId($campaign->getAccountID(), Pap_Contexts_Tracking::ACCOUNT_RECOGNIZED_FROM_CAMPAIGN); } catch (Gpf_Exception $e) { $this->debug('Invalid campaign ' . $impressionContext->getBannerObject()->getCampaignId() . '. Skipping'); return; } try { $impressionContext->setChannelObject($this->getChannel($impression->getChannel(), $impressionContext)); } catch (Gpf_Exception $e) { } $impressionContext->setCount($count); $this->saveImpression($impressionContext); }