Skip to content

Package: TriggerDefinitionDAO

TriggerDefinitionDAO

nameinstructionbranchcomplexitylinemethod
count(EntityManager, KapuaQuery)
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
create(EntityManager, TriggerDefinitionCreator)
M: 27 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
delete(EntityManager, KapuaId, KapuaId)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
find(EntityManager, KapuaId)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
find(EntityManager, KapuaId, KapuaId)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
findByName(EntityManager, String)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
query(EntityManager, KapuaQuery)
M: 10 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
update(EntityManager, TriggerDefinition)
M: 9 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2019, 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.definition.quartz;
14:
15: import org.eclipse.kapua.KapuaEntityNotFoundException;
16: import org.eclipse.kapua.KapuaException;
17: import org.eclipse.kapua.commons.jpa.EntityManager;
18: import org.eclipse.kapua.commons.service.internal.ServiceDAO;
19: import org.eclipse.kapua.model.KapuaNamedEntityAttributes;
20: import org.eclipse.kapua.model.id.KapuaId;
21: import org.eclipse.kapua.model.query.KapuaQuery;
22: import org.eclipse.kapua.service.scheduler.trigger.definition.TriggerDefinition;
23: import org.eclipse.kapua.service.scheduler.trigger.definition.TriggerDefinitionCreator;
24: import org.eclipse.kapua.service.scheduler.trigger.definition.TriggerDefinitionListResult;
25:
26: /**
27: * {@link TriggerDefinition} DAO.
28: *
29: * @since 1.1.0
30: */
31: public class TriggerDefinitionDAO {
32:
33: private TriggerDefinitionDAO() {
34: }
35:
36: /**
37: * Creates and return new TriggerDefinition
38: *
39: * @param em The {@link EntityManager} that owns the transaction.
40: * @param triggerDefinitionCreator The {@link TriggerDefinitionCreator} to persist.
41: * @return The newly created {@link TriggerDefinition}
42: * @since 1.1.0
43: */
44: public static TriggerDefinition create(EntityManager em, TriggerDefinitionCreator triggerDefinitionCreator) {
45:
46: TriggerDefinitionImpl triggerDefinitionImpl = new TriggerDefinitionImpl(triggerDefinitionCreator.getScopeId());
47: triggerDefinitionImpl.setName(triggerDefinitionCreator.getName());
48: triggerDefinitionImpl.setDescription(triggerDefinitionCreator.getDescription());
49: triggerDefinitionImpl.setProcessorName(triggerDefinitionCreator.getProcessorName());
50: triggerDefinitionImpl.setTriggerProperties(triggerDefinitionCreator.getTriggerProperties());
51:
52: return ServiceDAO.create(em, triggerDefinitionImpl);
53: }
54:
55: /**
56: * Updates the provided triggerDefinition
57: *
58: * @param em The {@link EntityManager} that owns the transaction.
59: * @param triggerDefinition The {@link TriggerDefinition} to update.
60: * @return The updated {@link TriggerDefinition}.
61: * @throws KapuaException if error occurs while updating
62: * @since 1.1.0
63: */
64: public static TriggerDefinition update(EntityManager em, TriggerDefinition triggerDefinition) throws KapuaException {
65: //
66: // Update triggerDefinition
67: TriggerDefinitionImpl triggerDefinitionImpl = (TriggerDefinitionImpl) triggerDefinition;
68:
69: return ServiceDAO.update(em, TriggerDefinitionImpl.class, triggerDefinitionImpl);
70: }
71:
72: /**
73: * Finds the triggerDefinition by triggerDefinition identifier
74: *
75: * @param em The {@link EntityManager} that owns the transaction.
76: * @param triggerDefinitionId The {@link TriggerDefinition#getId()}
77: * @return The found {@link TriggerDefinition} or {@code null}
78: * @since 1.1.0
79: */
80: public static TriggerDefinition find(EntityManager em, KapuaId triggerDefinitionId) {
81: return ServiceDAO.find(em, TriggerDefinitionImpl.class, null, triggerDefinitionId);
82: }
83:
84: /**
85: * Finds the triggerDefinition by triggerDefinition identifier
86: *
87: * @param em The {@link EntityManager} that owns the transaction.
88: * @param triggerDefinitionId The {@link TriggerDefinition#getScopeId()}
89: * @param triggerDefinitionId The {@link TriggerDefinition#getId()}
90: * @return The found {@link TriggerDefinition} or {@code null}
91: * @since 1.1.0
92: */
93: public static TriggerDefinition find(EntityManager em, KapuaId scopeId, KapuaId triggerDefinitionId) {
94: return ServiceDAO.find(em, TriggerDefinitionImpl.class, scopeId, triggerDefinitionId);
95: }
96:
97: /**
98: * @param em The {@link EntityManager} that owns the transaction.
99: * @param name The {@link TriggerDefinition#getName()}
100: * @return The found {@link TriggerDefinition} or {@code null}
101: * @since 1.1.0
102: */
103: public static TriggerDefinition findByName(EntityManager em, String name) {
104: return ServiceDAO.findByField(em, TriggerDefinitionImpl.class, KapuaNamedEntityAttributes.NAME, name);
105: }
106:
107: /**
108: * Returns the triggerDefinition list matching the provided query
109: *
110: * @param em The {@link EntityManager} that owns the transaction.
111: * @param triggerDefinitionQuery The {@link org.eclipse.kapua.service.scheduler.trigger.definition.TriggerDefinitionQuery} to perform
112: * @return The {@link TriggerDefinitionListResult} that matches the given {@link org.eclipse.kapua.service.scheduler.trigger.definition.TriggerDefinitionQuery}
113: * @throws KapuaException if any error occurs while querying.
114: * @since 1.1.0
115: */
116: public static TriggerDefinitionListResult query(EntityManager em, KapuaQuery triggerDefinitionQuery)
117: throws KapuaException {
118: return ServiceDAO.query(em, TriggerDefinition.class, TriggerDefinitionImpl.class, new TriggerDefinitionListResultImpl(), triggerDefinitionQuery);
119: }
120:
121: /**
122: * Returns the triggerDefinition count matching the provided query
123: *
124: * @param em The {@link EntityManager} that owns the transaction.
125: * @param triggerDefinitionQuery The {@link org.eclipse.kapua.service.scheduler.trigger.definition.TriggerDefinitionQuery} to perform
126: * @return The {@link TriggerDefinitionListResult} that matches the given {@link org.eclipse.kapua.service.scheduler.trigger.definition.TriggerDefinitionQuery}
127: * @throws KapuaException if any error occurs while counting.
128: * @since 1.1.0
129: */
130: public static long count(EntityManager em, KapuaQuery triggerDefinitionQuery)
131: throws KapuaException {
132: return ServiceDAO.count(em, TriggerDefinition.class, TriggerDefinitionImpl.class, triggerDefinitionQuery);
133: }
134:
135: /**
136: * Deletes the triggerDefinition by triggerDefinition identifier
137: *
138: * @param em The {@link EntityManager} that owns the transaction.
139: * @param scopeId The {@link TriggerDefinition#getScopeId()}.
140: * @param triggerDefinitionId The {@link TriggerDefinition#getId()}.
141: * @return The deleted {@link TriggerDefinition}.
142: * @throws KapuaEntityNotFoundException If the {@link TriggerDefinition} is not found
143: * @since 1.1.0
144: */
145: public static TriggerDefinition delete(EntityManager em, KapuaId scopeId, KapuaId triggerDefinitionId) throws KapuaEntityNotFoundException {
146: return ServiceDAO.delete(em, TriggerDefinitionImpl.class, scopeId, triggerDefinitionId);
147: }
148:
149: }