[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