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

Commit f11bd75

Browse files
Merge pull request SORMAS-Foundation#3280 from hzi-braunschweig/feature-3098-Separate_name_column_in_follow-up_views
SORMAS-Foundation#3098: Separate name column in follow-up views
2 parents a55d0ce + 182ef1a commit f11bd75

8 files changed

Lines changed: 50 additions & 39 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/caze/CaseFollowUpDto.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ public class CaseFollowUpDto extends FollowUpDto {
3131
private final CaseJurisdictionDto jurisdiction;
3232

3333
//@formatter:off
34-
public CaseFollowUpDto(String uuid, String personUuid, String personFirstName, String personLastName,
34+
public CaseFollowUpDto(String uuid, String personFirstName, String personLastName,
3535
Date reportDate, Date symptomsOnsetDate, Date followUpUntil, Disease disease,
3636
String caseReportingUserUuid, String caseRegionUuid, String caseDistrictUuid,
3737
String caseCommunityUud, String caseHealthFacilityUuid, String casePointOfEntryUuid
3838
) {
3939
//formatter:on
40-
super(uuid, personUuid, personFirstName, personLastName, reportDate, followUpUntil, disease);
40+
super(uuid, personFirstName, personLastName, reportDate, followUpUntil, disease);
4141
this.symptomsOnsetDate = symptomsOnsetDate;
4242
this.jurisdiction = new CaseJurisdictionDto(
4343
caseReportingUserUuid,

sormas-api/src/main/java/de/symeda/sormas/api/contact/ContactFollowUpDto.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ public class ContactFollowUpDto extends FollowUpDto {
2424
private ContactJurisdictionDto jurisdiction;
2525

2626
//@formatter:off
27-
public ContactFollowUpDto(String uuid, String personUuid, String personFirstName, String personLastName,
27+
public ContactFollowUpDto(String uuid, String personFirstName, String personLastName,
2828
String contactOfficerUuid, String contactOfficerFirstName, String contactOfficerLastName,
2929
Date lastContactDate, Date reportDate, Date followUpUntil, Disease disease,
3030
String reportingUserUuid, String regionUuid, String districtUuid, String communityUuid,
3131
String caseReportingUserUuid, String caseRegionUuid, String caseDistrictUuid, String caseCommunityUud, String caseHealthFacilityUuid, String casePointOfEntryUuid
3232
) {
3333
//formatter:on
3434

35-
super(uuid, personUuid, personFirstName, personLastName, reportDate, followUpUntil, disease);
35+
super(uuid, personFirstName, personLastName, reportDate, followUpUntil, disease);
3636
this.contactOfficer = new UserReferenceDto(contactOfficerUuid, contactOfficerFirstName, contactOfficerLastName, null);
3737
this.lastContactDate = lastContactDate;
3838

sormas-api/src/main/java/de/symeda/sormas/api/followup/FollowUpDto.java

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
import java.util.Date;
66

77
import de.symeda.sormas.api.Disease;
8-
import de.symeda.sormas.api.person.PersonReferenceDto;
9-
import de.symeda.sormas.api.utils.EmbeddedPersonalData;
8+
import de.symeda.sormas.api.utils.PersonalData;
109
import de.symeda.sormas.api.utils.pseudonymization.PseudonymizableIndexDto;
1110
import de.symeda.sormas.api.visit.VisitResult;
1211

@@ -16,24 +15,25 @@ public abstract class FollowUpDto extends PseudonymizableIndexDto implements Ser
1615

1716
public static final String I18N_PREFIX = "FollowUp";
1817
public static final String UUID = "uuid";
19-
public static final String PERSON = "person";
18+
public static final String FIRST_NAME = "firstName";
19+
public static final String LAST_NAME = "lastName";
2020
public static final String REPORT_DATE = "reportDate";
2121
public static final String FOLLOW_UP_UNTIL = "followUpUntil";
2222

2323
private String uuid;
24-
@EmbeddedPersonalData
25-
private PersonReferenceDto person;
24+
@PersonalData
25+
private String firstName;
26+
@PersonalData
27+
private String lastName;
2628
private Date reportDate;
2729
private Date followUpUntil;
2830
private Disease disease;
2931
private VisitResult[] visitResults;
3032

31-
//@formatter:off
32-
protected FollowUpDto(String uuid, String personUuid, String personFirstName, String personLastName,
33-
Date reportDate, Date followUpUntil, Disease disease) {
34-
//@formatter:on
33+
protected FollowUpDto(String uuid, String personFirstName, String personLastName, Date reportDate, Date followUpUntil, Disease disease) {
3534
this.uuid = uuid;
36-
this.person = new PersonReferenceDto(personUuid, personFirstName, personLastName);
35+
this.firstName = personFirstName;
36+
this.lastName = personLastName;
3737
this.reportDate = reportDate;
3838
this.followUpUntil = followUpUntil;
3939
this.disease = disease;
@@ -52,12 +52,20 @@ public void setUuid(String uuid) {
5252
this.uuid = uuid;
5353
}
5454

55-
public PersonReferenceDto getPerson() {
56-
return person;
55+
public String getFirstName() {
56+
return firstName;
5757
}
5858

59-
public void setPerson(PersonReferenceDto person) {
60-
this.person = person;
59+
public void setFirstName(String firstName) {
60+
this.firstName = firstName;
61+
}
62+
63+
public String getLastName() {
64+
return lastName;
65+
}
66+
67+
public void setLastName(String lastName) {
68+
this.lastName = lastName;
6169
}
6270

6371
public Date getReportDate() {

sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseFacadeEjb.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2994,7 +2994,6 @@ public List<CaseFollowUpDto> getCaseFollowUpList(
29942994

29952995
final Stream<Selection<?>> select = Stream.of(
29962996
caze.get(Case.UUID),
2997-
joins.getPerson().get(Person.UUID),
29982997
joins.getPerson().get(Person.FIRST_NAME),
29992998
joins.getPerson().get(Person.LAST_NAME),
30002999
caze.get(Case.REPORT_DATE),
@@ -3020,10 +3019,13 @@ public List<CaseFollowUpDto> getCaseFollowUpList(
30203019
case FollowUpDto.FOLLOW_UP_UNTIL:
30213020
expression = caze.get(sortProperty.propertyName);
30223021
break;
3023-
case FollowUpDto.PERSON:
3022+
case FollowUpDto.FIRST_NAME:
30243023
expression = joins.getPerson().get(Person.FIRST_NAME);
30253024
order.add(sortProperty.ascending ? cb.asc(expression) : cb.desc(expression));
3025+
break;
3026+
case FollowUpDto.LAST_NAME:
30263027
expression = joins.getPerson().get(Person.LAST_NAME);
3028+
order.add(sortProperty.ascending ? cb.asc(expression) : cb.desc(expression));
30273029
break;
30283030
default:
30293031
throw new IllegalArgumentException(sortProperty.propertyName);

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -753,7 +753,6 @@ public List<ContactFollowUpDto> getContactFollowUpList(
753753
.concat(
754754
Stream.of(
755755
contact.get(Contact.UUID),
756-
joins.getPerson().get(Person.UUID),
757756
joins.getPerson().get(Person.FIRST_NAME),
758757
joins.getPerson().get(Person.LAST_NAME),
759758
joins.getContactOfficer().get(User.UUID),
@@ -786,9 +785,10 @@ public List<ContactFollowUpDto> getContactFollowUpList(
786785
case FollowUpDto.FOLLOW_UP_UNTIL:
787786
expression = contact.get(sortProperty.propertyName);
788787
break;
789-
case FollowUpDto.PERSON:
788+
case FollowUpDto.FIRST_NAME:
790789
expression = joins.getPerson().get(Person.FIRST_NAME);
791-
order.add(sortProperty.ascending ? cb.asc(expression) : cb.desc(expression));
790+
break;
791+
case FollowUpDto.LAST_NAME:
792792
expression = joins.getPerson().get(Person.LAST_NAME);
793793
break;
794794
case ContactFollowUpDto.CONTACT_OFFICER:

sormas-backend/src/test/java/de/symeda/sormas/backend/contact/ContactFacadeEjbPseudonymizationTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -257,15 +257,15 @@ public void testPseudonymizeGetFollowupList() {
257257
getContactFacade().getContactFollowUpList(new ContactCriteria(), new Date(), 10, 0, 100, Collections.emptyList());
258258

259259
ContactFollowUpDto followup1 = matchingContacts.stream().filter(c -> c.getUuid().equals(contact1.getUuid())).findFirst().get();
260-
assertThat(followup1.getPerson().getFirstName(), is("James"));
261-
assertThat(followup1.getPerson().getLastName(), is("Smith"));
260+
assertThat(followup1.getFirstName(), is("James"));
261+
assertThat(followup1.getLastName(), is("Smith"));
262262

263263
//sensitive data
264264
assertThat(followup1.getContactOfficer(), is(user2));
265265

266266
ContactFollowUpDto followup2 = matchingContacts.stream().filter(c -> c.getUuid().equals(contact2.getUuid())).findFirst().get();
267-
assertThat(followup2.getPerson().getFirstName(), is("Confidential"));
268-
assertThat(followup2.getPerson().getLastName(), is("Confidential"));
267+
assertThat(followup2.getFirstName(), is("Confidential"));
268+
assertThat(followup2.getLastName(), is("Confidential"));
269269

270270
//sensitive data
271271
assertThat(followup2.getContactOfficer(), is(nullValue()));

sormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseFollowUpGrid.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public <V extends View> CaseFollowUpGrid(CaseCriteria criteria, Date referenceDa
6060
Date fromDate = DateHelper.subtractDays(referenceDate, interval - 1);
6161
criteria.followUpUntilFrom(DateHelper.getStartOfDay(fromDate));
6262

63-
setColumns(FollowUpDto.UUID, FollowUpDto.PERSON, FollowUpDto.REPORT_DATE, FollowUpDto.FOLLOW_UP_UNTIL);
63+
setColumns(FollowUpDto.UUID, FollowUpDto.FIRST_NAME, FollowUpDto.LAST_NAME, FollowUpDto.REPORT_DATE, FollowUpDto.FOLLOW_UP_UNTIL);
6464

6565
setVisitColumns(referenceDate, interval, criteria);
6666

sormas-ui/src/main/java/de/symeda/sormas/ui/contact/ContactFollowUpGrid.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
package de.symeda.sormas.ui.contact;
22

3+
import static de.symeda.sormas.ui.utils.FollowUpUtils.getVisitResultCssStyle;
4+
import static de.symeda.sormas.ui.utils.FollowUpUtils.getVisitResultDescription;
5+
6+
import java.util.ArrayList;
7+
import java.util.Date;
8+
import java.util.List;
9+
import java.util.stream.Collectors;
10+
311
import com.vaadin.data.provider.DataProvider;
412
import com.vaadin.navigator.View;
513
import com.vaadin.shared.data.sort.SortDirection;
614
import com.vaadin.ui.DescriptionGenerator;
715
import com.vaadin.ui.Label;
816
import com.vaadin.ui.StyleGenerator;
917
import com.vaadin.ui.renderers.DateRenderer;
18+
1019
import de.symeda.sormas.api.FacadeProvider;
1120
import de.symeda.sormas.api.contact.ContactCriteria;
1221
import de.symeda.sormas.api.contact.ContactFollowUpDto;
@@ -23,14 +32,6 @@
2332
import de.symeda.sormas.ui.utils.ShowDetailsListener;
2433
import de.symeda.sormas.ui.utils.UuidRenderer;
2534

26-
import java.util.ArrayList;
27-
import java.util.Date;
28-
import java.util.List;
29-
import java.util.stream.Collectors;
30-
31-
import static de.symeda.sormas.ui.utils.FollowUpUtils.getVisitResultCssStyle;
32-
import static de.symeda.sormas.ui.utils.FollowUpUtils.getVisitResultDescription;
33-
3435
@SuppressWarnings("serial")
3536
public class ContactFollowUpGrid extends FilteredGrid<ContactFollowUpDto, ContactCriteria> {
3637

@@ -48,7 +49,8 @@ public <V extends View> ContactFollowUpGrid(ContactCriteria criteria, Date refer
4849

4950
setColumns(
5051
FollowUpDto.UUID,
51-
FollowUpDto.PERSON,
52+
FollowUpDto.FIRST_NAME,
53+
FollowUpDto.LAST_NAME,
5254
ContactFollowUpDto.CONTACT_OFFICER,
5355
ContactFollowUpDto.LAST_CONTACT_DATE,
5456
FollowUpDto.REPORT_DATE,
@@ -65,8 +67,7 @@ public <V extends View> ContactFollowUpGrid(ContactCriteria criteria, Date refer
6567
for (Column<ContactFollowUpDto, ?> column : getColumns()) {
6668
column.setCaption(I18nProperties.getPrefixCaption(ContactFollowUpDto.I18N_PREFIX, column.getId().toString(), column.getCaption()));
6769
if (!dateColumnIds.contains(column.getId())) {
68-
column.setStyleGenerator(
69-
FieldAccessColumnStyleGenerator.getDefault(getBeanType(), column.getId()));
70+
column.setStyleGenerator(FieldAccessColumnStyleGenerator.getDefault(getBeanType(), column.getId()));
7071
}
7172
}
7273

0 commit comments

Comments
 (0)