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

Commit fc8aaf1

Browse files
committed
SORMAS-Foundation#1999 add dynamic campaign selection dropdown
1 parent 750fbd7 commit fc8aaf1

5 files changed

Lines changed: 263 additions & 204 deletions

File tree

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

Lines changed: 109 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -29,115 +29,118 @@
2929
import de.symeda.sormas.api.region.RegionReferenceDto;
3030
import de.symeda.sormas.api.user.UserReferenceDto;
3131
import de.symeda.sormas.api.utils.DataHelper;
32-
3332
import java.util.Date;
3433
import java.util.List;
3534

3635
public class CampaignFormDataDto extends EntityDto {
3736

38-
private static final long serialVersionUID = -8087195060395038093L;
39-
40-
public static final String I18N_PREFIX = "CampaignFormData";
41-
42-
public static final String CAMPAIGN = "campaign";
43-
public static final String CAMPAIGN_FORM_META = "campaignFormMeta";
44-
public static final String FORM_DATE = "formDate";
45-
public static final String REGION = "region";
46-
public static final String DISTRICT = "district";
47-
public static final String COMMUNITY = "community";
48-
49-
private List<CampaignFormDataEntry> formValues;
50-
private CampaignReferenceDto campaign;
51-
private CampaignFormMetaReferenceDto campaignFormMeta;
52-
private Date formDate;
53-
private RegionReferenceDto region;
54-
private DistrictReferenceDto district;
55-
private CommunityReferenceDto community;
56-
private UserReferenceDto creatingUser;
57-
58-
public static CampaignFormDataDto build(
59-
CampaignReferenceDto campaign,
60-
CampaignFormMetaReferenceDto campaignFormMeta,
61-
RegionReferenceDto region,
62-
DistrictReferenceDto district,
63-
CommunityReferenceDto community) {
64-
CampaignFormDataDto campaignFormData = new CampaignFormDataDto();
65-
campaignFormData.setUuid(DataHelper.createUuid());
66-
campaignFormData.setCampaign(campaign);
67-
campaignFormData.setCampaignFormMeta(campaignFormMeta);
68-
campaignFormData.setRegion(region);
69-
campaignFormData.setDistrict(district);
70-
campaignFormData.setCommunity(community);
71-
campaignFormData.setFormDate(new Date());
72-
return campaignFormData;
73-
}
74-
public static CampaignFormDataDto build(){
75-
CampaignFormDataDto campaignFormData = new CampaignFormDataDto();
76-
campaignFormData.setUuid(DataHelper.createUuid());
77-
return campaignFormData;
78-
}
79-
80-
81-
public List<CampaignFormDataEntry> getFormValues() {
82-
return formValues;
83-
}
84-
85-
public void setFormValues(List<CampaignFormDataEntry> formValues) {
86-
this.formValues = formValues;
87-
}
88-
@ImportIgnore
89-
public CampaignFormMetaReferenceDto getCampaignFormMeta() {
90-
return campaignFormMeta;
91-
}
92-
93-
public void setCampaignFormMeta(CampaignFormMetaReferenceDto campaignFormMeta) {
94-
this.campaignFormMeta = campaignFormMeta;
95-
}
96-
public CampaignReferenceDto getCampaign() {
97-
return campaign;
98-
}
99-
100-
public void setCampaign(CampaignReferenceDto campaign) {
101-
this.campaign = campaign;
102-
}
103-
104-
public Date getFormDate() {
105-
return formDate;
106-
}
107-
108-
public void setFormDate(Date formDate) {
109-
this.formDate = formDate;
110-
}
111-
112-
public RegionReferenceDto getRegion() {
113-
return region;
114-
}
115-
116-
public void setRegion(RegionReferenceDto region) {
117-
this.region = region;
118-
}
119-
120-
public DistrictReferenceDto getDistrict() {
121-
return district;
122-
}
123-
124-
public void setDistrict(DistrictReferenceDto district) {
125-
this.district = district;
126-
}
127-
128-
public CommunityReferenceDto getCommunity() {
129-
return community;
130-
}
131-
132-
public void setCommunity(CommunityReferenceDto community) {
133-
this.community = community;
134-
}
135-
136-
public UserReferenceDto getCreatingUser() {
137-
return creatingUser;
138-
}
139-
140-
public void setCreatingUser(UserReferenceDto creatingUser) {
141-
this.creatingUser = creatingUser;
142-
}
37+
private static final long serialVersionUID = -8087195060395038093L;
38+
39+
public static final String I18N_PREFIX = "CampaignFormData";
40+
41+
public static final String CAMPAIGN = "campaign";
42+
public static final String CAMPAIGN_FORM_META = "campaignFormMeta";
43+
public static final String FORM_DATE = "formDate";
44+
public static final String REGION = "region";
45+
public static final String DISTRICT = "district";
46+
public static final String COMMUNITY = "community";
47+
48+
private List<CampaignFormDataEntry> formValues;
49+
private CampaignReferenceDto campaign;
50+
private CampaignFormMetaReferenceDto campaignFormMeta;
51+
private Date formDate;
52+
private RegionReferenceDto region;
53+
private DistrictReferenceDto district;
54+
private CommunityReferenceDto community;
55+
private UserReferenceDto creatingUser;
56+
57+
public static CampaignFormDataDto build(
58+
CampaignReferenceDto campaign,
59+
CampaignFormMetaReferenceDto campaignFormMeta,
60+
RegionReferenceDto region,
61+
DistrictReferenceDto district,
62+
CommunityReferenceDto community) {
63+
CampaignFormDataDto campaignFormData = new CampaignFormDataDto();
64+
campaignFormData.setUuid(DataHelper.createUuid());
65+
campaignFormData.setCampaign(campaign);
66+
campaignFormData.setCampaignFormMeta(campaignFormMeta);
67+
campaignFormData.setRegion(region);
68+
campaignFormData.setDistrict(district);
69+
campaignFormData.setCommunity(community);
70+
campaignFormData.setFormDate(new Date());
71+
return campaignFormData;
72+
}
73+
74+
public static CampaignFormDataDto build() {
75+
CampaignFormDataDto campaignFormData = new CampaignFormDataDto();
76+
campaignFormData.setUuid(DataHelper.createUuid());
77+
return campaignFormData;
78+
}
79+
80+
81+
public List<CampaignFormDataEntry> getFormValues() {
82+
return formValues;
83+
}
84+
85+
public void setFormValues(List<CampaignFormDataEntry> formValues) {
86+
this.formValues = formValues;
87+
}
88+
89+
@ImportIgnore
90+
public CampaignFormMetaReferenceDto getCampaignFormMeta() {
91+
return campaignFormMeta;
92+
}
93+
94+
public void setCampaignFormMeta(CampaignFormMetaReferenceDto campaignFormMeta) {
95+
this.campaignFormMeta = campaignFormMeta;
96+
}
97+
98+
@ImportIgnore
99+
public CampaignReferenceDto getCampaign() {
100+
return campaign;
101+
}
102+
103+
public void setCampaign(CampaignReferenceDto campaign) {
104+
this.campaign = campaign;
105+
}
106+
107+
public Date getFormDate() {
108+
return formDate;
109+
}
110+
111+
public void setFormDate(Date formDate) {
112+
this.formDate = formDate;
113+
}
114+
115+
public RegionReferenceDto getRegion() {
116+
return region;
117+
}
118+
119+
public void setRegion(RegionReferenceDto region) {
120+
this.region = region;
121+
}
122+
123+
public DistrictReferenceDto getDistrict() {
124+
return district;
125+
}
126+
127+
public void setDistrict(DistrictReferenceDto district) {
128+
this.district = district;
129+
}
130+
131+
public CommunityReferenceDto getCommunity() {
132+
return community;
133+
}
134+
135+
public void setCommunity(CommunityReferenceDto community) {
136+
this.community = community;
137+
}
138+
139+
public UserReferenceDto getCreatingUser() {
140+
return creatingUser;
141+
}
142+
143+
public void setCreatingUser(UserReferenceDto creatingUser) {
144+
this.creatingUser = creatingUser;
145+
}
143146
}

sormas-backend/src/main/java/de/symeda/sormas/backend/importexport/ImportFacadeEjb.java

Lines changed: 56 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -17,79 +17,54 @@
1717
*******************************************************************************/
1818
package de.symeda.sormas.backend.importexport;
1919

20-
import de.symeda.sormas.api.FacadeProvider;
21-
import de.symeda.sormas.api.campaign.CampaignFacade;
22-
import de.symeda.sormas.api.campaign.CampaignReferenceDto;
20+
import com.auth0.jwt.internal.org.apache.commons.lang3.text.WordUtils;
21+
import com.opencsv.CSVWriter;
22+
import de.symeda.sormas.api.AgeGroup;
23+
import de.symeda.sormas.api.Disease;
24+
import de.symeda.sormas.api.EntityDto;
25+
import de.symeda.sormas.api.ImportIgnore;
2326
import de.symeda.sormas.api.campaign.data.CampaignFormDataDto;
24-
import static de.symeda.sormas.api.campaign.data.CampaignFormDataDto.CAMPAIGN;
2527
import static de.symeda.sormas.api.campaign.data.CampaignFormDataDto.FORM_DATE;
26-
import de.symeda.sormas.api.campaign.form.CampaignFormElement;
2728
import de.symeda.sormas.api.campaign.form.CampaignFormElementType;
2829
import de.symeda.sormas.api.campaign.form.CampaignFormMetaDto;
2930
import de.symeda.sormas.api.campaign.form.CampaignFormMetaFacade;
30-
import de.symeda.sormas.backend.campaign.Campaign;
31-
import de.symeda.sormas.backend.region.Community;
32-
import de.symeda.sormas.backend.region.District;
33-
import de.symeda.sormas.backend.region.Region;
34-
import java.io.FileWriter;
35-
import java.io.IOException;
36-
import java.lang.reflect.Field;
37-
import java.lang.reflect.Method;
38-
import java.lang.reflect.Modifier;
39-
import java.nio.charset.Charset;
40-
import java.nio.charset.StandardCharsets;
41-
import java.nio.file.Files;
42-
import java.nio.file.Path;
43-
import java.nio.file.Paths;
44-
import java.util.ArrayList;
45-
import java.util.Arrays;
46-
import java.util.Collection;
47-
import java.util.Date;
48-
import java.util.HashMap;
49-
import java.util.List;
50-
import java.util.Map;
51-
import java.util.stream.Collectors;
52-
53-
import java.util.stream.Collectors;
54-
import javax.ejb.EJB;
55-
import javax.ejb.LocalBean;
56-
import javax.ejb.Stateless;
57-
import javax.inject.Provider;
58-
59-
import de.symeda.sormas.api.Disease;
31+
import de.symeda.sormas.api.caze.CaseDataDto;
32+
import static de.symeda.sormas.api.caze.CaseDataDto.CASE_ORIGIN;
33+
import static de.symeda.sormas.api.caze.CaseDataDto.COMMUNITY;
34+
import static de.symeda.sormas.api.caze.CaseDataDto.DENGUE_FEVER_TYPE;
35+
import static de.symeda.sormas.api.caze.CaseDataDto.DISEASE;
36+
import static de.symeda.sormas.api.caze.CaseDataDto.DISEASE_DETAILS;
37+
import static de.symeda.sormas.api.caze.CaseDataDto.DISTRICT;
38+
import static de.symeda.sormas.api.caze.CaseDataDto.EPID_NUMBER;
39+
import static de.symeda.sormas.api.caze.CaseDataDto.FACILITY_TYPE;
40+
import static de.symeda.sormas.api.caze.CaseDataDto.HEALTH_FACILITY;
41+
import static de.symeda.sormas.api.caze.CaseDataDto.HEALTH_FACILITY_DETAILS;
42+
import static de.symeda.sormas.api.caze.CaseDataDto.PERSON;
43+
import static de.symeda.sormas.api.caze.CaseDataDto.PLAGUE_TYPE;
44+
import static de.symeda.sormas.api.caze.CaseDataDto.POINT_OF_ENTRY;
45+
import static de.symeda.sormas.api.caze.CaseDataDto.POINT_OF_ENTRY_DETAILS;
46+
import static de.symeda.sormas.api.caze.CaseDataDto.RABIES_TYPE;
47+
import static de.symeda.sormas.api.caze.CaseDataDto.REGION;
48+
import static de.symeda.sormas.api.caze.CaseDataDto.REPORT_DATE;
49+
import static de.symeda.sormas.api.caze.CaseDataDto.SYMPTOMS;
6050
import de.symeda.sormas.api.caze.CaseOrigin;
6151
import de.symeda.sormas.api.caze.DengueFeverType;
6252
import de.symeda.sormas.api.caze.PlagueType;
6353
import de.symeda.sormas.api.caze.RabiesType;
64-
import de.symeda.sormas.api.disease.DiseaseConfigurationFacade;
65-
import de.symeda.sormas.api.facility.FacilityType;
66-
import de.symeda.sormas.api.importexport.ImportColumn;
67-
import de.symeda.sormas.api.person.Sex;
68-
import de.symeda.sormas.api.utils.CSVCommentLineValidator;
69-
import de.symeda.sormas.backend.disease.DiseaseConfigurationFacadeEjb;
70-
import de.symeda.sormas.backend.disease.DiseaseConfigurationFacadeEjb.DiseaseConfigurationFacadeEjbLocal;
71-
import org.apache.commons.lang3.StringUtils;
72-
import org.slf4j.Logger;
73-
import org.slf4j.LoggerFactory;
74-
75-
import com.auth0.jwt.internal.org.apache.commons.lang3.text.WordUtils;
76-
import com.opencsv.CSVWriter;
77-
78-
import de.symeda.sormas.api.AgeGroup;
79-
import de.symeda.sormas.api.EntityDto;
80-
import de.symeda.sormas.api.ImportIgnore;
81-
import de.symeda.sormas.api.caze.CaseDataDto;
8254
import de.symeda.sormas.api.contact.ContactDto;
8355
import de.symeda.sormas.api.facility.FacilityDto;
8456
import de.symeda.sormas.api.facility.FacilityReferenceDto;
57+
import de.symeda.sormas.api.facility.FacilityType;
8558
import de.symeda.sormas.api.feature.FeatureType;
59+
import de.symeda.sormas.api.importexport.ImportColumn;
8660
import de.symeda.sormas.api.importexport.ImportExportUtils;
8761
import de.symeda.sormas.api.importexport.ImportFacade;
8862
import de.symeda.sormas.api.infrastructure.PointOfEntryDto;
8963
import de.symeda.sormas.api.infrastructure.PointOfEntryReferenceDto;
9064
import de.symeda.sormas.api.infrastructure.PopulationDataDto;
9165
import de.symeda.sormas.api.person.PersonDto;
9266
import de.symeda.sormas.api.person.PersonReferenceDto;
67+
import de.symeda.sormas.api.person.Sex;
9368
import de.symeda.sormas.api.region.AreaDto;
9469
import de.symeda.sormas.api.region.CommunityDto;
9570
import de.symeda.sormas.api.region.CommunityReferenceDto;
@@ -101,18 +76,37 @@
10176
import de.symeda.sormas.api.sample.SampleDto;
10277
import de.symeda.sormas.api.symptoms.SymptomsDto;
10378
import de.symeda.sormas.api.user.UserReferenceDto;
79+
import de.symeda.sormas.api.utils.CSVCommentLineValidator;
10480
import de.symeda.sormas.api.utils.CSVUtils;
105-
import de.symeda.sormas.api.utils.DataHelper;
10681
import de.symeda.sormas.api.utils.DependingOnFeatureType;
107-
import de.symeda.sormas.backend.caze.CaseFacadeEjb.CaseFacadeEjbLocal;
108-
import de.symeda.sormas.backend.caze.CaseService;
10982
import de.symeda.sormas.backend.common.ConfigFacadeEjb.ConfigFacadeEjbLocal;
110-
import de.symeda.sormas.backend.epidata.EpiDataService;
111-
import de.symeda.sormas.backend.facility.FacilityFacadeEjb.FacilityFacadeEjbLocal;
112-
import de.symeda.sormas.backend.facility.FacilityService;
83+
import de.symeda.sormas.backend.disease.DiseaseConfigurationFacadeEjb.DiseaseConfigurationFacadeEjbLocal;
11384
import de.symeda.sormas.backend.feature.FeatureConfigurationFacadeEjb.FeatureConfigurationFacadeEjbLocal;
114-
115-
import static de.symeda.sormas.api.caze.CaseDataDto.*;
85+
import java.io.FileWriter;
86+
import java.io.IOException;
87+
import java.lang.reflect.Field;
88+
import java.lang.reflect.Method;
89+
import java.lang.reflect.Modifier;
90+
import java.nio.charset.Charset;
91+
import java.nio.charset.StandardCharsets;
92+
import java.nio.file.Files;
93+
import java.nio.file.Path;
94+
import java.nio.file.Paths;
95+
import java.util.ArrayList;
96+
import java.util.Arrays;
97+
import java.util.Collection;
98+
import java.util.Date;
99+
import java.util.HashMap;
100+
import java.util.List;
101+
import java.util.Map;
102+
import java.util.stream.Collectors;
103+
import javax.ejb.EJB;
104+
import javax.ejb.LocalBean;
105+
import javax.ejb.Stateless;
106+
import javax.inject.Provider;
107+
import org.apache.commons.lang3.StringUtils;
108+
import org.slf4j.Logger;
109+
import org.slf4j.LoggerFactory;
116110

117111
@Stateless(name = "ImportFacade")
118112
public class ImportFacadeEjb implements ImportFacade {
@@ -164,7 +158,7 @@ public void generateCampaignFormImportTemplateFile(String campaignFormUuid) thro
164158
List<ImportColumn> importColumns = new ArrayList<>();
165159
char separator = configFacade.getCsvSeparator();
166160

167-
importColumns.add(ImportColumn.from(CampaignFormDataDto.class, CAMPAIGN, CampaignReferenceDto.class, separator));
161+
/* importColumns.add(ImportColumn.from(CampaignFormDataDto.class, CAMPAIGN, CampaignReferenceDto.class, separator));*/
168162
importColumns.add(ImportColumn.from(CampaignFormDataDto.class, FORM_DATE, Date.class, separator));
169163
importColumns.add(ImportColumn.from(CampaignFormDataDto.class, REGION, RegionReferenceDto.class, separator));
170164
importColumns.add(ImportColumn.from(CampaignFormDataDto.class, DISTRICT, DistrictReferenceDto.class, separator));

0 commit comments

Comments
 (0)