Skip to content

Package: TriggerDefinitionImpl

TriggerDefinitionImpl

nameinstructionbranchcomplexitylinemethod
TriggerDefinitionImpl()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
TriggerDefinitionImpl(KapuaId)
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%
TriggerDefinitionImpl(TriggerDefinition)
M: 16 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
getProcessorName()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getTriggerProperties()
M: 12 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
getTriggerProperty(String)
M: 11 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getTriggerType()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
lambda$getTriggerProperty$0(String, TriggerProperty)
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%
setProcessorName(String)
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%
setTriggerProperties(List)
M: 23 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
setTriggerType(TriggerType)
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%

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 com.google.common.collect.Lists;
16: import org.eclipse.kapua.commons.model.AbstractKapuaNamedEntity;
17: import org.eclipse.kapua.model.id.KapuaId;
18: import org.eclipse.kapua.service.scheduler.trigger.definition.TriggerDefinition;
19: import org.eclipse.kapua.service.scheduler.trigger.definition.TriggerProperty;
20: import org.eclipse.kapua.service.scheduler.trigger.definition.TriggerType;
21:
22: import javax.persistence.Basic;
23: import javax.persistence.CollectionTable;
24: import javax.persistence.Column;
25: import javax.persistence.ElementCollection;
26: import javax.persistence.Entity;
27: import javax.persistence.EnumType;
28: import javax.persistence.Enumerated;
29: import javax.persistence.JoinColumn;
30: import javax.persistence.Table;
31: import java.util.ArrayList;
32: import java.util.List;
33:
34: /**
35: * {@link TriggerDefinition} implementation.
36: *
37: * @since 1.1.0
38: */
39: @Entity(name = "TriggerDefinition")
40: @Table(name = "schdl_trigger_definition")
41: public class TriggerDefinitionImpl extends AbstractKapuaNamedEntity implements TriggerDefinition {
42:
43: private static final long serialVersionUID = 3747451706859757246L;
44:
45: @Enumerated(EnumType.STRING)
46: @Column(name = "trigger_type", nullable = false, updatable = false)
47: private TriggerType triggerType;
48:
49: @Basic
50: @Column(name = "processor_name", nullable = false, updatable = false)
51: private String processorName;
52:
53: @ElementCollection
54: @CollectionTable(name = "schdl_trigger_definition_properties", joinColumns = @JoinColumn(name = "trigger_definition_id", referencedColumnName = "id"))
55: private List<TriggerPropertyImpl> triggerProperties;
56:
57: /**
58: * Constructor.
59: *
60: * @since 1.1.0
61: */
62: public TriggerDefinitionImpl() {
63: }
64:
65: /**
66: * Constructor.
67: *
68: * @param scopeId The scope {@link KapuaId} to set into the {@link TriggerDefinition}
69: * @since 1.1.0
70: */
71: public TriggerDefinitionImpl(KapuaId scopeId) {
72: super(scopeId);
73: }
74:
75: /**
76: * Clone constructor.
77: *
78: * @param triggerDefinition The {@link TriggerDefinition} to clone
79: * @since 1.1.0
80: */
81: public TriggerDefinitionImpl(TriggerDefinition triggerDefinition) {
82: super(triggerDefinition);
83:
84: setTriggerType(triggerDefinition.getTriggerType());
85: setProcessorName(triggerDefinition.getProcessorName());
86: setTriggerProperties(triggerDefinition.getTriggerProperties());
87: }
88:
89: @Override
90: public TriggerType getTriggerType() {
91: return triggerType;
92: }
93:
94: @Override
95: public void setTriggerType(TriggerType triggerType) {
96: this.triggerType = triggerType;
97:
98: }
99:
100: @Override
101: public String getProcessorName() {
102: return processorName;
103: }
104:
105: @Override
106: public void setProcessorName(String processorName) {
107: this.processorName = processorName;
108: }
109:
110: @Override
111: public List<TriggerProperty> getTriggerProperties() {
112:• if (triggerProperties == null) {
113: triggerProperties = new ArrayList<>();
114: }
115:
116: return Lists.newArrayList(triggerProperties);
117: }
118:
119: @Override
120: public TriggerProperty getTriggerProperty(String name) {
121: return getTriggerProperties().stream().filter(tp -> tp.getName().equals(name)).findAny().orElse(null);
122: }
123:
124: @Override
125: public void setTriggerProperties(List<TriggerProperty> triggerProperties) {
126: this.triggerProperties = new ArrayList<>();
127:
128:• for (TriggerProperty sp : triggerProperties) {
129: this.triggerProperties.add(TriggerPropertyImpl.parse(sp));
130: }
131: }
132: }