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

Commit df42fa2

Browse files
SORMAS-Foundation#2724 small refactoring & renaming
1 parent 661fbbf commit df42fa2

5 files changed

Lines changed: 39 additions & 37 deletions

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/common/FollowUpTaskCreationException.java

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package de.symeda.sormas.backend.common;
2+
3+
@SuppressWarnings("serial")
4+
public class TaskCreationException extends Exception {
5+
6+
public TaskCreationException(String message) {
7+
super(message);
8+
}
9+
}

sormas-backend/src/main/java/de/symeda/sormas/backend/contact/ContactFacadeEjb.java

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
import de.symeda.sormas.backend.common.AbstractAdoService;
120120
import de.symeda.sormas.backend.common.AbstractDomainObject;
121121
import de.symeda.sormas.backend.common.ConfigFacadeEjb;
122-
import de.symeda.sormas.backend.common.FollowUpTaskCreationException;
122+
import de.symeda.sormas.backend.common.TaskCreationException;
123123
import de.symeda.sormas.backend.epidata.EpiData;
124124
import de.symeda.sormas.backend.epidata.EpiDataFacadeEjb;
125125
import de.symeda.sormas.backend.epidata.EpiDataFacadeEjb.EpiDataFacadeEjbLocal;
@@ -281,21 +281,7 @@ public ContactDto saveContact(ContactDto dto, boolean handleChanges) {
281281
Contact entity = fromDto(dto);
282282
contactService.ensurePersisted(entity);
283283

284-
if (configFacade.isConfiguredCountry(CountryHelper.COUNTRY_CODE_SWITZERLAND) && existingContact == null) {
285-
LocalDate now = LocalDate.now();
286-
LocalDate reportDate = DateHelper8.toLocalDate(entity.getReportDateTime());
287-
if (DAYS.between(reportDate, now) <= 30) {
288-
try {
289-
User assignee = taskService.getTaskAssignee(entity);
290-
LocalDateTime fromDateTime = LocalDate.now().atStartOfDay();
291-
LocalDateTime toDateTime = fromDateTime.plusDays(1);
292-
Task task = getContactTask(TaskType.CONTACT_INVESTIGATION, fromDateTime, toDateTime, entity, assignee);
293-
taskService.ensurePersisted(task);
294-
} catch (FollowUpTaskCreationException e) {
295-
logger.warn(e.getMessage());
296-
}
297-
}
298-
}
284+
createInvestigationTask(entity);
299285

300286
if (handleChanges) {
301287
updateContactVisitAssociations(existingContactDto, entity);
@@ -311,6 +297,22 @@ public ContactDto saveContact(ContactDto dto, boolean handleChanges) {
311297
return toDto(entity);
312298
}
313299

300+
private void createInvestigationTask(Contact entity) {
301+
LocalDate now = LocalDate.now();
302+
LocalDate reportDate = DateHelper8.toLocalDate(entity.getReportDateTime());
303+
if (DAYS.between(reportDate, now) <= 30) {
304+
try {
305+
User assignee = taskService.getTaskAssignee(entity);
306+
LocalDateTime fromDateTime = LocalDate.now().atStartOfDay();
307+
LocalDateTime toDateTime = fromDateTime.plusDays(1);
308+
Task task = createContactTask(TaskType.CONTACT_INVESTIGATION, fromDateTime, toDateTime, entity, assignee);
309+
taskService.ensurePersisted(task);
310+
} catch (TaskCreationException e) {
311+
logger.warn(e.getMessage());
312+
}
313+
}
314+
}
315+
314316
private void updateContactVisitAssociations(ContactDto existingContact, Contact contact) {
315317

316318
if (existingContact != null
@@ -1255,7 +1257,7 @@ public void generateContactFollowUpTasks() {
12551257
User assignee;
12561258
try {
12571259
assignee = taskService.getTaskAssignee(contact);
1258-
} catch (FollowUpTaskCreationException e) {
1260+
} catch (TaskCreationException e) {
12591261
logger.warn(e.getMessage());
12601262
continue;
12611263
}
@@ -1283,12 +1285,12 @@ public void generateContactFollowUpTasks() {
12831285
}
12841286

12851287
// none found -> create the task
1286-
Task task = getContactTask(TaskType.CONTACT_FOLLOW_UP, fromDateTime, toDateTime, contact, assignee);
1288+
Task task = createContactTask(TaskType.CONTACT_FOLLOW_UP, fromDateTime, toDateTime, contact, assignee);
12871289
taskService.ensurePersisted(task);
12881290
}
12891291
}
12901292

1291-
private Task getContactTask(TaskType taskType, LocalDateTime fromDateTime, LocalDateTime toDateTime, Contact contact, User assignee) {
1293+
private Task createContactTask(TaskType taskType, LocalDateTime fromDateTime, LocalDateTime toDateTime, Contact contact, User assignee) {
12921294
Task task = taskService.buildTask(null);
12931295
task.setTaskContext(TaskContext.CONTACT);
12941296
task.setContact(contact);

sormas-backend/src/main/java/de/symeda/sormas/backend/task/TaskService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
import de.symeda.sormas.backend.caze.Case;
4444
import de.symeda.sormas.backend.caze.CaseService;
4545
import de.symeda.sormas.backend.common.AbstractAdoService;
46-
import de.symeda.sormas.backend.common.FollowUpTaskCreationException;
46+
import de.symeda.sormas.backend.common.TaskCreationException;
4747
import de.symeda.sormas.backend.contact.Contact;
4848
import de.symeda.sormas.backend.contact.ContactService;
4949
import de.symeda.sormas.backend.event.Event;
@@ -291,7 +291,7 @@ public Task buildTask(User creatorUser) {
291291
return task;
292292
}
293293

294-
public User getTaskAssignee(Contact contact) throws FollowUpTaskCreationException {
294+
public User getTaskAssignee(Contact contact) throws TaskCreationException {
295295
User assignee = null;
296296

297297
if (contact.getContactOfficer() != null) {
@@ -331,7 +331,7 @@ public User getTaskAssignee(Contact contact) throws FollowUpTaskCreationExceptio
331331
Random rand = new Random();
332332
assignee = supervisors.get(rand.nextInt(supervisors.size()));
333333
} else {
334-
throw new FollowUpTaskCreationException("Contact has not contact officer and no region - can't create follow-up task: " + contact.getUuid());
334+
throw new TaskCreationException("Contact has not contact officer and no region - can't create follow-up task: " + contact.getUuid());
335335
}
336336
}
337337

sormas-backend/src/test/java/de/symeda/sormas/backend/task/TaskServiceTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import de.symeda.sormas.backend.AbstractBeanTest;
1818
import de.symeda.sormas.backend.caze.Case;
19-
import de.symeda.sormas.backend.common.FollowUpTaskCreationException;
19+
import de.symeda.sormas.backend.common.TaskCreationException;
2020
import de.symeda.sormas.backend.contact.Contact;
2121
import de.symeda.sormas.backend.location.Location;
2222
import de.symeda.sormas.backend.person.Person;
@@ -39,7 +39,7 @@ public void setUp() {
3939
}
4040

4141
@Test
42-
public void testGetTaskAssigneeFromContactWithContactOfficer() throws FollowUpTaskCreationException {
42+
public void testGetTaskAssigneeFromContactWithContactOfficer() throws TaskCreationException {
4343
User contactOfficer = new User();
4444
contactOfficer.setId(1L);
4545
Contact contact = new Contact();
@@ -50,7 +50,7 @@ public void testGetTaskAssigneeFromContactWithContactOfficer() throws FollowUpTa
5050
}
5151

5252
@Test
53-
public void testGetTaskAssigneeFromDistrictOfficers() throws FollowUpTaskCreationException {
53+
public void testGetTaskAssigneeFromDistrictOfficers() throws TaskCreationException {
5454
User contactOfficer = new User();
5555
contactOfficer.setId(1L);
5656
District district = new District();
@@ -65,7 +65,7 @@ public void testGetTaskAssigneeFromDistrictOfficers() throws FollowUpTaskCreatio
6565
}
6666

6767
@Test
68-
public void testGetTaskAssigneeFromRegionSupervisors() throws FollowUpTaskCreationException {
68+
public void testGetTaskAssigneeFromRegionSupervisors() throws TaskCreationException {
6969
User contactOfficer = new User();
7070
contactOfficer.setId(1L);
7171
Contact contact = new Contact();
@@ -82,8 +82,8 @@ public void testGetTaskAssigneeFromRegionSupervisors() throws FollowUpTaskCreati
8282
assertEquals(actualAssignee.getId(), contactOfficer.getId());
8383
}
8484

85-
@Test(expected = FollowUpTaskCreationException.class)
86-
public void testGetTaskAssigneeException() throws FollowUpTaskCreationException {
85+
@Test(expected = TaskCreationException.class)
86+
public void testGetTaskAssigneeException() throws TaskCreationException {
8787
Contact contact = new Contact();
8888
Location location = new Location();
8989
Person person = new Person();

0 commit comments

Comments
 (0)