Skip to content

Commit 94bdd21

Browse files
committed
also improe cache ci for shared cache
Signed-off-by: Robin Appelman <robin@icewind.nl>
1 parent 4ce0831 commit 94bdd21

File tree

6 files changed

+39
-22
lines changed

6 files changed

+39
-22
lines changed

apps/files_external/tests/Service/StoragesServiceTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
use OCP\Files\Config\IUserMountCache;
4545
use OCP\Files\Mount\IMountPoint;
4646
use OCP\Files\Storage\IStorage;
47+
use OCP\IDBConnection;
4748
use OCP\IUser;
4849

4950
class CleaningDBConfig extends DBConfigService {
@@ -315,7 +316,7 @@ public function testDeleteStorage($backendOptions, $rustyStorageId) {
315316

316317
// manually trigger storage entry because normally it happens on first
317318
// access, which isn't possible within this test
318-
$storageCache = new \OC\Files\Cache\Storage($rustyStorageId);
319+
$storageCache = new \OC\Files\Cache\Storage($rustyStorageId, true, \OC::$server->get(IDBConnection::class));
319320

320321
/** @var IUserMountCache $mountCache */
321322
$mountCache = \OC::$server->get(IUserMountCache::class);

apps/files_sharing/lib/Cache.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,14 @@
2828
*/
2929
namespace OCA\Files_Sharing;
3030

31+
use OC\Files\Cache\CacheDependencies;
3132
use OC\Files\Cache\FailedCache;
3233
use OC\Files\Cache\Wrapper\CacheJail;
3334
use OC\Files\Search\SearchBinaryOperator;
3435
use OC\Files\Search\SearchComparison;
3536
use OC\Files\Storage\Wrapper\Jail;
3637
use OC\User\DisplayNameCache;
38+
use OCP\Files\Cache\ICache;
3739
use OCP\Files\Cache\ICacheEntry;
3840
use OCP\Files\Search\ISearchBinaryOperator;
3941
use OCP\Files\Search\ISearchComparison;
@@ -59,15 +61,20 @@ class Cache extends CacheJail {
5961
/**
6062
* @param SharedStorage $storage
6163
*/
62-
public function __construct($storage, ICacheEntry $sourceRootInfo, DisplayNameCache $displayNameCache) {
64+
public function __construct(
65+
$storage,
66+
ICacheEntry $sourceRootInfo,
67+
CacheDependencies $dependencies,
68+
) {
6369
$this->storage = $storage;
6470
$this->sourceRootInfo = $sourceRootInfo;
6571
$this->numericId = $sourceRootInfo->getStorageId();
66-
$this->displayNameCache = $displayNameCache;
72+
$this->displayNameCache = $dependencies->getDisplayNameCache();
6773

6874
parent::__construct(
6975
null,
70-
''
76+
'',
77+
$dependencies,
7178
);
7279
}
7380

@@ -92,7 +99,7 @@ protected function getGetUnjailedRoot() {
9299
return $this->sourceRootInfo->getPath();
93100
}
94101

95-
public function getCache() {
102+
public function getCache(): ICache {
96103
if (is_null($this->cache)) {
97104
$sourceStorage = $this->storage->getSourceStorage();
98105
if ($sourceStorage) {

apps/files_sharing/lib/SharedStorage.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
*/
3333
namespace OCA\Files_Sharing;
3434

35+
use OC\Files\Cache\CacheDependencies;
3536
use OC\Files\Cache\FailedCache;
3637
use OC\Files\Cache\NullWatcher;
3738
use OC\Files\Cache\Watcher;
@@ -410,10 +411,10 @@ public function getCache($path = '', $storage = null) {
410411
return new FailedCache();
411412
}
412413

413-
$this->cache = new \OCA\Files_Sharing\Cache(
414+
$this->cache = new Cache(
414415
$storage,
415416
$sourceRoot,
416-
\OC::$server->get(DisplayNameCache::class)
417+
\OC::$server->get(CacheDependencies::class)
417418
);
418419
return $this->cache;
419420
}

lib/private/Files/Cache/CacheDependencies.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace OC\Files\Cache;
44

55
use OC\SystemConfig;
6+
use OC\User\DisplayNameCache;
67
use OCP\EventDispatcher\IEventDispatcher;
78
use OCP\Files\IMimeTypeLoader;
89
use OCP\IDBConnection;
@@ -16,6 +17,7 @@ public function __construct(
1617
private QuerySearchHelper $querySearchHelper,
1718
private SystemConfig $systemConfig,
1819
private LoggerInterface $logger,
20+
private DisplayNameCache $displayNameCache,
1921
) {
2022
}
2123

@@ -42,4 +44,8 @@ public function getSystemConfig(): SystemConfig {
4244
public function getLogger(): LoggerInterface {
4345
return $this->logger;
4446
}
47+
48+
public function getDisplayNameCache(): DisplayNameCache {
49+
return $this->displayNameCache;
50+
}
4551
}

lib/private/Files/Cache/Wrapper/CacheJail.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@
2828
namespace OC\Files\Cache\Wrapper;
2929

3030
use OC\Files\Cache\Cache;
31+
use OC\Files\Cache\CacheDependencies;
3132
use OC\Files\Search\SearchBinaryOperator;
3233
use OC\Files\Search\SearchComparison;
34+
use OCP\Files\Cache\ICache;
3335
use OCP\Files\Cache\ICacheEntry;
3436
use OCP\Files\Search\ISearchBinaryOperator;
3537
use OCP\Files\Search\ISearchComparison;
@@ -45,12 +47,12 @@ class CacheJail extends CacheWrapper {
4547
protected $root;
4648
protected $unjailedRoot;
4749

48-
/**
49-
* @param ?\OCP\Files\Cache\ICache $cache
50-
* @param string $root
51-
*/
52-
public function __construct($cache, $root) {
53-
parent::__construct($cache);
50+
public function __construct(
51+
?ICache $cache,
52+
string $root,
53+
CacheDependencies $dependencies = null,
54+
) {
55+
parent::__construct($cache, $dependencies);
5456
$this->root = $root;
5557

5658
if ($cache instanceof CacheJail) {

lib/private/Files/Cache/Wrapper/CacheWrapper.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,26 @@
3030
namespace OC\Files\Cache\Wrapper;
3131

3232
use OC\Files\Cache\Cache;
33-
use OC\Files\Cache\QuerySearchHelper;
33+
use OC\Files\Cache\CacheDependencies;
3434
use OCP\Files\Cache\ICache;
3535
use OCP\Files\Cache\ICacheEntry;
3636
use OCP\Files\Search\ISearchOperator;
3737
use OCP\Files\Search\ISearchQuery;
3838

3939
class CacheWrapper extends Cache {
4040
/**
41-
* @var \OCP\Files\Cache\ICache
41+
* @var ?ICache
4242
*/
4343
protected $cache;
4444

45-
/**
46-
* @param \OCP\Files\Cache\ICache $cache
47-
*/
48-
public function __construct($cache) {
45+
public function __construct(?ICache $cache, CacheDependencies $dependencies = null) {
4946
$this->cache = $cache;
50-
$this->mimetypeLoader = \OC::$server->getMimeTypeLoader();
51-
$this->connection = \OC::$server->getDatabaseConnection();
52-
$this->querySearchHelper = \OC::$server->get(QuerySearchHelper::class);
47+
if (!$dependencies) {
48+
$dependencies = \OC::$server->get(CacheDependencies::class);
49+
}
50+
$this->mimetypeLoader = $dependencies->getMimeTypeLoader();
51+
$this->connection = $dependencies->getConnection();
52+
$this->querySearchHelper = $dependencies->getQuerySearchHelper();
5353
}
5454

5555
protected function getCache() {

0 commit comments

Comments
 (0)