Code Duplication    Length = 25-25 lines in 3 locations

lib/private/Files/Storage/Common.php 3 locations

@@ 687-711 (lines=25) @@
684
	 * @param \OCP\Lock\ILockingProvider $provider
685
	 * @throws \OCP\Lock\LockedException
686
	 */
687
	public function acquireLock($path, $type, ILockingProvider $provider) {
688
		$logger = $this->getLockLogger();
689
		if ($logger) {
690
			$typeString = ($type === ILockingProvider::LOCK_SHARED) ? 'shared' : 'exclusive';
691
			$logger->info(
692
				sprintf(
693
					'acquire %s lock on "%s" on storage "%s"',
694
					$typeString,
695
					$path,
696
					$this->getId()
697
				),
698
				[
699
					'app' => 'locking',
700
				]
701
			);
702
		}
703
		try {
704
			$provider->acquireLock('files/' . md5($this->getId() . '::' . trim($path, '/')), $type);
705
		} catch (LockedException $e) {
706
			if ($logger) {
707
				$logger->logException($e);
708
			}
709
			throw $e;
710
		}
711
	}
712
713
	/**
714
	 * @param string $path
@@ 719-743 (lines=25) @@
716
	 * @param \OCP\Lock\ILockingProvider $provider
717
	 * @throws \OCP\Lock\LockedException
718
	 */
719
	public function releaseLock($path, $type, ILockingProvider $provider) {
720
		$logger = $this->getLockLogger();
721
		if ($logger) {
722
			$typeString = ($type === ILockingProvider::LOCK_SHARED) ? 'shared' : 'exclusive';
723
			$logger->info(
724
				sprintf(
725
					'release %s lock on "%s" on storage "%s"',
726
					$typeString,
727
					$path,
728
					$this->getId()
729
				),
730
				[
731
					'app' => 'locking',
732
				]
733
			);
734
		}
735
		try {
736
			$provider->releaseLock('files/' . md5($this->getId() . '::' . trim($path, '/')), $type);
737
		} catch (LockedException $e) {
738
			if ($logger) {
739
				$logger->logException($e);
740
			}
741
			throw $e;
742
		}
743
	}
744
745
	/**
746
	 * @param string $path
@@ 751-775 (lines=25) @@
748
	 * @param \OCP\Lock\ILockingProvider $provider
749
	 * @throws \OCP\Lock\LockedException
750
	 */
751
	public function changeLock($path, $type, ILockingProvider $provider) {
752
		$logger = $this->getLockLogger();
753
		if ($logger) {
754
			$typeString = ($type === ILockingProvider::LOCK_SHARED) ? 'shared' : 'exclusive';
755
			$logger->info(
756
				sprintf(
757
					'change lock on "%s" to %s on storage "%s"',
758
					$path,
759
					$typeString,
760
					$this->getId()
761
				),
762
				[
763
					'app' => 'locking',
764
				]
765
			);
766
		}
767
		try {
768
			$provider->changeLock('files/' . md5($this->getId() . '::' . trim($path, '/')), $type);
769
		} catch (LockedException $e) {
770
			if ($logger) {
771
				$logger->logException($e);
772
			}
773
			throw $e;
774
		}
775
	}
776
777
	private function getLockLogger() {
778
		if (is_null($this->shouldLogLocks)) {