Skip to content

Package: FiredTriggerServiceImpl

FiredTriggerServiceImpl

nameinstructionbranchcomplexitylinemethod
FiredTriggerServiceImpl()
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
count(KapuaQuery)
M: 21 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
create(FiredTriggerCreator)
M: 50 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
delete(KapuaId, KapuaId)
M: 23 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
find(KapuaId, KapuaId)
M: 20 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
lambda$count$3(KapuaQuery, EntityManager)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
lambda$create$0(FiredTriggerCreator, EntityManager)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
lambda$delete$4(KapuaId, KapuaId, EntityManager)
M: 16 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
lambda$find$1(KapuaId, KapuaId, EntityManager)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
lambda$query$2(KapuaQuery, EntityManager)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
query(KapuaQuery)
M: 20 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2021, 2022 Eurotech and/or its affiliates and others
3: *
4: * This program and the accompanying materials are made
5: * available under the terms of the Eclipse Public License 2.0
6: * which is available at https://www.eclipse.org/legal/epl-2.0/
7: *
8: * SPDX-License-Identifier: EPL-2.0
9: *
10: * Contributors:
11: * Eurotech - initial API and implementation
12: *******************************************************************************/
13: package org.eclipse.kapua.service.scheduler.trigger.fired.quartz;
14:
15: import org.eclipse.kapua.KapuaEntityNotFoundException;
16: import org.eclipse.kapua.KapuaException;
17: import org.eclipse.kapua.commons.service.internal.AbstractKapuaService;
18: import org.eclipse.kapua.commons.util.ArgumentValidator;
19: import org.eclipse.kapua.locator.KapuaProvider;
20: import org.eclipse.kapua.model.KapuaEntityAttributes;
21: import org.eclipse.kapua.model.domain.Actions;
22: import org.eclipse.kapua.model.id.KapuaId;
23: import org.eclipse.kapua.model.query.KapuaQuery;
24: import org.eclipse.kapua.service.authorization.AuthorizationService;
25: import org.eclipse.kapua.service.authorization.permission.PermissionFactory;
26: import org.eclipse.kapua.service.job.JobDomains;
27: import org.eclipse.kapua.service.scheduler.quartz.SchedulerEntityManagerFactory;
28: import org.eclipse.kapua.service.scheduler.trigger.Trigger;
29: import org.eclipse.kapua.service.scheduler.trigger.TriggerService;
30: import org.eclipse.kapua.service.scheduler.trigger.fired.FiredTrigger;
31: import org.eclipse.kapua.service.scheduler.trigger.fired.FiredTriggerCreator;
32: import org.eclipse.kapua.service.scheduler.trigger.fired.FiredTriggerListResult;
33: import org.eclipse.kapua.service.scheduler.trigger.fired.FiredTriggerService;
34:
35: import javax.inject.Inject;
36:
37: /**
38: * {@link FiredTriggerService} implementation.
39: *
40: * @since 1.5.0
41: */
42: @KapuaProvider
43: public class FiredTriggerServiceImpl extends AbstractKapuaService implements FiredTriggerService {
44:
45: @Inject
46: private AuthorizationService authorizationService;
47:
48: @Inject
49: private PermissionFactory permissionFactory;
50:
51: @Inject
52: private TriggerService triggerService;
53:
54: public FiredTriggerServiceImpl() {
55: super(SchedulerEntityManagerFactory.getInstance());
56: }
57:
58: @Override
59: public FiredTrigger create(FiredTriggerCreator firedTriggerCreator) throws KapuaException {
60: //
61: // Argument Validation
62: ArgumentValidator.notNull(firedTriggerCreator, "firedTriggerCreator");
63: ArgumentValidator.notNull(firedTriggerCreator.getScopeId(), "firedTriggerCreator.scopeId");
64: ArgumentValidator.notNull(firedTriggerCreator.getTriggerId(), "firedTriggerCreator.triggerId");
65: ArgumentValidator.notNull(firedTriggerCreator.getFiredOn(), "firedTriggerCreator.firedOn");
66: ArgumentValidator.notNull(firedTriggerCreator.getStatus(), "firedTriggerCreator.status");
67:
68: //
69: // Check access
70: authorizationService.checkPermission(permissionFactory.newPermission(JobDomains.JOB_DOMAIN, Actions.write, null));
71:
72: //
73: // Check existence of Trigger
74:• if (triggerService.find(firedTriggerCreator.getScopeId(), firedTriggerCreator.getTriggerId()) == null) {
75: throw new KapuaEntityNotFoundException(Trigger.TYPE, firedTriggerCreator.getTriggerId());
76: }
77:
78: //
79: // Do create
80: return entityManagerSession.doTransactedAction(em -> FiredTriggerDAO.create(em, firedTriggerCreator));
81: }
82:
83: @Override
84: public FiredTrigger find(KapuaId scopeId, KapuaId firedTriggerId) throws KapuaException {
85: //
86: // Argument Validation
87: ArgumentValidator.notNull(firedTriggerId, KapuaEntityAttributes.ENTITY_ID);
88:
89: //
90: // Check Access
91: authorizationService.checkPermission(permissionFactory.newPermission(JobDomains.JOB_DOMAIN, Actions.read, scopeId));
92:
93: //
94: // Do find
95: return entityManagerSession.doAction(em -> FiredTriggerDAO.find(em, scopeId, firedTriggerId));
96: }
97:
98: @Override
99: public FiredTriggerListResult query(KapuaQuery query) throws KapuaException {
100: //
101: // Argument Validation
102: ArgumentValidator.notNull(query, "query");
103:
104: //
105: // Check Access
106: authorizationService.checkPermission(permissionFactory.newPermission(JobDomains.JOB_DOMAIN, Actions.read, query.getScopeId()));
107:
108: //
109: // Do query
110: return entityManagerSession.doAction(em -> FiredTriggerDAO.query(em, query));
111: }
112:
113: @Override
114: public long count(KapuaQuery query) throws KapuaException {
115: //
116: // Argument Validation
117: ArgumentValidator.notNull(query, "query");
118:
119: //
120: // Check Access
121: authorizationService.checkPermission(permissionFactory.newPermission(JobDomains.JOB_DOMAIN, Actions.read, query.getScopeId()));
122:
123: //
124: // Do query
125: return entityManagerSession.doAction(em -> FiredTriggerDAO.count(em, query));
126: }
127:
128: @Override
129: public void delete(KapuaId scopeId, KapuaId firedTriggerId) throws KapuaException {
130: //
131: // Argument Validation
132: ArgumentValidator.notNull(scopeId, "scopeId");
133: ArgumentValidator.notNull(firedTriggerId, KapuaEntityAttributes.ENTITY_ID);
134:
135: //
136: // Check Access
137: authorizationService.checkPermission(permissionFactory.newPermission(JobDomains.JOB_DOMAIN, Actions.delete, null));
138:
139: //
140: // Do delete
141: entityManagerSession.doTransactedAction(em -> {
142:• if (FiredTriggerDAO.find(em, scopeId, firedTriggerId) == null) {
143: throw new KapuaEntityNotFoundException(FiredTrigger.TYPE, firedTriggerId);
144: }
145:
146: return FiredTriggerDAO.delete(em, scopeId, firedTriggerId);
147: });
148:
149: }
150: }