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

Commit cd18723

Browse files
author
Martin Wahnschaffe
committed
Merge branch 'development' into bugfix-3622-archived-campaigns-cause-errors
2 parents 6b8be44 + 62a4332 commit cd18723

38 files changed

Lines changed: 371 additions & 118 deletions
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/CampaignFormDataEntry.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Collection;
2020
import java.util.Iterator;
2121
import java.util.List;
22+
import java.util.Objects;
2223

2324
import de.symeda.sormas.api.i18n.I18nProperties;
2425
import de.symeda.sormas.api.i18n.Strings;
@@ -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,22 @@ 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) return true;
93+
if (o == null || getClass() != o.getClass()) return false;
94+
CampaignFormDataEntry that = (CampaignFormDataEntry) o;
95+
return Objects.equals(id, that.id) &&
96+
Objects.equals(value, that.value);
97+
}
98+
99+
@Override
100+
public int hashCode() {
101+
return Objects.hash(id, value);
102+
}
100103
}

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/CampaignDiagramSeries.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ public void setStack(String stack) {
5757
this.stack = stack;
5858
}
5959

60+
/**
61+
* Needed. Otherwise hibernate will persist whenever loading,
62+
* because hibernate types creates new instances that aren't equal.
63+
*/
6064
@Override
6165
public boolean equals(Object o) {
6266
if (this == o)

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
}

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

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

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

56
public class CampaignFormTranslation implements Serializable {
67

@@ -24,4 +25,22 @@ public String getCaption() {
2425
public void setCaption(String caption) {
2526
this.caption = caption;
2627
}
28+
29+
/**
30+
* Needed. Otherwise hibernate will persist whenever loading,
31+
* because hibernate types creates new instances that aren't equal.
32+
*/
33+
@Override
34+
public boolean equals(Object o) {
35+
if (this == o) return true;
36+
if (o == null || getClass() != o.getClass()) return false;
37+
CampaignFormTranslation that = (CampaignFormTranslation) o;
38+
return Objects.equals(elementId, that.elementId) &&
39+
Objects.equals(caption, that.caption);
40+
}
41+
42+
@Override
43+
public int hashCode() {
44+
return Objects.hash(elementId, caption);
45+
}
2746
}

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.io.Serializable;
44
import java.util.List;
5+
import java.util.Objects;
56

67
public class CampaignFormTranslations implements Serializable {
78

@@ -25,4 +26,22 @@ public List<CampaignFormTranslation> getTranslations() {
2526
public void setTranslations(List<CampaignFormTranslation> translations) {
2627
this.translations = translations;
2728
}
29+
30+
/**
31+
* Needed. Otherwise hibernate will persist whenever loading,
32+
* because hibernate types creates new instances that aren't equal.
33+
*/
34+
@Override
35+
public boolean equals(Object o) {
36+
if (this == o) return true;
37+
if (o == null || getClass() != o.getClass()) return false;
38+
CampaignFormTranslations that = (CampaignFormTranslations) o;
39+
return Objects.equals(languageCode, that.languageCode) &&
40+
Objects.equals(translations, that.translations);
41+
}
42+
43+
@Override
44+
public int hashCode() {
45+
return Objects.hash(languageCode, translations);
46+
}
2847
}

sormas-api/src/main/java/de/symeda/sormas/api/feature/FeatureType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ public enum FeatureType {
3636
CASE_FOLLOWUP(true, false, null),
3737
TASK_NOTIFICATIONS(true, true, null),
3838
OTHER_NOTIFICATIONS(true, true, null),
39-
DOCUMENTS(true, false, null);
39+
DOCUMENTS(true, false, null),
40+
OUTBREAKS(true, true, null);
4041

4142
/**
4243
* Server feature means that the feature only needs to be configured once per server since they define the way the system

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,10 @@ public interface Captions {
163163
String CampaignFormData_area = "CampaignFormData.area";
164164
String CampaignFormData_campaign = "CampaignFormData.campaign";
165165
String CampaignFormData_campaignFormMeta = "CampaignFormData.campaignFormMeta";
166+
String CampaignFormData_edit = "CampaignFormData.edit";
166167
String CampaignFormData_formDate = "CampaignFormData.formDate";
167168
String campaignNewCampaign = "campaignNewCampaign";
169+
String campaignSearch = "campaignSearch";
168170
String campaignValidateForms = "campaignValidateForms";
169171
String caseActiveCases = "caseActiveCases";
170172
String caseAllCases = "caseAllCases";

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public interface Validations {
2626
String campaignFormElementNotExisting = "campaignFormElementNotExisting";
2727
String campaignFormElementTypeRequired = "campaignFormElementTypeRequired";
2828
String campaignFormInvalidIdInListElements = "campaignFormInvalidIdInListElements";
29+
String campaignFormMetaValidationUnexpectedError = "campaignFormMetaValidationUnexpectedError";
2930
String campaignFormTranslationCaptionRequired = "campaignFormTranslationCaptionRequired";
3031
String campaignFormTranslationIdInvalid = "campaignFormTranslationIdInvalid";
3132
String campaignFormTranslationIdRequired = "campaignFormTranslationIdRequired";

0 commit comments

Comments
 (0)