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

Commit af865d1

Browse files
author
Thomas Broyer
committed
Merge remote-tracking branch 'origin/development' into hzi_2328_document_database
Change-Id: Ia43ce43003a6c23ee4405110644f46a094bdae99
2 parents 22f7c50 + 3a2e858 commit af865d1

212 files changed

Lines changed: 6004 additions & 592 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

sormas-api/src/main/java/de/symeda/sormas/api/FacadeProvider.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import de.symeda.sormas.api.person.PersonFacade;
5353
import de.symeda.sormas.api.region.AreaFacade;
5454
import de.symeda.sormas.api.region.CommunityFacade;
55+
import de.symeda.sormas.api.region.CountryFacade;
5556
import de.symeda.sormas.api.region.DistrictFacade;
5657
import de.symeda.sormas.api.region.GeoShapeProvider;
5758
import de.symeda.sormas.api.region.RegionFacade;
@@ -156,6 +157,9 @@ public static FacilityFacade getFacilityFacade() {
156157
return get().lookupEjbRemote(FacilityFacade.class);
157158
}
158159

160+
public static CountryFacade getCountryFacade() {
161+
return get().lookupEjbRemote(CountryFacade.class);
162+
}
159163
public static RegionFacade getRegionFacade() {
160164
return get().lookupEjbRemote(RegionFacade.class);
161165
}

sormas-api/src/main/java/de/symeda/sormas/api/campaign/CampaignDto.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public class CampaignDto extends EntityDto {
2121
public static final String START_DATE = "startDate";
2222
public static final String END_DATE = "endDate";
2323
public static final String CREATING_USER = "creatingUser";
24+
public static final String CAMPAIGN_FORM_METAS = "campaignFormMetas";
2425

2526
private String name;
2627
private String description;

sormas-api/src/main/java/de/symeda/sormas/api/campaign/diagram/CampaignDashboardElement.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
package de.symeda.sormas.api.campaign.diagram;
22

33
import java.io.Serializable;
4-
import java.util.Objects;
54

65
public class CampaignDashboardElement implements Serializable {
76

87
public static String DIAGRAM_ID = "diagramId";
98
public static String TAB_ID = "tabId";
9+
public static String SUB_TAB_ID = "subTabId";
1010
public static String ORDER = "order";
1111
public static String WIDTH = "width";
1212
public static String HEIGHT = "height";
1313

1414
private String diagramId;
1515
private String tabId;
16+
private String subTabId;
1617
private Integer order;
1718
private Integer width;
1819
private Integer height;
@@ -28,6 +29,11 @@ public CampaignDashboardElement(String diagramId, String tabId, Integer order, I
2829
this.height = height;
2930
}
3031

32+
public CampaignDashboardElement(String diagramId, String tabId, String subTabId, Integer order, Integer width, Integer height) {
33+
this(diagramId, tabId, order, width, height);
34+
this.subTabId = subTabId;
35+
}
36+
3137
public String getDiagramId() {
3238
return diagramId;
3339
}
@@ -44,6 +50,14 @@ public void setTabId(String tabId) {
4450
this.tabId = tabId;
4551
}
4652

53+
public String getSubTabId() {
54+
return subTabId;
55+
}
56+
57+
public void setSubTabId(String subTabId) {
58+
this.subTabId = subTabId;
59+
}
60+
4761
public Integer getOrder() {
4862
return order;
4963
}

sormas-api/src/main/java/de/symeda/sormas/api/campaign/diagram/CampaignDiagramDefinitionDto.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package de.symeda.sormas.api.campaign.diagram;
22

33
import de.symeda.sormas.api.EntityDto;
4+
import de.symeda.sormas.api.campaign.CampaignDto;
5+
import de.symeda.sormas.api.utils.DataHelper;
46

57
import java.util.List;
68

@@ -13,6 +15,12 @@ public class CampaignDiagramDefinitionDto extends EntityDto {
1315
private List<CampaignDiagramSeries> campaignSeriesTotal;
1416
private boolean percentageDefault;
1517

18+
public static CampaignDiagramDefinitionDto build() {
19+
CampaignDiagramDefinitionDto campaignDiagramDefinition = new CampaignDiagramDefinitionDto();
20+
campaignDiagramDefinition.setUuid(DataHelper.createUuid());
21+
return campaignDiagramDefinition;
22+
}
23+
1624
public String getDiagramId() {
1725
return diagramId;
1826
}

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

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,8 @@ public class CaseExportDto implements Serializable {
181181
private String facility;
182182
@SensitiveData
183183
private String phone;
184+
@SensitiveData
185+
private String emailAddress;
184186
private String occupationType;
185187
private String educationType;
186188
private String travelHistory;
@@ -258,7 +260,7 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
258260
Date deathDate, Date burialDate, BurialConductor burialConductor, String burialPlaceDescription,
259261
String addressRegion, String addressDistrict, String addressCommunity, String city, String street, String houseNumber, String additionalInformation, String postalCode,
260262
String facility, String facilityUuid, String facilityDetails,
261-
String phone, String phoneOwner, EducationType educationType, String educationDetails,
263+
String phone, String phoneOwner, String emailAddress, EducationType educationType, String educationDetails,
262264
OccupationType occupationType, String occupationDetails, YesNoUnknown traveled,
263265
YesNoUnknown burialAttended, YesNoUnknown directContactConfirmedCase, YesNoUnknown directContactProbableCase, YesNoUnknown contactWithRodent,
264266
//Date onsetDate,
@@ -324,6 +326,7 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
324326
this.postalCode = postalCode;
325327
this.facility = FacilityHelper.buildFacilityString(facilityUuid, facility, facilityDetails);
326328
this.phone = PersonHelper.buildPhoneString(phone, phoneOwner);
329+
this.emailAddress = emailAddress;
327330
this.educationType = PersonHelper.buildEducationString(educationType, educationDetails);
328331
this.occupationType = PersonHelper.buildOccupationString(occupationType, occupationDetails);
329332
this.traveled = traveled;
@@ -973,6 +976,16 @@ public String getPhone() {
973976
}
974977

975978
@Order(75)
979+
@ExportTarget(caseExportTypes = {
980+
CaseExportType.CASE_SURVEILLANCE,
981+
CaseExportType.CASE_MANAGEMENT })
982+
@ExportProperty(PersonDto.EMAIL_ADDRESS)
983+
@ExportGroup(ExportGroupType.SENSITIVE)
984+
public String getEmailAddress() {
985+
return emailAddress;
986+
}
987+
988+
@Order(76)
976989
@ExportTarget(caseExportTypes = {
977990
CaseExportType.CASE_SURVEILLANCE,
978991
CaseExportType.CASE_MANAGEMENT })
@@ -986,7 +999,7 @@ public void setEducationType(String educationType) {
986999
this.educationType = educationType;
9871000
}
9881001

989-
@Order(76)
1002+
@Order(77)
9901003
@ExportTarget(caseExportTypes = {
9911004
CaseExportType.CASE_SURVEILLANCE,
9921005
CaseExportType.CASE_MANAGEMENT })
@@ -996,7 +1009,7 @@ public String getOccupationType() {
9961009
return occupationType;
9971010
}
9981011

999-
@Order(77)
1012+
@Order(78)
10001013
@ExportTarget(caseExportTypes = {
10011014
CaseExportType.CASE_SURVEILLANCE })
10021015
@ExportProperty(TRAVELED)
@@ -1009,7 +1022,7 @@ public void setTraveled(YesNoUnknown traveled) {
10091022
this.traveled = traveled;
10101023
}
10111024

1012-
@Order(78)
1025+
@Order(79)
10131026
@ExportTarget(caseExportTypes = {
10141027
CaseExportType.CASE_SURVEILLANCE })
10151028
@ExportProperty(TRAVEL_HISTORY)
@@ -1018,7 +1031,7 @@ public String getTravelHistory() {
10181031
return travelHistory;
10191032
}
10201033

1021-
@Order(79)
1034+
@Order(80)
10221035
@ExportTarget(caseExportTypes = {
10231036
CaseExportType.CASE_SURVEILLANCE })
10241037
@ExportProperty(EpiDataDto.BURIAL_ATTENDED)
@@ -1031,7 +1044,7 @@ public void setBurialAttended(YesNoUnknown burialAttended) {
10311044
this.burialAttended = burialAttended;
10321045
}
10331046

1034-
@Order(80)
1047+
@Order(81)
10351048
@ExportTarget(caseExportTypes = {
10361049
CaseExportType.CASE_SURVEILLANCE })
10371050
@ExportProperty(EpiDataDto.DIRECT_CONTACT_CONFIRMED_CASE)
@@ -1497,6 +1510,10 @@ public void setPhone(String phone) {
14971510
this.phone = phone;
14981511
}
14991512

1513+
public void setEmailAddress(String emailAddress) {
1514+
this.emailAddress = emailAddress;
1515+
}
1516+
15001517
public void setOccupationType(String occupationType) {
15011518
this.occupationType = occupationType;
15021519
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Map<PresentCondition, Long> getCaseCountPerPersonCondition(
151151

152152
List<CaseReferenceDto> getRandomCaseReferences(CaseCriteria criteria, int count);
153153

154-
Boolean isCaseEditAllowed(String caseUuid);
154+
boolean isCaseEditAllowed(String caseUuid);
155155

156156
boolean exists(String uuid);
157157

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

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import de.symeda.sormas.api.EntityRelevanceStatus;
2626
import de.symeda.sormas.api.caze.CaseClassification;
2727
import de.symeda.sormas.api.caze.CaseReferenceDto;
28+
import de.symeda.sormas.api.event.EventParticipantReferenceDto;
29+
import de.symeda.sormas.api.event.EventReferenceDto;
2830
import de.symeda.sormas.api.person.PersonReferenceDto;
2931
import de.symeda.sormas.api.person.SymptomJournalStatus;
3032
import de.symeda.sormas.api.region.CommunityReferenceDto;
@@ -112,6 +114,8 @@ public class ContactCriteria extends BaseCriteria implements Serializable {
112114
private String eventUuid;
113115
private Boolean includeContactsFromOtherJurisdictions = Boolean.FALSE;
114116
private Boolean onlyContactsSharingEventWithSourceCase;
117+
private EventParticipantReferenceDto eventParticipant;
118+
private EventReferenceDto onlyContactsWithSourceCaseInGivenEvent;
115119

116120
public UserRole getReportingUserRole() {
117121
return reportingUserRole;
@@ -531,4 +535,32 @@ public Boolean getIncludeContactsFromOtherJurisdictions() {
531535
public void setIncludeContactsFromOtherJurisdictions(Boolean includeContactsFromOtherJurisdictions) {
532536
this.includeContactsFromOtherJurisdictions = includeContactsFromOtherJurisdictions;
533537
}
538+
539+
public void setEventParticipant(EventParticipantReferenceDto eventParticipant) {
540+
this.eventParticipant = eventParticipant;
541+
}
542+
543+
@IgnoreForUrl
544+
public EventParticipantReferenceDto getEventParticipant() {
545+
return eventParticipant;
546+
}
547+
548+
public ContactCriteria eventParticipant(EventParticipantReferenceDto eventParticipant) {
549+
this.eventParticipant = eventParticipant;
550+
return this;
551+
}
552+
553+
public void setOnlyContactsWithSourceCaseInGivenEvent(EventReferenceDto onlyContactsWithSourceCaseInGivenEvent) {
554+
this.onlyContactsWithSourceCaseInGivenEvent = onlyContactsWithSourceCaseInGivenEvent;
555+
}
556+
557+
@IgnoreForUrl
558+
public EventReferenceDto getOnlyContactsWithSourceCaseInGivenEvent() {
559+
return onlyContactsWithSourceCaseInGivenEvent;
560+
}
561+
562+
public ContactCriteria onlyContactsWithSourceCaseInGivenEvent(EventReferenceDto onlyContactsWithSourceCaseInGivenEvent) {
563+
this.onlyContactsWithSourceCaseInGivenEvent = onlyContactsWithSourceCaseInGivenEvent;
564+
return this;
565+
}
534566
}

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

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import de.symeda.sormas.api.caze.CaseReferenceDto;
2828
import de.symeda.sormas.api.clinicalcourse.HealthConditionsDto;
2929
import de.symeda.sormas.api.epidata.EpiDataDto;
30+
import de.symeda.sormas.api.event.EventParticipantDto;
3031
import de.symeda.sormas.api.person.PersonReferenceDto;
3132
import de.symeda.sormas.api.region.CommunityReferenceDto;
3233
import de.symeda.sormas.api.region.DistrictReferenceDto;
@@ -247,27 +248,32 @@ public class ContactDto extends PseudonymizableDto {
247248
private String endOfQuarantineReasonDetails;
248249

249250
public static ContactDto build() {
250-
return build(null, null, null);
251+
final ContactDto contact = new ContactDto();
252+
contact.setUuid(DataHelper.createUuid());
253+
contact.setPerson(new PersonReferenceDto(DataHelper.createUuid()));
254+
contact.setReportDateTime(new Date());
255+
contact.setContactClassification(ContactClassification.UNCONFIRMED);
256+
contact.setContactStatus(ContactStatus.ACTIVE);
257+
contact.setEpiData(EpiDataDto.build());
258+
contact.setHealthConditions(HealthConditionsDto.build());
259+
260+
return contact;
261+
}
262+
263+
public static ContactDto build(EventParticipantDto eventParticipant) {
264+
final ContactDto contact = build();
265+
contact.setPerson(eventParticipant.getPerson().toReference());
266+
267+
return contact;
251268
}
252269

253270
public static ContactDto build(CaseDataDto caze) {
254271
return build(caze.toReference(), caze.getDisease(), caze.getDiseaseDetails());
255272
}
256273

257274
public static ContactDto build(CaseReferenceDto caze, Disease disease, String diseaseDetails) {
258-
ContactDto contact = new ContactDto();
259-
contact.setUuid(DataHelper.createUuid());
260-
275+
final ContactDto contact = build();
261276
contact.assignCase(caze, disease, diseaseDetails);
262-
contact.setPerson(new PersonReferenceDto(DataHelper.createUuid()));
263-
264-
contact.setReportDateTime(new Date());
265-
contact.setContactClassification(ContactClassification.UNCONFIRMED);
266-
contact.setContactStatus(ContactStatus.ACTIVE);
267-
268-
contact.setEpiData(EpiDataDto.build());
269-
270-
contact.setHealthConditions(HealthConditionsDto.build());
271277

272278
return contact;
273279
}

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ public class ContactExportDto implements Serializable {
101101
private String facility;
102102
@SensitiveData
103103
private String phone;
104+
@SensitiveData
105+
private String emailAddress;
104106
private String occupationType;
105107
private int numberOfVisits;
106108
private YesNoUnknown lastCooperativeVisitSymptomatic;
@@ -154,7 +156,7 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
154156
PresentCondition presentCondition, Date deathDate,
155157
String addressRegion, String addressDistrict, String addressCommunity, String city, String street, String houseNumber, String additionalInformation, String postalCode,
156158
String facility, String facilityUuid, String facilityDetails,
157-
String phone, String phoneOwner, OccupationType occupationType, String occupationDetails,
159+
String phone, String phoneOwner, String emailAddress, OccupationType occupationType, String occupationDetails,
158160
String region, String district, String community,
159161
long epiDataId, YesNoUnknown traveled, YesNoUnknown burialAttended, YesNoUnknown directContactConfirmedCase, YesNoUnknown directContactProbableCase,
160162
YesNoUnknown contactWithRodent, YesNoUnknown returningTraveler, long eventCount, String externalID,
@@ -211,6 +213,7 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
211213
this.postalCode = postalCode;
212214
this.facility = FacilityHelper.buildFacilityString(facilityUuid, facility, facilityDetails);
213215
this.phone = PersonHelper.buildPhoneString(phone, phoneOwner);
216+
this.emailAddress = emailAddress;
214217
this.occupationType = PersonHelper.buildOccupationString(occupationType, occupationDetails);
215218
this.region = region;
216219
this.district = district;
@@ -520,6 +523,11 @@ public String getPhone() {
520523
return phone;
521524
}
522525

526+
@Order(53)
527+
public String getEmailAddress() {
528+
return emailAddress;
529+
}
530+
523531
@Order(60)
524532
public String getOccupationType() {
525533
return occupationType;
@@ -731,6 +739,10 @@ public void setPhone(String phone) {
731739
this.phone = phone;
732740
}
733741

742+
public void setEmailAddress(String emailAddress) {
743+
this.emailAddress = emailAddress;
744+
}
745+
734746
public void setOccupationType(String occupationType) {
735747
this.occupationType = occupationType;
736748
}

0 commit comments

Comments
 (0)