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

Commit 44cdb6b

Browse files
SORMAS-Foundation#2562: Make multiple addresses for person available
1 parent 4700e94 commit 44cdb6b

31 files changed

Lines changed: 519 additions & 376 deletions

File tree

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
*******************************************************************************/
1818
package de.symeda.sormas.api;
1919

20-
import de.symeda.sormas.api.region.GeoLatLon;
21-
2220
import javax.ejb.Remote;
2321

22+
import de.symeda.sormas.api.region.GeoLatLon;
23+
2424
@Remote
2525
public interface ConfigFacade {
2626

@@ -30,6 +30,8 @@ public interface ConfigFacade {
3030

3131
boolean isGermanServer();
3232

33+
boolean isSwissServer();
34+
3335
String getEpidPrefix();
3436

3537
String getAppUrl();

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Captions.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,8 @@ public interface Captions {
881881
String linkEventToCase = "linkEventToCase";
882882
String Location = "Location";
883883
String Location_additionalInformation = "Location.additionalInformation";
884+
String Location_addressType = "Location.addressType";
885+
String Location_addressTypeDetails = "Location.addressTypeDetails";
884886
String Location_areaType = "Location.areaType";
885887
String Location_details = "Location.details";
886888
String Location_houseNumber = "Location.houseNumber";
@@ -969,6 +971,7 @@ public interface Captions {
969971
String PathogenTests = "PathogenTests";
970972
String Person = "Person";
971973
String Person_address = "Person.address";
974+
String Person_addresses = "Person.addresses";
972975
String Person_ageAndBirthDate = "Person.ageAndBirthDate";
973976
String Person_approximateAge = "Person.approximateAge";
974977
String Person_approximateAgeReferenceDate = "Person.approximateAgeReferenceDate";

sormas-api/src/main/java/de/symeda/sormas/api/location/LocationDto.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package de.symeda.sormas.api.location;
1919

2020
import de.symeda.sormas.api.PseudonymizableDto;
21+
import de.symeda.sormas.api.person.PersonAddressType;
2122
import de.symeda.sormas.api.region.CommunityReferenceDto;
2223
import de.symeda.sormas.api.region.DistrictReferenceDto;
2324
import de.symeda.sormas.api.region.RegionReferenceDto;
@@ -46,6 +47,8 @@ public class LocationDto extends PseudonymizableDto {
4647
public static final String STREET = "street";
4748
public static final String HOUSE_NUMBER = "houseNumber";
4849
public static final String ADDITIONAL_INFORMATION = "additionalInformation";
50+
public static final String ADDRESS_TYPE = "addressType";
51+
public static final String ADDRESS_TYPE_DETAILS = "addressTypeDetails";
4952

5053
private RegionReferenceDto region;
5154
private DistrictReferenceDto district;
@@ -81,6 +84,8 @@ public class LocationDto extends PseudonymizableDto {
8184
@PersonalData
8285
@SensitiveData
8386
private String additionalInformation;
87+
private PersonAddressType addressType;
88+
private String addressTypeDetails;
8489

8590
public String getDetails() {
8691
return details;
@@ -186,6 +191,22 @@ public void setAdditionalInformation(String additionalInformation) {
186191
this.additionalInformation = additionalInformation;
187192
}
188193

194+
public PersonAddressType getAddressType() {
195+
return addressType;
196+
}
197+
198+
public void setAddressType(PersonAddressType addressType) {
199+
this.addressType = addressType;
200+
}
201+
202+
public String getAddressTypeDetails() {
203+
return addressTypeDetails;
204+
}
205+
206+
public void setAddressTypeDetails(String addressTypeDetails) {
207+
this.addressTypeDetails = addressTypeDetails;
208+
}
209+
189210
@Override
190211
public String toString() {
191212

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package de.symeda.sormas.api.person;
2+
3+
import de.symeda.sormas.api.i18n.I18nProperties;
4+
5+
public enum PersonAddressType {
6+
7+
HOME,
8+
PLACE_OF_RESIDENCE,
9+
PLACE_OF_EXPOSURE,
10+
PLACE_OF_WORK,
11+
EVENT_LOCATION,
12+
OTHER_ADDRESS;
13+
14+
public String toString() {
15+
return I18nProperties.getEnumCaption(this);
16+
}
17+
}

sormas-api/src/main/java/de/symeda/sormas/api/person/PersonDto.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,12 @@
1717
*******************************************************************************/
1818
package de.symeda.sormas.api.person;
1919

20+
import java.util.ArrayList;
2021
import java.util.Date;
22+
import java.util.List;
2123

2224
import de.symeda.sormas.api.Disease;
25+
import de.symeda.sormas.api.ImportIgnore;
2326
import de.symeda.sormas.api.PseudonymizableDto;
2427
import de.symeda.sormas.api.facility.FacilityReferenceDto;
2528
import de.symeda.sormas.api.facility.FacilityType;
@@ -100,6 +103,7 @@ public class PersonDto extends PseudonymizableDto {
100103
public static final String EMAIL_ADDRESS = "emailAddress";
101104
public static final String OCCUPATION_FACILITY_TYPE = "occupationFacilityType";
102105
public static final String PLACE_OF_BIRTH_FACILITY_TYPE = "placeOfBirthFacilityType";
106+
public static final String ADDRESSES = "addresses";
103107

104108
// Fields are declared in the order they should appear in the import template
105109

@@ -257,6 +261,7 @@ public class PersonDto extends PseudonymizableDto {
257261
private String passportNumber;
258262
@SensitiveData
259263
private String nationalHealthId;
264+
private List<LocationDto> addresses = new ArrayList<>();
260265

261266
public Integer getBirthdateDD() {
262267
return birthdateDD;
@@ -642,6 +647,15 @@ public void setPlaceOfBirthFacilityType(FacilityType placeOfBirthFacilityType) {
642647
this.placeOfBirthFacilityType = placeOfBirthFacilityType;
643648
}
644649

650+
@ImportIgnore
651+
public List<LocationDto> getAddresses() {
652+
return addresses;
653+
}
654+
655+
public void setAddresses(List<LocationDto> addresses) {
656+
this.addresses = addresses;
657+
}
658+
645659
@Override
646660
public String toString() {
647661
return buildCaption(firstName, lastName);

sormas-api/src/main/java/de/symeda/sormas/api/person/PersonFacade.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,17 @@
1717
*******************************************************************************/
1818
package de.symeda.sormas.api.person;
1919

20+
import java.util.Date;
21+
import java.util.List;
22+
import java.util.Map;
23+
24+
import javax.ejb.Remote;
25+
2026
import de.symeda.sormas.api.Disease;
2127
import de.symeda.sormas.api.caze.CaseCriteria;
2228
import de.symeda.sormas.api.region.DistrictReferenceDto;
2329
import de.symeda.sormas.api.user.UserReferenceDto;
2430

25-
import javax.ejb.Remote;
26-
import java.util.Date;
27-
import java.util.List;
28-
import java.util.Map;
29-
3031
@Remote
3132
public interface PersonFacade {
3233

@@ -46,8 +47,6 @@ public interface PersonFacade {
4647

4748
List<PersonDto> getByUuids(List<String> uuids);
4849

49-
PersonIndexDto getIndexDto(String uuid);
50-
5150
Map<Disease, Long> getDeathCountByDisease(CaseCriteria caseCriteria, boolean excludeSharedCases, boolean excludeCasesFromContacts);
5251

5352
/**

0 commit comments

Comments
 (0)