Browse Source

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

Ceeram 13 years ago
parent
commit
dde0912d1e
1 changed files with 5 additions and 6 deletions
  1. 5 6
      lib/Cake/Model/ConnectionManager.php

+ 5 - 6
lib/Cake/Model/ConnectionManager.php

@@ -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];
 	}