• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openmrs / openmrs-core / 26773559161

01 Jun 2026 06:21PM UTC coverage: 63.376% (-0.01%) from 63.389%
26773559161

push

github

web-flow
TRUNK-6429: Create application events for service method calls and entity changes (#6084)

272 of 504 new or added lines in 27 files covered. (53.97%)

5 existing lines in 2 files now uncovered.

23598 of 37235 relevant lines covered (63.38%)

0.63 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

45.0
/api/src/main/java/org/openmrs/event/outbox/OutboxEvent.java
1
/**
2
 * This Source Code Form is subject to the terms of the Mozilla Public License,
3
 * v. 2.0. If a copy of the MPL was not distributed with this file, You can
4
 * obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under
5
 * the terms of the Healthcare Disclaimer located at http://openmrs.org/license.
6
 *
7
 * Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS
8
 * graphic logo is a trademark of OpenMRS Inc.
9
 */
10
package org.openmrs.event.outbox;
11

12
import org.openmrs.Auditable;
13
import org.openmrs.BaseOpenmrsObject;
14
import org.openmrs.User;
15

16
import javax.persistence.Column;
17
import javax.persistence.Entity;
18
import javax.persistence.EnumType;
19
import javax.persistence.Enumerated;
20
import javax.persistence.GeneratedValue;
21
import javax.persistence.GenerationType;
22
import javax.persistence.Id;
23
import javax.persistence.JoinColumn;
24
import javax.persistence.Lob;
25
import javax.persistence.ManyToOne;
26
import javax.persistence.Table;
27
import javax.persistence.Temporal;
28
import javax.persistence.TemporalType;
29
import java.util.Date;
30

31
/**
32
 * OutboxEvent persisted in DB.
33
 * 
34
 * @since 2.9.x
35
 */
36
@Entity
37
@Table(name = "outbox_event")
38
public class OutboxEvent extends BaseOpenmrsObject implements Auditable {
1✔
39

40
        @Id
41
        @GeneratedValue(strategy = GenerationType.IDENTITY)
42
        private Integer id;
43

44
        @Column(name = "event_type", nullable = false)
45
        private String eventType;
46

47
        @Lob
48
        @Column(name = "payload", nullable = false)
49
        private String payload;
50

51
        @Column(name = "date_created", nullable = false)
52
        @Temporal(TemporalType.TIMESTAMP)
53
        private Date dateCreated;
54

55
        @Column(name = "date_changed", nullable = false)
1✔
56
        @Temporal(TemporalType.TIMESTAMP)
57
        private Date dateChanged = new Date();
58

59
        @Enumerated(EnumType.STRING)
1✔
60
        @Column(name = "status", nullable = false)
61
        private Status status = Status.PENDING;
62

63
        @Column(name = "error_count", nullable = false)
1✔
64
        private Integer errorCount = 0;
1✔
65

66
        @Column(name = "error_message", length = 1024)
67
        private String errorMessage;
68
        
69
        @Lob
70
        @Column(name = "completed_listeners")
71
        private String completedListeners;
72

73
        @ManyToOne
74
        @JoinColumn(name = "creator")
75
        private User creator;
76

77
        @ManyToOne
78
        @JoinColumn(name = "changed_by")
79
        private User changedBy;
80

81
        @Override
82
        public Integer getId() {
NEW
83
                return id;
×
84
        }
85

86
        @Override
87
        public void setId(Integer id) {
NEW
88
                this.id = id;
×
NEW
89
        }
×
90

91
        public String getEventType() {
NEW
92
                return eventType;
×
93
        }
94

95
        public void setEventType(String eventType) {
96
                this.eventType = eventType;
1✔
97
        }
1✔
98

99
        public String getPayload() {
NEW
100
                return payload;
×
101
        }
102

103
        public void setPayload(String payload) {
104
                this.payload = payload;
1✔
105
        }
1✔
106

107
        public Status getStatus() {
NEW
108
                return status;
×
109
        }
110

111
        public void setStatus(Status status) {
112
                this.status = status;
1✔
113
        }
1✔
114

115
        public Integer getErrorCount() {
NEW
116
                return errorCount;
×
117
        }
118

119
        public void setErrorCount(Integer errorCount) {
NEW
120
                this.errorCount = errorCount;
×
NEW
121
        }
×
122

123
        public String getErrorMessage() {
NEW
124
                return errorMessage;
×
125
        }
126

127
        public void setErrorMessage(String errorMessage) {
NEW
128
                this.errorMessage = errorMessage;
×
NEW
129
        }
×
130

131
        public String getCompletedListeners() {
NEW
132
                return completedListeners;
×
133
        }
134

135
        public void setCompletedListeners(String completedListeners) {
NEW
136
                this.completedListeners = completedListeners;
×
NEW
137
        }
×
138

139
        // --- Auditable Interface Implementation ---
140

141
        @Override
142
        public User getCreator() {
NEW
143
                return creator;
×
144
        }
145

146
        @Override
147
        public void setCreator(User creator) {
NEW
148
                this.creator = creator;
×
NEW
149
        }
×
150

151
        @Override
152
        public Date getDateCreated() {
153
                return this.dateCreated;
1✔
154
        }
155

156
        @Override
157
        public void setDateCreated(Date dateCreated) {
158
                this.dateCreated = dateCreated;
1✔
159
        }
1✔
160

161
        @Override
162
        public User getChangedBy() {
NEW
163
                return changedBy;
×
164
        }
165

166
        @Override
167
        public void setChangedBy(User changedBy) {
NEW
168
                this.changedBy = changedBy;
×
NEW
169
        }
×
170

171
        @Override
172
        public Date getDateChanged() {
NEW
173
                return this.dateChanged;
×
174
        }
175

176
        @Override
177
        public void setDateChanged(Date dateChanged) {
178
                this.dateChanged = dateChanged;
1✔
179
        }
1✔
180
        
181
        public enum Status {
1✔
182
                PENDING, PROCESSING, COMPLETED
1✔
183
        }
184
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc