Exemplo n.º 1
0
 public function testGetConnection()
 {
     $resolver = new DalResolver();
     $conn = new PdoConnection();
     $resolver->addConnection('pdo', $conn);
     $resolver->boot();
     $datastore = new QlDataStore();
     $datastore->configure(new ConfigSection('qldatastore', ['connection' => 'pdo']));
     $this->assertSame($conn, $datastore->getConnection());
     $datastore = new QlDataStore();
     $datastore->configure(new ConfigSection('qldatastore', ['connection' => 'mizzing']));
     $this->setExpectedException('\\Packaged\\Dal\\Exceptions\\DalResolver\\ConnectionNotFoundException');
     $datastore->getConnection();
     Dao::unsetDalResolver();
 }
Exemplo n.º 2
0
 /**
  * Get the data store for this dao
  *
  * @return QlDataStore
  *
  * @throws DataStoreNotFoundException
  */
 public function getDataStore()
 {
     $resolver = static::getDalResolver();
     try {
         return $resolver->getDataStore($this->_dataStoreName);
     } catch (DataStoreNotFoundException $e) {
         if ($resolver->hasConnection($this->_dataStoreName)) {
             $config = new ConfigSection($this->_dataStoreName, ['connection' => $this->_dataStoreName]);
             $dataStore = new QlDataStore();
             $dataStore->configure($config);
             $resolver->addDataStoreConfig($config);
             $resolver->addDataStore($this->_dataStoreName, $dataStore);
             return $dataStore;
         }
         throw $e;
     }
 }