diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2020-03-09 19:31:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-09 19:31:45 +0100 |
commit | b6245be30278f62ff050c97c0e400dba69fd5d43 (patch) | |
tree | 56d1dedc212e6bd226eadd9697569e2d6b6d45f5 /lib | |
parent | 1f7cb027a4f3169274f6b5861d6d55e1e21ee002 (diff) | |
parent | fab22ac14cb8116006b11cb2bcfe0337daaa2138 (diff) | |
download | nextcloud-server-b6245be30278f62ff050c97c0e400dba69fd5d43.tar.gz nextcloud-server-b6245be30278f62ff050c97c0e400dba69fd5d43.zip |
Merge pull request #19746 from nextcloud/locked-exception-forward-existing
pass the existing locks info when making locked exception with absolu…
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/Files/View.php | 11 | ||||
-rw-r--r-- | lib/public/Lock/LockedException.php | 12 |
2 files changed, 19 insertions, 4 deletions
diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php index 2c01c112ad4..90ac1e1988d 100644 --- a/lib/private/Files/View.php +++ b/lib/private/Files/View.php @@ -1946,7 +1946,8 @@ class View { // rethrow with the a human-readable path throw new LockedException( $this->getPathRelativeToFiles($absolutePath), - $e + $e, + $e->getExistingLock() ); } } @@ -1988,12 +1989,14 @@ class View { // rethrow with the a human-readable path throw new LockedException( $this->getPathRelativeToFiles($absolutePath), - $e + $e, + $e->getExistingLock() ); - } catch (\InvalidArgumentException $e) { + } catch (\InvalidArgumentException $ex) { throw new LockedException( $absolutePath, - $e + $ex, + $e->getExistingLock() ); } } diff --git a/lib/public/Lock/LockedException.php b/lib/public/Lock/LockedException.php index 99205b54d24..582157010cc 100644 --- a/lib/public/Lock/LockedException.php +++ b/lib/public/Lock/LockedException.php @@ -44,6 +44,9 @@ class LockedException extends \Exception { */ private $path; + /** @var string|null */ + private $existingLock; + /** * LockedException constructor. * @@ -54,6 +57,7 @@ class LockedException extends \Exception { */ public function __construct(string $path, \Exception $previous = null, string $existingLock = null) { $message = '"' . $path . '" is locked'; + $this->existingLock = $existingLock; if ($existingLock) { $message .= ', existing lock on file: ' . $existingLock; } @@ -68,4 +72,12 @@ class LockedException extends \Exception { public function getPath(): string { return $this->path; } + + /** + * @return string + * @since 19.0.0 + */ + public function getExistingLock(): ?string { + return $this->existingLock; + } } |