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

Commit f8a2445

Browse files
author
vlad-ciucescu
authored
Merge pull request SORMAS-Foundation#3454 from hzi-braunschweig/feat-2993-countries-import
SORMAS-Foundation#2993 countries import
2 parents f927cc6 + 64d500d commit f8a2445

69 files changed

Lines changed: 2566 additions & 181 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
@@ -54,6 +54,7 @@
5454
import de.symeda.sormas.api.person.PersonFacade;
5555
import de.symeda.sormas.api.region.AreaFacade;
5656
import de.symeda.sormas.api.region.CommunityFacade;
57+
import de.symeda.sormas.api.region.CountryFacade;
5758
import de.symeda.sormas.api.region.DistrictFacade;
5859
import de.symeda.sormas.api.region.GeoShapeProvider;
5960
import de.symeda.sormas.api.region.RegionFacade;
@@ -158,6 +159,9 @@ public static FacilityFacade getFacilityFacade() {
158159
return get().lookupEjbRemote(FacilityFacade.class);
159160
}
160161

162+
public static CountryFacade getCountryFacade() {
163+
return get().lookupEjbRemote(CountryFacade.class);
164+
}
161165
public static RegionFacade getRegionFacade() {
162166
return get().lookupEjbRemote(RegionFacade.class);
163167
}

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public interface Captions {
5151
String actionGenerate = "actionGenerate";
5252
String actionHide = "actionHide";
5353
String actionImport = "actionImport";
54+
String actionImportAllCountries = "actionImportAllCountries";
5455
String actionLeaveBulkEditMode = "actionLeaveBulkEditMode";
5556
String actionLogout = "actionLogout";
5657
String actionMerge = "actionMerge";
@@ -548,6 +549,12 @@ public interface Captions {
548549
String contactSelect = "contactSelect";
549550
String convertContactToCase = "convertContactToCase";
550551
String convertEventParticipantToCase = "convertEventParticipantToCase";
552+
String Country_archived = "Country.archived";
553+
String Country_defaultName = "Country.defaultName";
554+
String Country_displayName = "Country.displayName";
555+
String Country_externalId = "Country.externalId";
556+
String Country_isoCode = "Country.isoCode";
557+
String Country_unoCode = "Country.unoCode";
551558
String creationDate = "creationDate";
552559
String dashboardAlive = "dashboardAlive";
553560
String dashboardApplyCustomFilter = "dashboardApplyCustomFilter";
@@ -1684,6 +1691,8 @@ public interface Captions {
16841691
String View_configuration_areas_short = "View.configuration.areas.short";
16851692
String View_configuration_communities = "View.configuration.communities";
16861693
String View_configuration_communities_short = "View.configuration.communities.short";
1694+
String View_configuration_countries = "View.configuration.countries";
1695+
String View_configuration_countries_short = "View.configuration.countries.short";
16871696
String View_configuration_devMode = "View.configuration.devMode";
16881697
String View_configuration_devMode_short = "View.configuration.devMode.short";
16891698
String View_configuration_districts = "View.configuration.districts";
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package de.symeda.sormas.api.i18n;
2+
3+
import javax.annotation.Generated;
4+
5+
@Generated(value = "de.symeda.sormas.api.i18n.I18nConstantGenerator")
6+
public interface Countries {
7+
8+
/*
9+
* Hint for SonarQube issues:
10+
* 1. java:S115: Violation of name convention for constants of this class is accepted: Close as false positive.
11+
*/
12+
13+
}

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public final class I18nProperties {
4747
private final ResourceBundle enumProperties;
4848
private final ResourceBundle validationProperties;
4949
private final ResourceBundle stringProperties;
50+
private final ResourceBundle countryProperties;
5051

5152
private static I18nProperties getInstance(Language language) {
5253

@@ -277,6 +278,21 @@ public static String getString(Language language, String property) {
277278
return getInstance(language).stringProperties.getString(property);
278279
}
279280

281+
public static String getCountryName(String isoCode) {
282+
return getCountryName(userLanguage.get(), isoCode);
283+
}
284+
285+
public static String getCountryName(String isoCode, String defaultValue) {
286+
287+
String result = getCountryName(userLanguage.get(), isoCode);
288+
return StringUtils.isEmpty(result) ? defaultValue : result;
289+
}
290+
291+
public static String getCountryName(Language language, String isoCode) {
292+
String nameLanguageKey = isoCode != null ? "country." + isoCode.toUpperCase() + ".name" : null;
293+
return getInstance(language).countryProperties.getString(nameLanguageKey);
294+
}
295+
280296
private I18nProperties() {
281297
this(defaultLanguage);
282298
}
@@ -288,6 +304,7 @@ private I18nProperties(Language language) {
288304
this.enumProperties = loadProperties("enum", language.getLocale());
289305
this.validationProperties = loadProperties("validations", language.getLocale());
290306
this.stringProperties = loadProperties("strings", language.getLocale());
307+
this.countryProperties = loadProperties("countries", language.getLocale());
291308
}
292309

293310
public static ResourceBundle loadProperties(String propertiesGroup, Locale locale) {

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ public interface Strings {
5050
String confirmationArchiveCases = "confirmationArchiveCases";
5151
String confirmationArchiveCommunities = "confirmationArchiveCommunities";
5252
String confirmationArchiveCommunity = "confirmationArchiveCommunity";
53+
String confirmationArchiveCountries = "confirmationArchiveCountries";
54+
String confirmationArchiveCountry = "confirmationArchiveCountry";
5355
String confirmationArchiveDistrict = "confirmationArchiveDistrict";
5456
String confirmationArchiveDistricts = "confirmationArchiveDistricts";
5557
String confirmationArchiveEvent = "confirmationArchiveEvent";
@@ -72,6 +74,8 @@ public interface Strings {
7274
String confirmationDearchiveCases = "confirmationDearchiveCases";
7375
String confirmationDearchiveCommunities = "confirmationDearchiveCommunities";
7476
String confirmationDearchiveCommunity = "confirmationDearchiveCommunity";
77+
String confirmationDearchiveCountries = "confirmationDearchiveCountries";
78+
String confirmationDearchiveCountry = "confirmationDearchiveCountry";
7579
String confirmationDearchiveDistrict = "confirmationDearchiveDistrict";
7680
String confirmationDearchiveDistricts = "confirmationDearchiveDistricts";
7781
String confirmationDearchiveEvent = "confirmationDearchiveEvent";
@@ -280,6 +284,7 @@ public interface Strings {
280284
String headingEditCases = "headingEditCases";
281285
String headingEditClinicalVisit = "headingEditClinicalVisit";
282286
String headingEditContacts = "headingEditContacts";
287+
String headingEditCountry = "headingEditCountry";
283288
String headingEditEventParticipant = "headingEditEventParticipant";
284289
String headingEditEvents = "headingEditEvents";
285290
String headingEditLineListing = "headingEditLineListing";
@@ -312,12 +317,14 @@ public interface Strings {
312317
String headingHealthConditions = "headingHealthConditions";
313318
String headingHospitalization = "headingHospitalization";
314319
String headingHowToMergeCases = "headingHowToMergeCases";
320+
String headingImportAllCountries = "headingImportAllCountries";
315321
String headingImportAreas = "headingImportAreas";
316322
String headingImportCampaign = "headingImportCampaign";
317323
String headingImportCaseContacts = "headingImportCaseContacts";
318324
String headingImportCases = "headingImportCases";
319325
String headingImportCommunities = "headingImportCommunities";
320326
String headingImportContacts = "headingImportContacts";
327+
String headingImportCountries = "headingImportCountries";
321328
String headingImportCsvFile = "headingImportCsvFile";
322329
String headingImportDistricts = "headingImportDistricts";
323330
String headingImportedCaseInfo = "headingImportedCaseInfo";
@@ -452,6 +459,7 @@ public interface Strings {
452459
String infoEditExportConfiguration = "infoEditExportConfiguration";
453460
String infoExportNoFilters = "infoExportNoFilters";
454461
String infoHowToMergeCases = "infoHowToMergeCases";
462+
String infoImportAllCountries = "infoImportAllCountries";
455463
String infoImportCsvFile = "infoImportCsvFile";
456464
String infoImportProcess = "infoImportProcess";
457465
String infoImportSimilarity = "infoImportSimilarity";
@@ -501,6 +509,7 @@ public interface Strings {
501509
String infoWeeklyReportsView = "infoWeeklyReportsView";
502510
String labelNumberOfAreas = "labelNumberOfAreas";
503511
String labelNumberOfCommunities = "labelNumberOfCommunities";
512+
String labelNumberOfCountries = "labelNumberOfCountries";
504513
String labelNumberOfDistricts = "labelNumberOfDistricts";
505514
String labelNumberOfFacilities = "labelNumberOfFacilities";
506515
String labelNumberOfPointofEntry = "labelNumberOfPointofEntry";
@@ -575,6 +584,10 @@ public interface Strings {
575584
String messageConvertEventParticipantToCaseDifferentDiseases = "messageConvertEventParticipantToCaseDifferentDiseases";
576585
String messageCopyPassword = "messageCopyPassword";
577586
String messageCountEventsNotDeleted = "messageCountEventsNotDeleted";
587+
String messageCountriesArchived = "messageCountriesArchived";
588+
String messageCountriesDearchived = "messageCountriesDearchived";
589+
String messageCountryArchived = "messageCountryArchived";
590+
String messageCountryDearchived = "messageCountryDearchived";
578591
String messageCreateCollectionTask = "messageCreateCollectionTask";
579592
String messageCreateContactCase = "messageCreateContactCase";
580593
String messageDatabaseExportFailed = "messageDatabaseExportFailed";

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ public interface Validations {
5454
String importCasesUnexpectedError = "importCasesUnexpectedError";
5555
String importCommunityAlreadyExists = "importCommunityAlreadyExists";
5656
String importCommunityNotUnique = "importCommunityNotUnique";
57+
String importCountryAlreadyExists = "importCountryAlreadyExists";
58+
String importCountryEmptyIso = "importCountryEmptyIso";
5759
String importDistrictAlreadyExists = "importDistrictAlreadyExists";
5860
String importDistrictNotUnique = "importDistrictNotUnique";
5961
String importEntryCommunityNotInUsersJurisdiction = "importEntryCommunityNotInUsersJurisdiction";

sormas-api/src/main/java/de/symeda/sormas/api/importexport/DatabaseTable.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public enum DatabaseTable {
4747
PERSONS(DatabaseTableType.SORMAS, null, "persons"),
4848
LOCATIONS(DatabaseTableType.SORMAS, null, "locations"),
4949
OUTBREAKS(DatabaseTableType.SORMAS, null, "outbreaks"),
50+
COUNTRIES(DatabaseTableType.INFRASTRUCTURE, null, "countries"),
5051
REGIONS(DatabaseTableType.INFRASTRUCTURE, null, "regions"),
5152
DISTRICTS(DatabaseTableType.INFRASTRUCTURE, null, "districts"),
5253
COMMUNITIES(DatabaseTableType.INFRASTRUCTURE, null, "communities"),

sormas-api/src/main/java/de/symeda/sormas/api/importexport/ImportFacade.java

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

2020
import java.io.IOException;
21+
import java.net.URI;
2122

2223
import javax.ejb.Remote;
2324

@@ -45,6 +46,8 @@ public interface ImportFacade {
4546

4647
void generateAreaImportTemplateFile() throws IOException;
4748

49+
void generateCountryImportTemplateFile() throws IOException;
50+
4851
void generateRegionImportTemplateFile() throws IOException;
4952

5053
void generateDistrictImportTemplateFile() throws IOException;
@@ -67,6 +70,10 @@ public interface ImportFacade {
6770

6871
String getAreaImportTemplateFilePath();
6972

73+
String getCountryImportTemplateFilePath();
74+
75+
URI getAllCountriesImportFilePath();
76+
7077
String getRegionImportTemplateFilePath();
7178

7279
String getDistrictImportTemplateFilePath();

sormas-api/src/main/java/de/symeda/sormas/api/infrastructure/InfrastructureChangeDatesDto.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55

66
public class InfrastructureChangeDatesDto implements Serializable {
77

8-
private static final long serialVersionUID = 3661789242295903774L;
8+
private static final long serialVersionUID = 6269655187128160377L;
99

10+
private Date countryChangeDate;
1011
private Date regionChangeDate;
1112
private Date districtChangeDate;
1213
private Date communityChangeDate;
@@ -20,6 +21,14 @@ public class InfrastructureChangeDatesDto implements Serializable {
2021
private Date campaignChangeDate;
2122
private Date campaignFormMetaChangeDate;
2223

24+
public Date getCountryChangeDate() {
25+
return countryChangeDate;
26+
}
27+
28+
public void setCountryChangeDate(Date countryChangeDate) {
29+
this.countryChangeDate = countryChangeDate;
30+
}
31+
2332
public Date getRegionChangeDate() {
2433
return regionChangeDate;
2534
}

sormas-api/src/main/java/de/symeda/sormas/api/infrastructure/InfrastructureSyncDto.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import de.symeda.sormas.api.facility.FacilityDto;
1111
import de.symeda.sormas.api.feature.FeatureConfigurationDto;
1212
import de.symeda.sormas.api.region.CommunityDto;
13+
import de.symeda.sormas.api.region.CountryDto;
1314
import de.symeda.sormas.api.region.DistrictDto;
1415
import de.symeda.sormas.api.region.RegionDto;
1516
import de.symeda.sormas.api.user.UserDto;
@@ -20,6 +21,7 @@ public class InfrastructureSyncDto implements Serializable {
2021
private static final long serialVersionUID = -3874808120492307171L;
2122

2223
private boolean initialSyncRequired;
24+
private List<CountryDto> countries;
2325
private List<RegionDto> regions;
2426
private List<DistrictDto> districts;
2527
private List<CommunityDto> communities;
@@ -43,6 +45,14 @@ public void setInitialSyncRequired(boolean initialSyncRequired) {
4345
this.initialSyncRequired = initialSyncRequired;
4446
}
4547

48+
public List<CountryDto> getCountries() {
49+
return countries;
50+
}
51+
52+
public void setCountries(List<CountryDto> countries) {
53+
this.countries = countries;
54+
}
55+
4656
public List<RegionDto> getRegions() {
4757
return regions;
4858
}

0 commit comments

Comments
 (0)