Completed
Push — master ( ed1dd0...0d6f9c )
by Roeland
9s
created

Provider   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 6
lcom 1
cbo 0
dl 0
loc 36
ccs 0
cts 20
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
B parse() 0 21 5
1
<?php
2
/**
3
 * @copyright Copyright (c) 2018 Roeland Jago Douma <[email protected]>
4
 *
5
 * @author Roeland Jago Douma <[email protected]>
6
 *
7
 * @license GNU AGPL version 3 or any later version
8
 *
9
 * This program is free software: you can redistribute it and/or modify
10
 * it under the terms of the GNU Affero General Public License as
11
 * published by the Free Software Foundation, either version 3 of the
12
 * License, or (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU Affero General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU Affero General Public License
20
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 *
22
 */
23
namespace OCA\Files_Antivirus\Activity;
24
25
use OCA\Files_Antivirus\AppInfo\Application;
26
use OCP\Activity\IEvent;
27
use OCP\Activity\IProvider;
28
use OCP\L10N\IFactory;
29
30
class Provider implements IProvider {
31
32
	const TYPE_VIRUS_DETECTED = 'virus_detected';
33
	const SUBJECT_VIRUS_DETECTED = 'virus_detected';
34
	const MESSAGE_FILE_DELETED = 'file_deleted';
35
36
	/** @var IFactory */
37
	private $languageFactory;
38
39
	public function __construct(IFactory $languageFactory) {
40
		$this->languageFactory = $languageFactory;
41
	}
42
43
	public function parse($language, IEvent $event, IEvent $previousEvent = null) {
44
		if ($event->getApp() !== Application::APP_NAME || $event->getType() !== self::TYPE_VIRUS_DETECTED) {
45
			throw new \InvalidArgumentException();
46
		}
47
48
		$l = $this->languageFactory->get('files_antivirus', $language);
49
50
		switch ($event->getSubject()) {
51
			case self::SUBJECT_VIRUS_DETECTED:
52
				$event->setParsedSubject($l->t('File %s is infected with %s', $event->getSubjectParameters()));
53
				break;
54
		}
55
56
		switch ($event->getMessage()) {
57
			case self::MESSAGE_FILE_DELETED:
58
				$event->setParsedMessage($l->t('It is going to be deleted'));
59
				break;
60
		}
61
62
		return $event;
63
	}
64
65
}
66