Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 497903f

Browse files
author
FredrikSchäferVitagroup
committed
changed column type of additionalInfo and simplified query in the SystemEventFacadeEjb
1 parent 5f8747b commit 497903f

3 files changed

Lines changed: 10 additions & 11 deletions

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/systemevent/SystemEvent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void setStatus(SystemEventStatus status) {
7474
this.status = status;
7575
}
7676

77-
@Column(length = COLUMN_LENGTH_DEFAULT)
77+
@Column(columnDefinition = "text")
7878
public String getAdditionalInfo() {
7979
return additionalInfo;
8080
}

sormas-backend/src/main/java/de/symeda/sormas/backend/systemevent/SystemEventFacadeEjb.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import javax.ejb.LocalBean;
1515
import javax.ejb.Stateless;
1616
import javax.persistence.EntityManager;
17+
import javax.persistence.NoResultException;
1718
import javax.persistence.PersistenceContext;
1819
import javax.persistence.criteria.CriteriaBuilder;
1920
import javax.persistence.criteria.CriteriaQuery;
@@ -45,17 +46,15 @@ public class SystemEventFacadeEjb implements SystemEventFacade {
4546
public Date getLatestSuccessByType(SystemEventType type) {
4647
CriteriaBuilder cb = em.getCriteriaBuilder();
4748
CriteriaQuery<SystemEvent> cq = cb.createQuery(SystemEvent.class);
48-
Root<SystemEvent> systemEvent = cq.from(SystemEvent.class);
49-
50-
Predicate filter = cb.equal(systemEvent.get(SystemEvent.STATUS), SystemEventStatus.SUCCESS);
51-
cq.where(filter);
52-
cq.orderBy(cb.desc(systemEvent.get(SystemEvent.START_DATE)));
49+
Root<SystemEvent> systemEventRoot = cq.from(SystemEvent.class);
5350

54-
List<SystemEvent> resultList = em.createQuery(cq).getResultList();
51+
cq.where(cb.equal(systemEventRoot.get(SystemEvent.STATUS), SystemEventStatus.SUCCESS));
52+
cq.orderBy(cb.desc(systemEventRoot.get(SystemEvent.START_DATE)));
5553

56-
if (resultList != null) {
57-
return resultList.get(0).getStartDate();
58-
} else {
54+
try {
55+
SystemEvent systemEvent = em.createQuery(cq).setMaxResults(1).getSingleResult();
56+
return systemEvent.getStartDate();
57+
} catch (NoResultException e) {
5958
return null;
6059
}
6160
}

sormas-backend/src/main/resources/sql/sormas_schema.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6206,7 +6206,7 @@ CREATE TABLE systemevent (
62066206
startdate timestamp not null,
62076207
enddate timestamp,
62086208
status varchar(255) not null,
6209-
additionalInfo varchar(512),
6209+
additionalInfo text,
62106210
primary key(id)
62116211
);
62126212

0 commit comments

Comments
 (0)