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

Commit bb5d9a1

Browse files
author
jenkins
committed
[GITFLOW]merging 'release-1.45.0' into 'master'
2 parents bf80e83 + 5169d51 commit bb5d9a1

318 files changed

Lines changed: 6502 additions & 1232 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.

CONTRIBUTING.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,5 @@ There are a couple of things you can do to fix these problems:
107107
* Re-deploy the server artifacts
108108

109109
If the problem occurred right after you've pulled new code from GitHub, your safest bet is probably to start with the Maven update. For most other problems, a simple re-deployment or, if necessary, server restart should suffice.
110+
111+
When you have problems like this - `An internal error occurred during: "Polling news feeds". javax/xml/bind/JAXBContext` - then disable setting `Window --> Preferences --> General --> News --> "Enable automatic news polling"` (may happen when running Eclipse with JDK 11).

SERVER_SETUP.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
## Content
77
* [Prerequisites](#prerequisites)
8-
* [Java 8](#java-8)
8+
* [Java 11](#java-11)
99
* [Postgres Database](#postgres-database)
1010
* [SORMAS Server](#sormas-server)
1111
* [Web Server Setup](#web-server-setup)
@@ -21,24 +21,22 @@
2121

2222
## Prerequisites
2323

24-
### Java 8
24+
### Java 11
2525

26-
**Please note:** Because of a bug in the current Payara version, deployment will fail with a Java version above 8u202!
27-
28-
* Download and install the Java 8u202 **JDK** (not JRE) for your operating system. We suggest to use Zulu OpenJDK: https://www.azul.com/downloads/zulu/
26+
* Download and install the Java 11 **JDK** (not JRE) for your operating system. We suggest to use Zulu OpenJDK: https://www.azul.com/downloads/zulu/
2927
* **Linux**: https://docs.azul.com/zulu/zuludocs/#ZuluUserGuide/PrepareZuluPlatform/AttachAPTRepositoryUbuntuOrDebianSys.htm
3028

3129
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
3230
sudo apt-add-repository 'deb http://repos.azulsystems.com/ubuntu stable main'
3331
sudo apt-get update
34-
sudo apt-get install zulu-8
35-
* **Windows**: For testing and development environments we suggest to download and run the installer of the Java 8 **JDK** for 32 or 64 bit client systems (depending on your system).
32+
sudo apt-get install zulu-11
33+
* **Windows**: For testing and development environments we suggest to download and run the installer of the Java 11 **JDK** for 32 or 64 bit client systems (depending on your system).
3634
* You can check your Java version from the shell/command line using: ``java -version``
3735

3836
### Postgres Database
3937

4038
* Install PostgreSQL (currently 9.5, 9.6 or 10) on your system (manuals for all OS can be found here: https://www.postgresql.org/download)
41-
* set **max_prepared_transactions = 64** (at least) in postgresql.conf (e.g. ``/etc/postgresql/10.0/main/postgresql.conf``; ``C:/Program Files/PostgreSQL/10.0/data``) - make sure the property is uncommented
39+
* Set **max_connections = 288** and **max_prepared_transactions = 256** (at least, sum of all connection pools) in ``postgresql.conf`` (e.g. ``/etc/postgresql/10.0/main/postgresql.conf``; ``C:/Program Files/PostgreSQL/10.0/data``) - make sure the property is uncommented
4240
* Install the "temporal tables" extension for Postgres (https://github.com/arkhipov/temporal_tables)
4341
* **Windows**: Download the latest version for your Postgres version: https://github.com/arkhipov/temporal_tables/releases/latest, then copy the DLL from the project into the PostgreSQL's lib directory and the .sql and .control files into the directory share\extension.
4442
* **Linux** (see https://github.com/arkhipov/temporal_tables#installation):

sormas-api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<parent>
33
<groupId>de.symeda.sormas</groupId>
44
<artifactId>sormas-base</artifactId>
5-
<version>1.44.3</version>
5+
<version>1.45.0</version>
66
<relativePath>../sormas-base</relativePath>
77
</parent>
88
<modelVersion>4.0.0</modelVersion>

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,13 @@ public interface ConfigFacade {
8484

8585
String getGeocodingOsgtsEndpoint();
8686

87-
String getPIAUrl();
87+
String getSymptomJournalUrl();
88+
89+
String getSymptomJournalAuthUrl();
90+
91+
String getSymptomJournalClientId();
92+
93+
String getSymptomJournalSecret();
8894

8995
void validateExternalUrls();
9096
}
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
/*
2+
* SORMAS® - Surveillance Outbreak Response Management & Analysis System
3+
* Copyright © 2016-2020 Helmholtz-Zentrum für Infektionsforschung GmbH (HZI)
4+
* This program is free software: you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License as published by
6+
* the Free Software Foundation, either version 3 of the License, or
7+
* (at your option) any later version.
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
* You should have received a copy of the GNU General Public License
13+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
14+
*/
15+
16+
package de.symeda.sormas.api.campaign.data;
17+
18+
import de.symeda.sormas.api.BaseCriteria;
19+
import de.symeda.sormas.api.campaign.CampaignReferenceDto;
20+
import de.symeda.sormas.api.campaign.form.CampaignFormReferenceDto;
21+
import de.symeda.sormas.api.region.CommunityReferenceDto;
22+
import de.symeda.sormas.api.region.DistrictReferenceDto;
23+
import de.symeda.sormas.api.region.RegionReferenceDto;
24+
25+
import java.io.Serializable;
26+
27+
public class CampaignFormDataCriteria extends BaseCriteria implements Serializable {
28+
29+
public static final String CAMPAIGN = "campaign";
30+
public static final String CAMPAIGN_FORM = "campaignForm";
31+
public static final String REGION = "region";
32+
public static final String DISTRICT = "district";
33+
public static final String COMMUNITY = "community";
34+
35+
private static final long serialVersionUID = 8124072093160133408L;
36+
37+
private CampaignReferenceDto campaign;
38+
private CampaignFormReferenceDto campaignForm;
39+
private RegionReferenceDto region;
40+
private DistrictReferenceDto district;
41+
private CommunityReferenceDto community;
42+
43+
public CampaignReferenceDto getCampaign() {
44+
return campaign;
45+
}
46+
47+
public void setCampaign(CampaignReferenceDto campaign) {
48+
this.campaign = campaign;
49+
}
50+
51+
public CampaignFormDataCriteria campaign(CampaignReferenceDto campaign) {
52+
this.campaign = campaign;
53+
return this;
54+
}
55+
56+
public CampaignFormReferenceDto getCampaignForm() {
57+
return campaignForm;
58+
}
59+
60+
public void setCampaignForm(CampaignFormReferenceDto campaignForm) {
61+
this.campaignForm = campaignForm;
62+
}
63+
64+
public CampaignFormDataCriteria campaignForm(CampaignFormReferenceDto campaignForm) {
65+
this.campaignForm = campaignForm;
66+
return this;
67+
}
68+
69+
public RegionReferenceDto getRegion() {
70+
return region;
71+
}
72+
73+
public void setRegion(RegionReferenceDto region) {
74+
this.region = region;
75+
}
76+
77+
public CampaignFormDataCriteria region(RegionReferenceDto region) {
78+
this.region = region;
79+
return this;
80+
}
81+
82+
public DistrictReferenceDto getDistrict() {
83+
return district;
84+
}
85+
86+
public void setDistrict(DistrictReferenceDto district) {
87+
this.district = district;
88+
}
89+
90+
public CampaignFormDataCriteria district(DistrictReferenceDto district) {
91+
this.district = district;
92+
return this;
93+
}
94+
95+
public CommunityReferenceDto getCommunity() {
96+
return community;
97+
}
98+
99+
public void setCommunity(CommunityReferenceDto community) {
100+
this.community = community;
101+
}
102+
103+
public CampaignFormDataCriteria community(CommunityReferenceDto community) {
104+
this.community = community;
105+
return this;
106+
}
107+
108+
}

sormas-api/src/main/java/de/symeda/sormas/api/campaign/data/CampaignFormDataDto.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,26 @@
2828
import de.symeda.sormas.api.region.RegionReferenceDto;
2929
import de.symeda.sormas.api.utils.DataHelper;
3030

31+
import java.util.Date;
3132
import java.util.List;
3233

3334
public class CampaignFormDataDto extends EntityDto {
3435

3536
private static final long serialVersionUID = -8087195060395038093L;
3637

37-
public static final String I18N_PREFIX = "campaignformdata";
38+
public static final String I18N_PREFIX = "CampaignFormData";
3839

3940
public static final String CAMPAIGN = "campaign";
41+
public static final String CAMPAIGN_FORM = "campaignForm";
42+
public static final String FORM_DATE = "formDate";
4043
public static final String REGION = "region";
4144
public static final String DISTRICT = "district";
4245
public static final String COMMUNITY = "community";
4346

4447
private List<CampaignFormValue> formValues;
4548
private CampaignReferenceDto campaign;
4649
private CampaignFormReferenceDto campaignForm;
50+
private Date formDate;
4751
private RegionReferenceDto region;
4852
private DistrictReferenceDto district;
4953
private CommunityReferenceDto community;
@@ -61,6 +65,7 @@ public static CampaignFormDataDto build(
6165
campaignFormData.setRegion(region);
6266
campaignFormData.setDistrict(district);
6367
campaignFormData.setCommunity(community);
68+
campaignFormData.setFormDate(new Date());
6469
return campaignFormData;
6570
}
6671

@@ -88,6 +93,14 @@ public void setCampaign(CampaignReferenceDto campaign) {
8893
this.campaign = campaign;
8994
}
9095

96+
public Date getFormDate() {
97+
return formDate;
98+
}
99+
100+
public void setFormDate(Date formDate) {
101+
this.formDate = formDate;
102+
}
103+
91104
public RegionReferenceDto getRegion() {
92105
return region;
93106
}

sormas-api/src/main/java/de/symeda/sormas/api/campaign/data/CampaignFormDataFacade.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
package de.symeda.sormas.api.campaign.data;
2222

23+
import de.symeda.sormas.api.utils.SortProperty;
24+
2325
import javax.ejb.Remote;
2426
import java.util.List;
2527

@@ -39,4 +41,8 @@ public interface CampaignFormDataFacade {
3941
boolean exists(String uuid);
4042

4143
CampaignFormDataReferenceDto getReferenceByUuid(String uuid);
44+
45+
List<CampaignFormDataIndexDto> getIndexList(CampaignFormDataCriteria criteria, Integer first, Integer max, List<SortProperty> sortProperties);
46+
47+
long count(CampaignFormDataCriteria criteria);
4248
}
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
/*
2+
* SORMAS® - Surveillance Outbreak Response Management & Analysis System
3+
* Copyright © 2016-2020 Helmholtz-Zentrum für Infektionsforschung GmbH (HZI)
4+
* This program is free software: you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License as published by
6+
* the Free Software Foundation, either version 3 of the License, or
7+
* (at your option) any later version.
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
* You should have received a copy of the GNU General Public License
13+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
14+
*/
15+
16+
package de.symeda.sormas.api.campaign.data;
17+
18+
import java.io.Serializable;
19+
import java.util.Date;
20+
21+
public class CampaignFormDataIndexDto implements Serializable, Cloneable {
22+
23+
public static final String I18N_PREFIX = "CampaignFormData";
24+
25+
public static final String UUID = "uuid";
26+
public static final String CAMPAIGN = "campaign";
27+
public static final String REGION = "region";
28+
public static final String DISTRICT = "district";
29+
public static final String COMMUNITY = "community";
30+
public static final String FORM_DATE = "formDate";
31+
32+
private static final long serialVersionUID = -6672198324526771162L;
33+
34+
private String uuid;
35+
private String campaign;
36+
private String region;
37+
private String district;
38+
private String community;
39+
private Date formDate;
40+
41+
public CampaignFormDataIndexDto(String uuid, String campaign, String region, String district, String community, Date formDate) {
42+
this.uuid = uuid;
43+
this.campaign = campaign;
44+
this.region = region;
45+
this.district = district;
46+
this.community = community;
47+
this.formDate = formDate;
48+
}
49+
50+
public String getUuid() {
51+
return uuid;
52+
}
53+
54+
public void setUuid(String uuid) {
55+
this.uuid = uuid;
56+
}
57+
58+
public String getCampaign() {
59+
return campaign;
60+
}
61+
62+
public void setCampaign(String campaign) {
63+
this.campaign = campaign;
64+
}
65+
66+
public String getRegion() {
67+
return region;
68+
}
69+
70+
public void setRegion(String region) {
71+
this.region = region;
72+
}
73+
74+
public String getDistrict() {
75+
return district;
76+
}
77+
78+
public void setDistrict(String district) {
79+
this.district = district;
80+
}
81+
82+
public String getCommunity() {
83+
return community;
84+
}
85+
86+
public void setCommunity(String community) {
87+
this.community = community;
88+
}
89+
90+
public Date getFormDate() {
91+
return formDate;
92+
}
93+
94+
public void setFormDate(Date formDate) {
95+
this.formDate = formDate;
96+
}
97+
}

sormas-api/src/main/java/de/symeda/sormas/api/campaign/data/CampaignFormValue.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package de.symeda.sormas.api.campaign.data;
1717

1818
import java.io.Serializable;
19+
import java.util.Objects;
1920

2021
public class CampaignFormValue implements Serializable {
2122

@@ -24,6 +25,15 @@ public class CampaignFormValue implements Serializable {
2425
private String id;
2526
private Object value;
2627

28+
public CampaignFormValue() {
29+
30+
}
31+
32+
public CampaignFormValue(String id, Object value) {
33+
this.id = id;
34+
this.value = value;
35+
}
36+
2737
public String getId() {
2838
return id;
2939
}
@@ -39,4 +49,19 @@ public Object getValue() {
3949
public void setValue(Object value) {
4050
this.value = value;
4151
}
52+
53+
@Override
54+
public boolean equals(Object o) {
55+
if (this == o)
56+
return true;
57+
if (o == null || getClass() != o.getClass())
58+
return false;
59+
CampaignFormValue that = (CampaignFormValue) o;
60+
return Objects.equals(id, that.id);
61+
}
62+
63+
@Override
64+
public int hashCode() {
65+
return Objects.hash(id);
66+
}
4267
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ public enum CaseClassification
2828
SUSPECT,
2929
PROBABLE,
3030
CONFIRMED,
31+
CONFIRMED_NO_SYMPTOMS,
32+
CONFIRMED_UNKNOWN_SYMPTOMS,
3133
NO_CASE;
3234

3335
public String getName() {

0 commit comments

Comments
 (0)