From 4a7e0561caebd470fbaaf88655619930260a573e Mon Sep 17 00:00:00 2001
From: Bernhard Posselt <dev@bernhard-posselt.com>
Date: Sat, 19 Apr 2014 19:30:12 +0200
Subject: [PATCH] move db into iservercontainer

---
 lib/private/appframework/db/db.php                  |  2 +-
 .../dependencyinjection/dicontainer.php             |  7 -------
 lib/private/server.php                              | 13 +++++++++++++
 lib/public/appframework/db/mapper.php               |  2 ++
 lib/public/{appframework/db => }/idb.php            |  2 +-
 lib/public/iservercontainer.php                     |  8 ++++++++
 tests/lib/appframework/db/MapperTest.php            |  2 ++
 tests/lib/appframework/db/MapperTestUtility.php     |  2 +-
 8 files changed, 28 insertions(+), 10 deletions(-)
 rename lib/public/{appframework/db => }/idb.php (98%)

diff --git a/lib/private/appframework/db/db.php b/lib/private/appframework/db/db.php
index 713b39175c..fc77a38f81 100644
--- a/lib/private/appframework/db/db.php
+++ b/lib/private/appframework/db/db.php
@@ -23,7 +23,7 @@
 
 namespace OC\AppFramework\Db;
 
-use \OCP\AppFramework\Db\IDb;
+use \OCP\IDb;
 
 
 /**
diff --git a/lib/private/appframework/dependencyinjection/dicontainer.php b/lib/private/appframework/dependencyinjection/dicontainer.php
index 0faa507c76..73d356e985 100644
--- a/lib/private/appframework/dependencyinjection/dicontainer.php
+++ b/lib/private/appframework/dependencyinjection/dicontainer.php
@@ -61,13 +61,6 @@ class DIContainer extends SimpleContainer implements IAppContainer{
 			return new API($c['AppName']);
 		});
 
-		/**
-		 * Database
-		 */
-		$this['Db'] = $this->share(function($c){
-			return new Db();
-		});
-
 		/**
 		 * Http
 		 */
diff --git a/lib/private/server.php b/lib/private/server.php
index 5d90a0b19f..e977c64383 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -3,6 +3,7 @@
 namespace OC;
 
 use OC\AppFramework\Http\Request;
+use OC\AppFramework\Db\Db;
 use OC\AppFramework\Utility\SimpleContainer;
 use OC\Cache\UserCache;
 use OC\DB\ConnectionWrapper;
@@ -177,6 +178,9 @@ class Server extends SimpleContainer implements IServerContainer {
 			}
 			return $router;
 		});
+		$this['Db'] = $this->share(function($c){
+			return new Db();
+		});
 	}
 
 	/**
@@ -392,4 +396,13 @@ class Server extends SimpleContainer implements IServerContainer {
 	function getRouter(){
 		return $this->query('Router');
 	}
+
+
+	/**
+	 * Returns an instance of the db facade
+	 * @return \OCP\IDb
+	 */
+	function getDb() {
+		return $this->query('Db');
+	}
 }
diff --git a/lib/public/appframework/db/mapper.php b/lib/public/appframework/db/mapper.php
index 3e9778dbc6..46240649c7 100644
--- a/lib/public/appframework/db/mapper.php
+++ b/lib/public/appframework/db/mapper.php
@@ -26,6 +26,8 @@
 
 namespace OCP\AppFramework\Db;
 
+use \OCP\IDb;
+
 
 /**
  * Simple parent class for inheriting your data access layer from. This class
diff --git a/lib/public/appframework/db/idb.php b/lib/public/idb.php
similarity index 98%
rename from lib/public/appframework/db/idb.php
rename to lib/public/idb.php
index e5313476f4..82a8a68150 100644
--- a/lib/public/appframework/db/idb.php
+++ b/lib/public/idb.php
@@ -21,7 +21,7 @@
  *
  */
 
-namespace OCP\AppFramework\Db;
+namespace OCP;
 
 
 /**
diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php
index 600d81d83a..22176c36b8 100644
--- a/lib/public/iservercontainer.php
+++ b/lib/public/iservercontainer.php
@@ -113,6 +113,14 @@ interface IServerContainer {
 	 */
 	function getConfig();
 
+
+	/**
+	 * Returns an instance of the db facade
+	 * @return \OCP\IDb
+	 */
+	function getDb();
+
+
 	/**
 	 * Returns the app config manager
 	 *
diff --git a/tests/lib/appframework/db/MapperTest.php b/tests/lib/appframework/db/MapperTest.php
index c4eb35a068..114081beb2 100644
--- a/tests/lib/appframework/db/MapperTest.php
+++ b/tests/lib/appframework/db/MapperTest.php
@@ -24,6 +24,8 @@
 
 namespace OCP\AppFramework\Db;
 
+use \OCP\IDb;
+
 
 require_once __DIR__ . '/MapperTestUtility.php';
 
diff --git a/tests/lib/appframework/db/MapperTestUtility.php b/tests/lib/appframework/db/MapperTestUtility.php
index ecd79fef26..4c81d4cd27 100644
--- a/tests/lib/appframework/db/MapperTestUtility.php
+++ b/tests/lib/appframework/db/MapperTestUtility.php
@@ -46,7 +46,7 @@ abstract class MapperTestUtility extends \PHPUnit_Framework_TestCase {
 	 */
 	protected function setUp(){
 		$this->db = $this->getMockBuilder(
-			'\OCP\AppFramework\Db\IDb')
+			'\OCP\IDb')
 			->disableOriginalConstructor()
 			->getMock();
 
-- 
GitLab