/**
  * @param \FACTFinder\Data\Campaign $campaign The campaign object to be
  *        filled.
  * @param mixed[] $campaignData An associative array corresponding to the
  *        JSON for that campaign.
  */
 private function fillCampaignWithAdvisorData(\FACTFinder\Data\Campaign $campaign, array $campaignData)
 {
     $activeQuestions = array();
     foreach ($campaignData['activeQuestions'] as $questionData) {
         $activeQuestions[] = $this->createAdvisorQuestion($questionData);
     }
     $campaign->addActiveQuestions($activeQuestions);
     // Fetch advisor tree if it exists
     $advisorTree = array();
     foreach ($campaignData['activeQuestions'] as $questionData) {
         $activeQuestions[] = $this->createAdvisorQuestion($questionData, true);
     }
     $campaign->addToAdvisorTree($advisorTree);
 }
 /**
  * @param \FACTFinder\Data\Campaign $campaign The campaign object to be
  *        filled.
  * @param mixed[] $campaignData An associative array corresponding to the
  *        JSON for that campaign.
  */
 private function fillCampaignWithPushedProducts(\FACTFinder\Data\Campaign $campaign, array $campaignData)
 {
     if (!empty($campaignData['pushedProductsRecords'])) {
         $pushedProducts = array();
         foreach ($campaignData['pushedProductsRecords'] as $recordData) {
             $pushedProducts[] = FF::getInstance('Data\\Record', (string) $recordData['id'], $recordData['record']);
         }
         $campaign->addPushedProducts($pushedProducts);
     }
 }