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

Commit b37ad80

Browse files
author
jenkins
committed
[GITFLOW]merging 'release-1.43.0' into 'master'
2 parents 50e56d8 + 665d92a commit b37ad80

374 files changed

Lines changed: 23950 additions & 4063 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.

DEVELOPMENT_ENVIRONMENT.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# SORMAS Development Environment
33

44
## Server
5-
- [Install your local server](SERVER_SETUP.md)
5+
- Install [your local server](SERVER_SETUP.md) or [a more dev specific one](SERVER_DEV_SETUP.md) (Docker is needed to run Postgresql image)
66

77
## Git
88
- Install [Git for your OS](https://git-scm.com/downloads)
@@ -53,6 +53,8 @@
5353
- under Startup/Connection tab make sure you do not pass environment variables (it's a currently open bug in intellij) - ignore warning about debug config not being correct
5454
- edit your domain config ..\payara5\glassfish\domains\sormas\config\domain.xml and make sure the java-config node contains:
5555
``<java-config classpath-suffix="" debug-enabled="true" debug-options="-agentlib:jdwp=transport=dt_socket,address=6009,server=n,suspend=y" ...``
56+
- Open the Ant window, click on the "+" icon and select the build.xml file from the sormas-base project
57+
- Execute the "install" and "deploy-serverlibs" scripts in this order
5658
- Configure code formatting:
5759
- install Eclipse Code Formatter for IntelliJ (https://plugins.jetbrains.com/plugin/6546-eclipse-code-formatter)
5860
- open the plugin settings (Other Settings -> Eclipse Code Formatter) and select "Use the Eclipse Code Formatter"

I18N.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,31 @@
33

44
## Who is translating SORMAS?
55

6-
The translation of SORMAS currently relies on people from the community. If you would like to see SORMAS translated to your language please read the points below and take part in the process.
6+
The translation of SORMAS relies on people from the community. If you would like to see SORMAS translated to your language, please read the points below and take part in the process.
77

88
## How is SORMAS translated?
99

10-
The official SORMAS translation is done using the crowdin platform: https://crwd.in/sormas
10+
The official SORMAS translation is done using the Crowdin platform: https://crwd.in/sormas
1111

1212
All translations done on the platform are automatically fed into SORMAS and are part of the bi-weekly release schedule.
1313
This means that any text you translate will likely be part of the next SORMAS release. Once your server (or the server of your country) is updated you will be able to see the translations in the web app and mobile app.
1414

1515
## How to participate in translating SORMAS
1616

17-
You can join the translation project by creating a free account on crowdin. You can also use your existing github account.
17+
You can join the translation project by creating a free account on Crowdin. You can also use your existing GitHub account. Before starting to translate, you need to request write access to the project. A member of the project will either accept your request or get in touch with you as soon as possible.
1818

1919
Afterwards open the SORMAS project https://crwd.in/sormas and select the language you would like to translate.
2020

21-
You will see all files that contain translatable texts.
21+
You will see all files that contain translatable texts:
2222

2323
<img alt="SORMAS translation files" src="I18nFiles.png"/>
2424

25-
The most important one is captions.properties. It contains the captions for all the data entry fields of SORMAS. The captions are shared by web app and mobile app.
25+
The most important one is captions.properties. It contains the captions for all the data entry fields of SORMAS. The captions are shared by the web app and mobile app.
2626

27-
Click on the file to open the crowdin editor that allows you to go though all translation entries one by one as shown in the picture below:
27+
Click on the file to open the Crowdin editor that allows you to go through all translation entries one by one as shown in the picture below:
2828

2929
<img alt="SORMAS translation editor" src="I18nEditor.png"/>
3030

3131
## How to add a new language to SORMAS
3232

33-
If the language you would like to translate is not available yet, please get in contact with us: https://github.com/hzi-braunschweig/SORMAS-Project
33+
If the language you would like to translate is not available yet, please get in contact with us: https://github.com/hzi-braunschweig/SORMAS-Project

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ The project consists of the following modules:
3535
- **sormas-backend:** Server entity services, facades, etc.
3636
- **sormas-base:** Base project that also contains build scripts
3737
- **sormas-ear:** The ear needed to build the application
38-
- **sormas-rest:** The REST interface
38+
- **sormas-rest:** The REST interface; see [`sormas-rest/README.md`](sormas-rest/README.md)
3939
- **sormas-ui:** The web application
4040

4141
## Server Management

SERVER_DEV_SETUP.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
2+
3+
# Installing a SORMAS Server for development
4+
**Note: This guide explains how to configure a SORMAS server on Linux and Windows systems for development. Please note that there is no database setup because the script supposes the use of the Docker Postgresql image (see [SORMAS-Docker][https://github.com/hzi-braunschweig/SORMAS-Docker]).**
5+
6+
## Content
7+
* [Prerequisites](#prerequisites)
8+
* [Java 8](#java-8)
9+
* [ant](#ant)
10+
* [Postgres Database](#postgres-database)
11+
* [SORMAS Server](#sormas-server)
12+
13+
## Related
14+
* [Installing a SORMAS Server](SERVER_SETUP.md)
15+
16+
## Prerequisites
17+
18+
### Java 8
19+
20+
See [Installing Java](SERVER_SETUP.md#java-8)
21+
22+
### Ant
23+
24+
Download and install Ant, it can be done from [Ant site](https://ant.apache.org/bindownload.cgi) or with packages from your Linux distribution.
25+
26+
### Postgres Database
27+
28+
See [Installing Postgresql](SERVER_SETUP.md#java-8)
29+
30+
Alternatively you can use the Docker image available in [SORMAS-Docker](https://github.com/hzi-braunschweig/SORMAS-Docker) repository.
31+
32+
## SORMAS Server
33+
34+
Install you own Payara server (see [installing SORMAS Server](SERVER_SETUP.md#sormas-server)) or run ``bash ./server-setup-dev-docker.sh``
35+
36+
This script will download Payara (if needed) and install SORMAS in the Payara server.
37+
38+
You can edit this script to change paths and ports.
39+
40+
Other steps :
41+
* **IMPORTANT**: Adjust the SORMAS configuration for your country in /opt/domains/sormas/sormas.properties
42+
* Adjust the logging configuration in ``${HOME}/opt/domains/sormas/config/logback.xml`` based on your needs (e.g. configure and activate email appender)
43+
* Build and deploy applications (ear and war) with you IDE.
44+
45+
46+
## Other components
47+
48+
See [Installing a SORMAS Server](SERVER_SETUP.md)

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.42.3</version>
5+
<version>1.43.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: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,8 @@ public interface ConfigFacade {
7575
int getMapZoom();
7676

7777
String getGeocodingOsgtsEndpoint();
78+
79+
String getPIAUrl();
80+
81+
void validateExternalUrls();
7882
}

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import de.symeda.sormas.api.infrastructure.PopulationDataFacade;
4545
import de.symeda.sormas.api.outbreak.OutbreakFacade;
4646
import de.symeda.sormas.api.person.PersonFacade;
47+
import de.symeda.sormas.api.region.AreaFacade;
4748
import de.symeda.sormas.api.region.CommunityFacade;
4849
import de.symeda.sormas.api.region.DistrictFacade;
4950
import de.symeda.sormas.api.region.GeoShapeProvider;
@@ -259,6 +260,10 @@ public static CampaignFacade getCampaignFacade() {
259260
return get().lookupEjbRemote(CampaignFacade.class);
260261
}
261262

263+
public static AreaFacade getAreaFacade() {
264+
return get().lookupEjbRemote(AreaFacade.class);
265+
}
266+
262267
@SuppressWarnings("unchecked")
263268
public <P> P lookupEjbRemote(Class<P> clazz) {
264269
try {

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ public enum Language {
1414
EN_NG(new Locale("en", "NG"), "dd/MM/yyyy", "dd/MM/yyyy h:mm a", "dd/MM"),
1515
EN_GH(new Locale("en", "GH"), "dd/MM/yyyy", "dd/MM/yyyy h:mm a", "dd/MM"),
1616
FR(new Locale("fr", "FR"), "dd/MM/yyyy", "dd/MM/yyyy HH:mm", "dd/MM"),
17+
FR_CH(new Locale("fr", "CH"), "dd/MM/yyyy", "dd/MM/yyyy HH:mm", "dd/MM"),
1718
DE(new Locale("de", "DE"), "dd.MM.yyyy", "dd.MM.yyyy HH:mm", "dd.MM"),
19+
DE_CH(new Locale("de", "CH"), "dd.MM.yyyy", "dd.MM.yyyy HH:mm", "dd.MM"),
1820
ES_EC(new Locale("es", "EC"), "dd/MM/yyyy", "dd/MM/yyyy H:mm", "dd/MM"),
1921
ES_CU(new Locale("es", "CU"), "dd/MM/yyyy", "dd/MM/yyyy H:mm", "dd/MM"),
2022
IT(new Locale("it", "IT"), "dd/MM/yyyy", "dd/MM/yyyy H:mm", "dd/MM"),
23+
IT_CH(new Locale("it", "CH"), "dd/MM/yyyy", "dd/MM/yyyy H:mm", "dd/MM"),
2124
FI(new Locale("fi", "FI"), "dd.MM.yyyy", "dd.MM.yyyy H.mm", "dd.MM");
2225

2326
/**

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ public interface CampaignFacade {
2222
void deleteCampaign(String uuid);
2323

2424
void archiveOrDearchiveCampaign(String campaignUuid, boolean archive);
25+
2526
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package de.symeda.sormas.api.campaign.form;
2+
3+
import java.util.List;
4+
5+
import de.symeda.sormas.api.EntityDto;
6+
7+
public class CampaignFormDto extends EntityDto {
8+
9+
private static final long serialVersionUID = -1163673887940552133L;
10+
11+
public static final String FORM_ID = "formId";
12+
public static final String LANGUAGE_CODE = "languageCode";
13+
public static final String CAMPAIGN_FORM_ELEMENTS = "campaignFormElements";
14+
15+
private String formId;
16+
private String languageCode;
17+
private List<CampaignFormElement> campaignFormElements;
18+
private List<CampaignFormTranslations> campaignFormTranslations;
19+
20+
public String getFormId() {
21+
return formId;
22+
}
23+
24+
public void setFormId(String formId) {
25+
this.formId = formId;
26+
}
27+
28+
public String getLanguageCode() {
29+
return languageCode;
30+
}
31+
32+
public void setLanguageCode(String languageCode) {
33+
this.languageCode = languageCode;
34+
}
35+
36+
public List<CampaignFormElement> getCampaignFormElements() {
37+
return campaignFormElements;
38+
}
39+
40+
public void setCampaignFormElements(List<CampaignFormElement> campaignFormElements) {
41+
this.campaignFormElements = campaignFormElements;
42+
}
43+
44+
public List<CampaignFormTranslations> getCampaignFormTranslations() {
45+
return campaignFormTranslations;
46+
}
47+
48+
public void setCampaignFormTranslations(List<CampaignFormTranslations> campaignFormTranslations) {
49+
this.campaignFormTranslations = campaignFormTranslations;
50+
}
51+
}

0 commit comments

Comments
 (0)