Skip to content

Commit 04412ca

Browse files
Review comment fixes
1 parent 70109d2 commit 04412ca

File tree

7 files changed

+33
-11
lines changed

7 files changed

+33
-11
lines changed

sormas-api/src/main/java/de/symeda/sormas/api/environment/EnvironmentDto.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,10 @@ public void setVectorType(VectorType vectorType) {
266266
}
267267

268268
public void addEventReference(EventReferenceDto eventReferenceDto) {
269-
if (!eventReferenceDtos.contains(eventReferenceDto)) {
269+
if (eventReferenceDto != null && !eventReferenceDtos.contains(eventReferenceDto)) {
270270
this.eventReferenceDtos.add(eventReferenceDto);
271+
} else {
272+
throw new IllegalArgumentException("event UUID " + eventReferenceDto.getUuid() + " is already added");
271273
}
272274
}
273275

sormas-api/src/main/java/de/symeda/sormas/api/importexport/DatabaseTable.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ public enum DatabaseTable {
6363
EVENTPARTICIPANTS(DatabaseTableType.SORMAS, EVENTS, "event_participants"),
6464
ACTIONS(DatabaseTableType.SORMAS, EVENTS, "actions"),
6565

66+
ENVIRONMENTS(DatabaseTableType.SORMAS, "environments", dependingOnFeature(FeatureType.ENVIRONMENT_MANAGEMENT)),
67+
EVENT_ENVIRONMENTS(DatabaseTableType.SORMAS, ENVIRONMENTS, "events_environments"),
68+
6669
TRAVEL_ENTRIES(DatabaseTableType.SORMAS, "travel_entries", dependingOnFeature(FeatureType.TRAVEL_ENTRIES)),
6770

6871
IMMUNIZATIONS(DatabaseTableType.SORMAS, "immunizations", dependingOnFeature(FeatureType.IMMUNIZATION_MANAGEMENT)),

sormas-backend/src/main/java/de/symeda/sormas/backend/environment/Environment.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,10 @@ public List<Event> getEvents() {
255255
}
256256

257257
public void setEvents(List<Event> events) {
258-
this.events = events;
258+
if (events != null) {
259+
this.events = events;
260+
} else {
261+
this.events = new ArrayList<>();
262+
}
259263
}
260264
}

sormas-backend/src/main/java/de/symeda/sormas/backend/environment/EnvironmentFacadeEjb.java

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.Collections;
88
import java.util.Date;
99
import java.util.List;
10+
import java.util.Objects;
1011
import java.util.stream.Collectors;
1112

1213
import javax.ejb.EJB;
@@ -364,8 +365,12 @@ protected Environment fillOrBuildEntity(EnvironmentDto source, Environment targe
364365
target.setVectorType(EnvironmentMedia.VECTORS.equals(source.getEnvironmentMedia()) ? source.getVectorType() : null);
365366

366367
if (source.getEventReferenceDtos() != null) {
367-
target.getEvents()
368-
.addAll(source.getEventReferenceDtos().stream().map(e -> eventService.getByReferenceDto(e)).collect(Collectors.toList()));
368+
target.setEvents(
369+
source.getEventReferenceDtos()
370+
.stream()
371+
.filter(Objects::nonNull)
372+
.map(e -> eventService.getByReferenceDto(e))
373+
.collect(Collectors.toList()));
369374
}
370375

371376
target.setDeleted(source.isDeleted());
@@ -399,7 +404,10 @@ protected EnvironmentDto toDto(Environment source) {
399404
target.setWaterType(source.getWaterType());
400405
target.setWaterUse(source.getWaterUse());
401406
target.setVectorType(source.getVectorType());
402-
source.getEvents().stream().map(EventFacadeEjb::toEventDto);
407+
if (source.getEvents() != null) {
408+
target.setEventReferenceDtos(
409+
source.getEvents().stream().filter(Objects::nonNull).map(EventFacadeEjb::toReferenceDto).collect(Collectors.toList()));
410+
}
403411
target.setDeleted(source.isDeleted());
404412
target.setDeletionReason(source.getDeletionReason());
405413
target.setOtherDeletionReason(source.getOtherDeletionReason());
@@ -516,11 +524,15 @@ public List<String> getAllActiveUuids() {
516524

517525
@Override
518526
@RightsAllowed(UserRight._ENVIRONMENT_LINK)
519-
public void unlinkEnvironment(EnvironmentIndexDto environmentReferenceDto, String eventUuid) {
520-
Event event = eventService.getByUuid(eventUuid);
521-
Environment environment = service.getByUuid(environmentReferenceDto.getUuid());
522-
event.unlinkEnvironment(environment);
523-
service.ensurePersisted(environment);
527+
public void unlinkEnvironment(EnvironmentIndexDto environmentIndexDto, String eventUuid) {
528+
if (environmentIndexDto != null && eventUuid != null) {
529+
Event event = eventService.getByUuid(eventUuid);
530+
Environment environment = service.getByUuid(environmentIndexDto.getUuid());
531+
event.unlinkEnvironment(environment);
532+
service.ensurePersisted(environment);
533+
} else {
534+
throw new IllegalArgumentException("Invalid environment UUID : " + environmentIndexDto.getUuid() + " and event UUID : " + eventUuid);
535+
}
524536
}
525537

526538
@Override

sormas-backend/src/main/java/de/symeda/sormas/backend/event/EventService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -749,7 +749,6 @@ public Predicate buildCriteriaFilter(EventCriteria eventCriteria, EventQueryCont
749749
if (eventCriteria.getTypeOfPlace() != null) {
750750
filter = CriteriaBuilderHelper.and(cb, filter, cb.equal(from.get(Event.TYPE_OF_PLACE), eventCriteria.getTypeOfPlace()));
751751
}
752-
753752
if (eventCriteria.getRelevanceStatus() != null) {
754753
if (eventCriteria.getRelevanceStatus() == EntityRelevanceStatus.ACTIVE) {
755754
filter = CriteriaBuilderHelper.and(cb, filter, cb.or(cb.equal(from.get(Event.ARCHIVED), false), cb.isNull(from.get(Event.ARCHIVED))));

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ public class DatabaseExportService {
148148
EXPORT_CONFIGS.put(DatabaseTable.EVENTS, Event.TABLE_NAME);
149149
EXPORT_CONFIGS.put(DatabaseTable.EVENTS_EVENTGROUPS, Event.EVENTS_EVENT_GROUPS_TABLE_NAME);
150150
EXPORT_CONFIGS.put(DatabaseTable.EVENTGROUPS, EventGroup.TABLE_NAME);
151+
EXPORT_CONFIGS.put(DatabaseTable.EVENT_ENVIRONMENTS, EventGroup.TABLE_NAME);
151152
EXPORT_CONFIGS.put(DatabaseTable.EVENTPARTICIPANTS, EventParticipant.TABLE_NAME);
152153
EXPORT_CONFIGS.put(DatabaseTable.ACTIONS, Action.TABLE_NAME);
153154
EXPORT_CONFIGS.put(DatabaseTable.TRAVEL_ENTRIES, TravelEntry.TABLE_NAME);

sormas-ui/src/main/java/de/symeda/sormas/ui/environment/EnvironmentDataForm.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ protected void addFields() {
102102
ComboBox waterType = addField(EnvironmentDto.WATER_TYPE, ComboBox.class);
103103
TextField otherWaterType = addField(EnvironmentDto.OTHER_WATER_TYPE, TextField.class);
104104
otherWaterType.setInputPrompt(I18nProperties.getString(Strings.pleaseSpecify));
105+
105106
ComboBox vectorType = addField(EnvironmentDto.VECTOR_TYPE, ComboBox.class);
106107

107108
ComboBox infrastructureDetails = addField(EnvironmentDto.INFRASTUCTURE_DETAILS, ComboBox.class);

0 commit comments

Comments
 (0)