Throw exceptions only when datasource has wrong package, not check for instance of Datasource

This commit is contained in:
Ceeram 2013-03-13 17:52:47 +01:00
parent 3d4ebc038c
commit dde0912d1e

View file

@ -99,17 +99,16 @@ class ConnectionManager {
$conn = self::$_connectionsEnum[$name]; $conn = self::$_connectionsEnum[$name];
$class = $conn['classname']; $class = $conn['classname'];
$instance = new $class(self::$config->{$name}); if (strpos(App::location($class), 'Datasource') === false) {
$instance->configKeyName = $name;
if (!$instance instanceof Datasource) {
throw new MissingDatasourceException(array( throw new MissingDatasourceException(array(
'class' => $class, 'class' => $class,
'plugin' => null, 'plugin' => null,
'message' => 'Only classes extending Datasource can be used as datasources.' 'message' => 'Datasource is not found in Model/Datasource package.'
)); ));
} }
self::$_dataSources[$name] = $instance; self::$_dataSources[$name] = new $class(self::$config->{$name});
self::$_dataSources[$name]->configKeyName = $name;
return self::$_dataSources[$name]; return self::$_dataSources[$name];
} }