[Pkg-owncloud-commits] [owncloud] 126/223: Fix storage being passed to cache/watcher and scanner when using storage wrappers

David Prévot taffit at moszumanska.debian.org
Sun Jun 22 01:54:14 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit 87e311b99628858ddb974cd35ae381a26b4bcdb5
Author: Robin Appelman <icewind at owncloud.com>
Date:   Thu Jun 12 17:23:34 2014 +0200

    Fix storage being passed to cache/watcher and scanner when using storage wrappers
---
 apps/files_sharing/lib/external/storage.php   | 12 ++++++++----
 apps/files_sharing/lib/sharedstorage.php      | 21 ++++++++++++++------
 lib/private/files/storage/common.php          | 28 +++++++++++++++++++--------
 lib/private/files/storage/home.php            |  7 +++++--
 lib/private/files/storage/storage.php         |  9 ++++++---
 lib/private/files/storage/wrapper/wrapper.php | 26 +++++++++++++++++++------
 6 files changed, 74 insertions(+), 29 deletions(-)

diff --git a/apps/files_sharing/lib/external/storage.php b/apps/files_sharing/lib/external/storage.php
index e25777d..7eac7f0 100644
--- a/apps/files_sharing/lib/external/storage.php
+++ b/apps/files_sharing/lib/external/storage.php
@@ -85,8 +85,8 @@ class Storage extends DAV implements ISharedStorage {
 		return 'shared::' . md5($this->token . '@' . $this->remote);
 	}
 
-	public function getCache($path = '') {
-		if (!isset($this->cache)) {
+	public function getCache($path = '', $storage = null) {
+		if (!$storage) {
 			$this->cache = new Cache($this, $this->remote, $this->remoteUser);
 		}
 		return $this->cache;
@@ -94,11 +94,15 @@ class Storage extends DAV implements ISharedStorage {
 
 	/**
 	 * @param string $path
+	 * @param \OC\Files\Storage\Storage $storage
 	 * @return \OCA\Files_Sharing\External\Scanner
 	 */
-	public function getScanner($path = '') {
+	public function getScanner($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
 		if (!isset($this->scanner)) {
-			$this->scanner = new Scanner($this);
+			$this->scanner = new Scanner($storage);
 		}
 		return $this->scanner;
 	}
diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/sharedstorage.php
index 6760538..8d5b22d 100644
--- a/apps/files_sharing/lib/sharedstorage.php
+++ b/apps/files_sharing/lib/sharedstorage.php
@@ -489,16 +489,25 @@ class Shared extends \OC\Files\Storage\Common implements ISharedStorage {
 		return $this->filemtime($path) > $time;
 	}
 
-	public function getCache($path = '') {
-		return new \OC\Files\Cache\Shared_Cache($this);
+	public function getCache($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
+		return new \OC\Files\Cache\Shared_Cache($storage);
 	}
 
-	public function getScanner($path = '') {
-		return new \OC\Files\Cache\Scanner($this);
+	public function getScanner($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
+		return new \OC\Files\Cache\Scanner($storage);
 	}
 
-	public function getWatcher($path = '') {
-		return new \OC\Files\Cache\Shared_Watcher($this);
+	public function getWatcher($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
+		return new \OC\Files\Cache\Shared_Watcher($storage);
 	}
 
 	public function getOwner($path) {
diff --git a/lib/private/files/storage/common.php b/lib/private/files/storage/common.php
index 4d5a207..ecc7529 100644
--- a/lib/private/files/storage/common.php
+++ b/lib/private/files/storage/common.php
@@ -287,31 +287,43 @@ abstract class Common implements \OC\Files\Storage\Storage {
 		return $this->filemtime($path) > $time;
 	}
 
-	public function getCache($path = '') {
+	public function getCache($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
 		if (!isset($this->cache)) {
-			$this->cache = new \OC\Files\Cache\Cache($this);
+			$this->cache = new \OC\Files\Cache\Cache($storage);
 		}
 		return $this->cache;
 	}
 
-	public function getScanner($path = '') {
+	public function getScanner($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
 		if (!isset($this->scanner)) {
-			$this->scanner = new \OC\Files\Cache\Scanner($this);
+			$this->scanner = new \OC\Files\Cache\Scanner($storage);
 		}
 		return $this->scanner;
 	}
 
-	public function getWatcher($path = '') {
+	public function getWatcher($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
 		if (!isset($this->watcher)) {
-			$this->watcher = new \OC\Files\Cache\Watcher($this);
+			$this->watcher = new \OC\Files\Cache\Watcher($storage);
 			$this->watcher->setPolicy(\OC::$server->getConfig()->getSystemValue('filesystem_check_changes', Watcher::CHECK_ONCE));
 		}
 		return $this->watcher;
 	}
 
-	public function getStorageCache() {
+	public function getStorageCache($storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
 		if (!isset($this->storageCache)) {
-			$this->storageCache = new \OC\Files\Cache\Storage($this);
+			$this->storageCache = new \OC\Files\Cache\Storage($storage);
 		}
 		return $this->storageCache;
 	}
diff --git a/lib/private/files/storage/home.php b/lib/private/files/storage/home.php
index f66096f..214deed 100644
--- a/lib/private/files/storage/home.php
+++ b/lib/private/files/storage/home.php
@@ -49,9 +49,12 @@ class Home extends Local {
 	/**
 	 * @return \OC\Files\Cache\HomeCache
 	 */
-	public function getCache($path = '') {
+	public function getCache($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
 		if (!isset($this->cache)) {
-			$this->cache = new \OC\Files\Cache\HomeCache($this);
+			$this->cache = new \OC\Files\Cache\HomeCache($storage);
 		}
 		return $this->cache;
 	}
diff --git a/lib/private/files/storage/storage.php b/lib/private/files/storage/storage.php
index f085a05..2139f46 100644
--- a/lib/private/files/storage/storage.php
+++ b/lib/private/files/storage/storage.php
@@ -19,17 +19,19 @@ interface Storage extends \OCP\Files\Storage {
 	 * get a cache instance for the storage
 	 *
 	 * @param string $path
+	 * @param \OC\Files\Storage\Storage (optional) the storage to pass to the cache
 	 * @return \OC\Files\Cache\Cache
 	 */
-	public function getCache($path = '');
+	public function getCache($path = '', $storage = null);
 
 	/**
 	 * get a scanner instance for the storage
 	 *
 	 * @param string $path
+	 * @param \OC\Files\Storage\Storage (optional) the storage to pass to the scanner
 	 * @return \OC\Files\Cache\Scanner
 	 */
-	public function getScanner($path = '');
+	public function getScanner($path = '', $storage = null);
 
 
 	/**
@@ -44,9 +46,10 @@ interface Storage extends \OCP\Files\Storage {
 	 * get a watcher instance for the cache
 	 *
 	 * @param string $path
+	 * @param \OC\Files\Storage\Storage (optional) the storage to pass to the watcher
 	 * @return \OC\Files\Cache\Watcher
 	 */
-	public function getWatcher($path = '');
+	public function getWatcher($path = '', $storage = null);
 
 	/**
 	 * @return \OC\Files\Cache\Storage
diff --git a/lib/private/files/storage/wrapper/wrapper.php b/lib/private/files/storage/wrapper/wrapper.php
index 057c31c..d899c88 100644
--- a/lib/private/files/storage/wrapper/wrapper.php
+++ b/lib/private/files/storage/wrapper/wrapper.php
@@ -361,20 +361,28 @@ class Wrapper implements \OC\Files\Storage\Storage {
 	 * get a cache instance for the storage
 	 *
 	 * @param string $path
+	 * @param \OC\Files\Storage\Storage (optional) the storage to pass to the cache
 	 * @return \OC\Files\Cache\Cache
 	 */
-	public function getCache($path = '') {
-		return $this->storage->getCache($path);
+	public function getCache($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
+		return $this->storage->getCache($path, $storage);
 	}
 
 	/**
 	 * get a scanner instance for the storage
 	 *
 	 * @param string $path
+	 * @param \OC\Files\Storage\Storage (optional) the storage to pass to the scanner
 	 * @return \OC\Files\Cache\Scanner
 	 */
-	public function getScanner($path = '') {
-		return $this->storage->getScanner($path);
+	public function getScanner($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
+		return $this->storage->getScanner($path, $storage);
 	}
 
 
@@ -392,10 +400,14 @@ class Wrapper implements \OC\Files\Storage\Storage {
 	 * get a watcher instance for the cache
 	 *
 	 * @param string $path
+	 * @param \OC\Files\Storage\Storage (optional) the storage to pass to the watcher
 	 * @return \OC\Files\Cache\Watcher
 	 */
-	public function getWatcher($path = '') {
-		return $this->storage->getWatcher($path);
+	public function getWatcher($path = '', $storage = null) {
+		if (!$storage) {
+			$storage = $this;
+		}
+		return $this->storage->getWatcher($path, $storage);
 	}
 
 	/**
@@ -417,6 +429,7 @@ class Wrapper implements \OC\Files\Storage\Storage {
 
 	/**
 	 * Returns true
+	 *
 	 * @return true
 	 */
 	public function test() {
@@ -425,6 +438,7 @@ class Wrapper implements \OC\Files\Storage\Storage {
 
 	/**
 	 * Returns the wrapped storage's value for isLocal()
+	 *
 	 * @return bool wrapped storage's isLocal() value
 	 */
 	public function isLocal() {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list