From 065753f0ae39cfee229cefb612ca8243b9bae6ca Mon Sep 17 00:00:00 2001
From: Robin Appelman <robin@icewind.nl>
Date: Thu, 17 Nov 2016 14:18:08 +0100
Subject: dont use the source cache/storage until needed

Signed-off-by: Robin Appelman <robin@icewind.nl>
---
 apps/files_sharing/lib/Cache.php | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

(limited to 'apps/files_sharing/lib')

diff --git a/apps/files_sharing/lib/Cache.php b/apps/files_sharing/lib/Cache.php
index 21f3ff622f9..49765a7aab5 100644
--- a/apps/files_sharing/lib/Cache.php
+++ b/apps/files_sharing/lib/Cache.php
@@ -42,39 +42,33 @@ class Cache extends CacheJail {
 	 */
 	private $storage;
 
-	/**
-	 * @var IStorage
-	 */
-	private $sourceStorage;
-
 	/**
 	 * @var ICacheEntry
 	 */
 	private $sourceRootInfo;
 
-	/**
-	 * @var \OCP\Files\Cache\ICache
-	 */
-	private $sourceCache;
-
 	private $rootUnchanged = true;
 
 	/**
 	 * @param \OCA\Files_Sharing\SharedStorage $storage
-	 * @param IStorage $sourceStorage
 	 * @param ICacheEntry $sourceRootInfo
 	 */
-	public function __construct($storage, IStorage $sourceStorage, ICacheEntry $sourceRootInfo) {
+	public function __construct($storage, ICacheEntry $sourceRootInfo) {
 		$this->storage = $storage;
-		$this->sourceStorage = $sourceStorage;
 		$this->sourceRootInfo = $sourceRootInfo;
-		$this->sourceCache = $sourceStorage->getCache();
 		parent::__construct(
-			$this->sourceCache,
+			null,
 			$this->sourceRootInfo->getPath()
 		);
 	}
 
+	public function getCache() {
+		if (is_null($this->cache)) {
+			$this->cache = $this->storage->getSourceStorage()->getCache();
+		}
+		return $this->cache;
+	}
+
 	public function getNumericStorageId() {
 		if (isset($this->numericId)) {
 			return $this->numericId;
-- 
cgit v1.2.3