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];
$class = $conn['classname'];
$instance = new $class(self::$config->{$name});
$instance->configKeyName = $name;
if (!$instance instanceof Datasource) {
if (strpos(App::location($class), 'Datasource') === false) {
throw new MissingDatasourceException(array(
'class' => $class,
'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];
}