/**
  * {@inheritdoc}
  */
 protected function setUp()
 {
     parent::setUp();
     static::bootKernel(['environment' => 'test_container_creation']);
     /** @var ContainerInterface container */
     $this->container = static::$kernel->getContainer();
     /** @var Manager $manager */
     $this->manager = $this->container->get('es.manager');
     $this->manager->getConnection()->dropAndCreateIndex();
     // There is something wrong with ElasticsearchTestCase method getDataArray,
     // if we don't create in here all test data, it's not existing when test is run.
     $content = new Setting();
     $content->setId('default_name0');
     $content->setName('name0');
     $content->setProfile('default');
     $content->setDescription('this should be updated');
     $content->setType(Setting::TYPE_STRING);
     $content->setData((object) ['value' => 'test1']);
     $this->manager->persist($content);
     $this->manager->commit();
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 protected function setUp()
 {
     parent::setUp();
     $this->manager = $this->getServiceContainer()->get('es.manager');
     $this->manager->getConnection()->dropAndCreateIndex();
     // There is something wrong with ElasticsearchTestCase method getDataArray,
     // if we don't create in here all test data, it's not existing when test is run.
     $content = new Pair();
     $content->setId('name0');
     $content->setValue('will not be here');
     $this->manager->persist($content);
     $this->manager->commit();
 }
 /**
  * Reloads rates using given driver.
  *
  * @return array
  */
 public function reloadRates()
 {
     $esRates = [];
     $this->rates = $this->driver->getRates();
     $repository = $this->manager->getRepository('ONGRCurrencyExchangeBundle:CurrencyDocument');
     /** @var CurrencyDocument $document */
     $document = $repository->createDocument();
     $document->setCreatedAt(new \DateTime());
     if ($this->rates) {
         foreach ($this->rates as $name => $value) {
             $ratesObject = new RatesObject();
             $ratesObject->setName($name);
             $ratesObject->setValue($value);
             $esRates[] = $ratesObject;
         }
         $document->rates = $esRates;
         $this->manager->persist($document);
         $this->manager->commit();
         $this->updateRatesCache($this->rates);
         return $this->rates;
     }
     $this->logger && $this->logger->notice('Failed to retrieve currency rates from provider.');
     return null;
 }
Esempio n. 4
0
 /**
  * Saves pair object.
  *
  * @param Pair $pair
  */
 private function save(Pair $pair)
 {
     $this->manager->persist($pair);
     $this->manager->commit();
     $this->manager->refresh();
 }
 /**
  * Finish and commit.
  */
 public function onFinish()
 {
     $this->manager->commit();
 }
 /**
  * Populates elasticsearch with data.
  *
  * @param Manager $manager
  * @param array   $data
  */
 protected function populateElasticsearchWithData($manager, array $data)
 {
     if (!empty($data)) {
         foreach ($data as $type => $documents) {
             foreach ($documents as $document) {
                 $manager->getConnection()->bulk('index', $type, $document);
             }
         }
         $manager->commit();
     }
 }
Esempio n. 7
0
 /**
  * Saves setting.
  *
  * @param Setting $setting
  */
 public function save(Setting $setting)
 {
     $this->manager->persist($setting);
     $this->manager->commit();
     $this->eventDispatcher->dispatch('ongr_settings.setting_change', new SettingChangeEvent('save'));
 }