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

Commit 00336ea

Browse files
lgallgal
authored andcommitted
Merge remote-tracking branch 'origin/development' into 3409_prohibition-to-work-fields
# Conflicts: # sormas-app/app/src/main/java/de/symeda/sormas/app/contact/edit/ContactValidator.java # sormas-backend/src/main/resources/sql/sormas_schema.sql
2 parents 6a24870 + 6b015a8 commit 00336ea

136 files changed

Lines changed: 2878 additions & 872 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/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.52.0-SNAPSHOT</version>
5+
<version>1.53.0-SNAPSHOT</version>
66
<relativePath>../sormas-base</relativePath>
77
</parent>
88
<modelVersion>4.0.0</modelVersion>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package de.symeda.sormas.api.campaign;
2+
3+
import de.symeda.sormas.api.IntegerRange;
4+
import de.symeda.sormas.api.i18n.I18nProperties;
5+
6+
/**
7+
* Not used yet
8+
*/
9+
public enum CampaignPhase {
10+
11+
PRE,
12+
INTRA,
13+
POST;
14+
15+
public String toString() {
16+
return I18nProperties.getEnumCaption(this);
17+
}
18+
}

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

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,24 @@
1515

1616
package de.symeda.sormas.api.campaign.data;
1717

18+
import java.io.Serializable;
19+
import java.util.Date;
20+
1821
import de.symeda.sormas.api.BaseCriteria;
1922
import de.symeda.sormas.api.campaign.CampaignReferenceDto;
2023
import de.symeda.sormas.api.campaign.form.CampaignFormMetaReferenceDto;
2124
import de.symeda.sormas.api.region.CommunityReferenceDto;
2225
import de.symeda.sormas.api.region.DistrictReferenceDto;
2326
import de.symeda.sormas.api.region.RegionReferenceDto;
2427

25-
import java.io.Serializable;
26-
2728
public class CampaignFormDataCriteria extends BaseCriteria implements Serializable {
2829

2930
public static final String CAMPAIGN = "campaign";
3031
public static final String CAMPAIGN_FORM_META = "campaignFormMeta";
3132
public static final String REGION = "region";
3233
public static final String DISTRICT = "district";
3334
public static final String COMMUNITY = "community";
35+
public static final String FORM_DATE = "formDate";
3436

3537
private static final long serialVersionUID = 8124072093160133408L;
3638

@@ -39,6 +41,7 @@ public class CampaignFormDataCriteria extends BaseCriteria implements Serializab
3941
private RegionReferenceDto region;
4042
private DistrictReferenceDto district;
4143
private CommunityReferenceDto community;
44+
private Date formDate;
4245

4346
public CampaignReferenceDto getCampaign() {
4447
return campaign;
@@ -104,4 +107,17 @@ public CampaignFormDataCriteria community(CommunityReferenceDto community) {
104107
this.community = community;
105108
return this;
106109
}
110+
111+
public Date getFormDate() {
112+
return formDate;
113+
}
114+
115+
public void setFormDate(Date formDate) {
116+
this.formDate = formDate;
117+
}
118+
119+
public CampaignFormDataCriteria formDate(Date formDate) {
120+
this.formDate = formDate;
121+
return this;
122+
}
107123
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public class CampaignFormDataDto extends EntityDto {
4545
public static final String REGION = "region";
4646
public static final String DISTRICT = "district";
4747
public static final String COMMUNITY = "community";
48+
public static final String CREATING_USER = "creatingUser";
4849

4950
private List<CampaignFormDataEntry> formValues;
5051
private CampaignReferenceDto campaign;
@@ -144,5 +145,4 @@ public void setCreatingUser(UserReferenceDto creatingUser) {
144145
this.creatingUser = creatingUser;
145146
}
146147

147-
148148
}

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

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,13 @@
1818
import java.io.Serializable;
1919
import java.util.Collection;
2020
import java.util.Iterator;
21-
import java.util.List;
21+
import java.util.Objects;
2222

2323
import de.symeda.sormas.api.i18n.I18nProperties;
2424
import de.symeda.sormas.api.i18n.Strings;
25+
import de.symeda.sormas.api.utils.JsonDataEntry;
2526

26-
public class CampaignFormDataEntry implements Serializable {
27+
public class CampaignFormDataEntry implements Serializable, JsonDataEntry {
2728

2829
private static final long serialVersionUID = -3096020120349257398L;
2930

@@ -58,22 +59,6 @@ public void setValue(Object value) {
5859
this.value = value;
5960
}
6061

61-
// does not make sense. Leads to hibernate not persisting any changes in value
62-
// @Override
63-
// public boolean equals(Object o) {
64-
// if (this == o)
65-
// return true;
66-
// if (o == null || getClass() != o.getClass())
67-
// return false;
68-
// CampaignFormDataEntry that = (CampaignFormDataEntry) o;
69-
// return Objects.equals(id, that.id);
70-
// }
71-
//
72-
// @Override
73-
// public int hashCode() {
74-
// return Objects.hash(id);
75-
// }
76-
7762
@Override
7863
public String toString() {
7964
if (value == null) {
@@ -97,4 +82,23 @@ public static void removeNullValueEntries(Collection<CampaignFormDataEntry> entr
9782
}
9883
}
9984
}
85+
86+
/**
87+
* Needed. Otherwise hibernate will persist whenever loading,
88+
* because hibernate types creates new instances that aren't equal.
89+
*/
90+
@Override
91+
public boolean equals(Object o) {
92+
if (this == o)
93+
return true;
94+
if (o == null || getClass() != o.getClass())
95+
return false;
96+
CampaignFormDataEntry that = (CampaignFormDataEntry) o;
97+
return Objects.equals(id, that.id) && Objects.equals(value, that.value);
98+
}
99+
100+
@Override
101+
public int hashCode() {
102+
return Objects.hash(id, value);
103+
}
100104
}

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

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@
2020

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

23+
import java.util.Date;
24+
import java.util.List;
25+
26+
import javax.ejb.Remote;
27+
2328
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramCriteria;
2429
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramDataDto;
2530
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramSeries;
2631
import de.symeda.sormas.api.utils.SortProperty;
2732

28-
import javax.ejb.Remote;
29-
30-
import java.util.Date;
31-
import java.util.List;
32-
3333
@Remote
3434
public interface CampaignFormDataFacade {
3535

@@ -49,11 +49,20 @@ public interface CampaignFormDataFacade {
4949

5050
List<CampaignFormDataIndexDto> getIndexList(CampaignFormDataCriteria criteria, Integer first, Integer max, List<SortProperty> sortProperties);
5151

52+
CampaignFormDataDto getExistingData(CampaignFormDataCriteria criteria);
53+
5254
long count(CampaignFormDataCriteria criteria);
5355

5456
List<CampaignDiagramDataDto> getDiagramData(List<CampaignDiagramSeries> diagramSeries, CampaignDiagramCriteria campaignDiagramCriteria);
5557

58+
List<CampaignDiagramDataDto> getDiagramDataByAgeGroup(
59+
CampaignDiagramSeries diagramSeriesTotal,
60+
CampaignDiagramSeries diagramSeries,
61+
CampaignDiagramCriteria campaignDiagramCriteria);
62+
5663
List<String> getAllActiveUuids();
5764

5865
List<CampaignFormDataDto> getAllActiveAfter(Date date);
66+
67+
void overwriteCampaignFormData(CampaignFormDataDto existingData, CampaignFormDataDto newData);
5968
}

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

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

33
import java.io.Serializable;
4+
import java.util.Objects;
45

56
public class CampaignDashboardElement implements Serializable {
67

@@ -81,4 +82,26 @@ public Integer getHeight() {
8182
public void setHeight(Integer height) {
8283
this.height = height;
8384
}
85+
86+
/**
87+
* Needed. Otherwise hibernate will persist whenever loading,
88+
* because hibernate types creates new instances that aren't equal.
89+
*/
90+
@Override
91+
public boolean equals(Object o) {
92+
if (this == o) return true;
93+
if (o == null || getClass() != o.getClass()) return false;
94+
CampaignDashboardElement that = (CampaignDashboardElement) o;
95+
return Objects.equals(diagramId, that.diagramId) &&
96+
Objects.equals(tabId, that.tabId) &&
97+
Objects.equals(subTabId, that.subTabId) &&
98+
Objects.equals(order, that.order) &&
99+
Objects.equals(width, that.width) &&
100+
Objects.equals(height, that.height);
101+
}
102+
103+
@Override
104+
public int hashCode() {
105+
return Objects.hash(diagramId, tabId, subTabId, order, width, height);
106+
}
84107
}

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

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,53 @@ public class CampaignDiagramDataDto implements Serializable {
1414
private Object groupingKey;
1515
private String groupingCaption;
1616
private String stack;
17+
private boolean hasAgeGroupData;
18+
19+
public CampaignDiagramDataDto(String fieldCaption, Number valueSum, Object groupingKey, String groupingCaption, String fieldId, String formId) {
20+
this.fieldCaption = fieldCaption;
21+
this.valueSum = valueSum;
22+
this.groupingKey = groupingKey;
23+
this.groupingCaption = groupingCaption;
24+
this.fieldId = fieldId;
25+
this.formId = formId;
26+
}
27+
28+
public CampaignDiagramDataDto(
29+
String fieldCaption,
30+
Number valueSum,
31+
Object groupingKey,
32+
String groupingCaption,
33+
String fieldId,
34+
String formId,
35+
boolean hasAgeGroupData,
36+
String stack) {
37+
this.fieldCaption = fieldCaption;
38+
this.valueSum = valueSum;
39+
this.groupingKey = groupingKey;
40+
this.groupingCaption = groupingCaption;
41+
this.fieldId = fieldId;
42+
this.formId = formId;
43+
this.hasAgeGroupData = hasAgeGroupData;
44+
this.stack = stack;
45+
}
46+
47+
public CampaignDiagramDataDto(
48+
String fieldCaption,
49+
Number valueSum,
50+
Object groupingKey,
51+
String groupingCaption,
52+
String fieldId,
53+
String formId,
54+
boolean hasAgeGroupData) {
55+
this.fieldCaption = fieldCaption;
56+
this.valueSum = valueSum;
57+
this.groupingKey = groupingKey;
58+
this.groupingCaption = groupingCaption;
59+
this.fieldId = fieldId;
60+
this.formId = formId;
61+
this.hasAgeGroupData = hasAgeGroupData;
62+
63+
}
1764

1865
public CampaignDiagramDataDto(
1966
String formMetaUuid,
@@ -97,4 +144,12 @@ public String getStack() {
97144
public void setStack(String stack) {
98145
this.stack = stack;
99146
}
147+
148+
public boolean getHasAgeGroupData() {
149+
return hasAgeGroupData;
150+
}
151+
152+
public void setHasAgeGroupData(boolean hasAgeGroupData) {
153+
this.hasAgeGroupData = hasAgeGroupData;
154+
}
100155
}

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

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import java.io.Serializable;
44
import java.util.Objects;
55

6+
import de.symeda.sormas.api.AgeGroup;
7+
68
public class CampaignDiagramSeries implements Serializable {
79

810
private static final long serialVersionUID = 1420672609912364060L;
@@ -11,6 +13,7 @@ public class CampaignDiagramSeries implements Serializable {
1113
private String formId;
1214
private String referenceValue;
1315
private String stack;
16+
private AgeGroup populationGroup;
1417

1518
public CampaignDiagramSeries() {
1619
}
@@ -54,6 +57,10 @@ public void setStack(String stack) {
5457
this.stack = stack;
5558
}
5659

60+
/**
61+
* Needed. Otherwise hibernate will persist whenever loading,
62+
* because hibernate types creates new instances that aren't equal.
63+
*/
5764
@Override
5865
public boolean equals(Object o) {
5966
if (this == o)
@@ -64,11 +71,20 @@ public boolean equals(Object o) {
6471
return Objects.equals(fieldId, that.fieldId)
6572
&& Objects.equals(formId, that.formId)
6673
&& Objects.equals(referenceValue, that.referenceValue)
67-
&& Objects.equals(stack, that.stack);
74+
&& Objects.equals(stack, that.stack)
75+
&& Objects.equals(populationGroup, that.populationGroup);
76+
}
77+
78+
public AgeGroup getPopulationGroup() {
79+
return populationGroup;
80+
}
81+
82+
public void setPopulationGroup(AgeGroup populationGroup) {
83+
this.populationGroup = populationGroup;
6884
}
6985

7086
@Override
7187
public int hashCode() {
72-
return Objects.hash(fieldId, formId, referenceValue, stack);
88+
return Objects.hash(fieldId, formId, referenceValue, stack, populationGroup);
7389
}
7490
}

sormas-api/src/main/java/de/symeda/sormas/api/campaign/form/CampaignFormElement.java

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

33
import java.io.Serializable;
4+
import java.util.Arrays;
5+
import java.util.Objects;
46

57
public class CampaignFormElement implements Serializable {
68

@@ -110,4 +112,30 @@ public boolean isImportant() {
110112
public void setImportant(boolean important) {
111113
this.important = important;
112114
}
115+
116+
/**
117+
* Needed. Otherwise hibernate will persist whenever loading,
118+
* because hibernate types creates new instances that aren't equal.
119+
*/
120+
@Override
121+
public boolean equals(Object o) {
122+
if (this == o) return true;
123+
if (o == null || getClass() != o.getClass()) return false;
124+
CampaignFormElement that = (CampaignFormElement) o;
125+
return important == that.important &&
126+
Objects.equals(type, that.type) &&
127+
Objects.equals(id, that.id) &&
128+
Objects.equals(caption, that.caption) &&
129+
Arrays.equals(styles, that.styles) &&
130+
Objects.equals(dependingOn, that.dependingOn) &&
131+
Arrays.equals(dependingOnValues, that.dependingOnValues);
132+
}
133+
134+
@Override
135+
public int hashCode() {
136+
int result = Objects.hash(type, id, caption, dependingOn, important);
137+
result = 31 * result + Arrays.hashCode(styles);
138+
result = 31 * result + Arrays.hashCode(dependingOnValues);
139+
return result;
140+
}
113141
}

0 commit comments

Comments
 (0)