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

Commit 5960311

Browse files
SORMAS-Foundation#3599 fix import errors
1 parent 8fe90ba commit 5960311

3 files changed

Lines changed: 47 additions & 40 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/externaljournal/ExternalJournalFacade.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
import javax.ejb.Remote;
44

5-
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryRegisterResult;
65
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryPersonDto;
6+
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryRegisterResult;
7+
import de.symeda.sormas.api.person.PersonDto;
78

89
@Remote
910
public interface ExternalJournalFacade {
@@ -14,7 +15,7 @@ public interface ExternalJournalFacade {
1415

1516
PatientDiaryPersonDto getPatientDiaryPerson(String personUuid);
1617

17-
PatientDiaryRegisterResult registerPatientDiaryPerson(de.symeda.sormas.api.person.PersonDto person);
18+
PatientDiaryRegisterResult registerPatientDiaryPerson(PersonDto person);
1819

19-
ExternalJournalValidation validatePatientDiaryPerson(de.symeda.sormas.api.person.PersonDto person);
20+
ExternalJournalValidation validatePatientDiaryPerson(PersonDto person);
2021
}

sormas-backend/src/main/java/de/symeda/sormas/backend/externaljournal/ExternalJournalFacadeEjb.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
import javax.ejb.Stateless;
55

66
import de.symeda.sormas.api.externaljournal.ExternalJournalFacade;
7-
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryPersonDto;
87
import de.symeda.sormas.api.externaljournal.ExternalJournalValidation;
8+
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryPersonDto;
99
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryRegisterResult;
10+
import de.symeda.sormas.api.person.PersonDto;
1011

1112
@Stateless(name = "ExternalJournalFacade")
1213
public class ExternalJournalFacadeEjb implements ExternalJournalFacade {
@@ -30,12 +31,12 @@ public PatientDiaryPersonDto getPatientDiaryPerson(String personUuid) {
3031
}
3132

3233
@Override
33-
public PatientDiaryRegisterResult registerPatientDiaryPerson(de.symeda.sormas.api.person.PersonDto person) {
34+
public PatientDiaryRegisterResult registerPatientDiaryPerson(PersonDto person) {
3435
return externalJournalService.registerPatientDiaryPerson(person);
3536
}
3637

3738
@Override
38-
public ExternalJournalValidation validatePatientDiaryPerson(de.symeda.sormas.api.person.PersonDto person) {
39+
public ExternalJournalValidation validatePatientDiaryPerson(PersonDto person) {
3940
return externalJournalService.validatePatientDiaryPerson(person);
4041
}
4142

sormas-backend/src/main/java/de/symeda/sormas/backend/externaljournal/ExternalJournalService.java

Lines changed: 39 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
package de.symeda.sormas.backend.externaljournal;
22

3+
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.EMAIL_TAKEN;
4+
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.INVALID_BIRTHDATE;
5+
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.INVALID_EMAIL;
6+
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.INVALID_PHONE;
7+
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.NO_PHONE_OR_EMAIL;
8+
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.PHONE_TAKEN;
9+
310
import java.io.IOException;
411
import java.net.URLEncoder;
512
import java.nio.charset.StandardCharsets;
@@ -22,9 +29,6 @@
2229
import javax.ws.rs.core.MediaType;
2330
import javax.ws.rs.core.Response;
2431

25-
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryIdatId;
26-
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryPersonData;
27-
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError;
2832
import org.apache.commons.lang3.ObjectUtils;
2933
import org.apache.commons.lang3.StringUtils;
3034
import org.apache.commons.validator.routines.EmailValidator;
@@ -42,22 +46,19 @@
4246
import com.google.i18n.phonenumbers.Phonenumber;
4347

4448
import de.symeda.sormas.api.contact.ContactDto;
49+
import de.symeda.sormas.api.externaljournal.ExternalJournalValidation;
50+
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryIdatId;
51+
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryPersonData;
4552
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryPersonDto;
4653
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryQueryResponse;
47-
import de.symeda.sormas.api.externaljournal.ExternalJournalValidation;
4854
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryRegisterResult;
55+
import de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError;
4956
import de.symeda.sormas.api.i18n.I18nProperties;
57+
import de.symeda.sormas.api.person.PersonDto;
5058
import de.symeda.sormas.api.person.SymptomJournalStatus;
5159
import de.symeda.sormas.backend.common.ConfigFacadeEjb;
5260
import de.symeda.sormas.backend.person.PersonFacadeEjb;
5361

54-
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.EMAIL_TAKEN;
55-
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.INVALID_BIRTHDATE;
56-
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.INVALID_EMAIL;
57-
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.INVALID_PHONE;
58-
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.NO_PHONE_OR_EMAIL;
59-
import static de.symeda.sormas.api.externaljournal.patientdiary.PatientDiaryValidationError.PHONE_TAKEN;
60-
6162
/**
6263
* This service provides methods for communicating with external symptom journals.
6364
* <br>
@@ -207,7 +208,7 @@ public void notifyExternalJournalFollowUpUntilUpdate(ContactDto contact, Date pr
207208
* @return true if the person data change was considered relevant for external journals, false otherwise.
208209
*
209210
*/
210-
public boolean notifyExternalJournalPersonUpdate(de.symeda.sormas.api.person.PersonDto existingPerson, de.symeda.sormas.api.person.PersonDto updatedPerson) {
211+
public boolean notifyExternalJournalPersonUpdate(PersonDto existingPerson, PersonDto updatedPerson) {
211212
boolean shouldNotify = shouldNotify(existingPerson, updatedPerson);
212213
if (shouldNotify) {
213214
if (configFacade.getSymptomJournalConfig().getUrl() != null) {
@@ -224,17 +225,17 @@ public boolean notifyExternalJournalPersonUpdate(de.symeda.sormas.api.person.Per
224225
* Note: This method just checks for changes in the Person data.
225226
* It can not check for Contact related data such as FollowUpUntil dates.
226227
*/
227-
private boolean shouldNotify(de.symeda.sormas.api.person.PersonDto existingPerson, de.symeda.sormas.api.person.PersonDto updatedPerson) {
228+
private boolean shouldNotify(PersonDto existingPerson, PersonDto updatedPerson) {
228229
boolean relevantPerson = SymptomJournalStatus.ACCEPTED.equals(existingPerson.getSymptomJournalStatus())
229230
|| SymptomJournalStatus.REGISTERED.equals(existingPerson.getSymptomJournalStatus());
230-
boolean relevantFieldsUpdated = Comparator.comparing(de.symeda.sormas.api.person.PersonDto::getFirstName, Comparator.nullsLast(Comparator.naturalOrder()))
231-
.thenComparing(de.symeda.sormas.api.person.PersonDto::getLastName, Comparator.nullsLast(Comparator.naturalOrder()))
232-
.thenComparing(de.symeda.sormas.api.person.PersonDto::getEmailAddress, Comparator.nullsLast(Comparator.naturalOrder()))
233-
.thenComparing(de.symeda.sormas.api.person.PersonDto::getPhone, Comparator.nullsLast(Comparator.naturalOrder()))
234-
.thenComparing(de.symeda.sormas.api.person.PersonDto::getBirthdateDD, Comparator.nullsLast(Comparator.naturalOrder()))
235-
.thenComparing(de.symeda.sormas.api.person.PersonDto::getBirthdateMM, Comparator.nullsLast(Comparator.naturalOrder()))
236-
.thenComparing(de.symeda.sormas.api.person.PersonDto::getBirthdateYYYY, Comparator.nullsLast(Comparator.naturalOrder()))
237-
.thenComparing(de.symeda.sormas.api.person.PersonDto::getSex, Comparator.nullsLast(Comparator.naturalOrder()))
231+
boolean relevantFieldsUpdated = Comparator.comparing(PersonDto::getFirstName, Comparator.nullsLast(Comparator.naturalOrder()))
232+
.thenComparing(PersonDto::getLastName, Comparator.nullsLast(Comparator.naturalOrder()))
233+
.thenComparing(PersonDto::getEmailAddress, Comparator.nullsLast(Comparator.naturalOrder()))
234+
.thenComparing(PersonDto::getPhone, Comparator.nullsLast(Comparator.naturalOrder()))
235+
.thenComparing(PersonDto::getBirthdateDD, Comparator.nullsLast(Comparator.naturalOrder()))
236+
.thenComparing(PersonDto::getBirthdateMM, Comparator.nullsLast(Comparator.naturalOrder()))
237+
.thenComparing(PersonDto::getBirthdateYYYY, Comparator.nullsLast(Comparator.naturalOrder()))
238+
.thenComparing(PersonDto::getSex, Comparator.nullsLast(Comparator.naturalOrder()))
238239
.compare(existingPerson, updatedPerson)
239240
!= 0;
240241
return relevantPerson && relevantFieldsUpdated;
@@ -385,24 +386,28 @@ public ExternalJournalValidation validatePatientDiaryPerson(de.symeda.sormas.api
385386
}
386387

387388
private boolean isEmailAvailable(de.symeda.sormas.api.person.PersonDto person) {
388-
PatientDiaryQueryResponse response = queryPatientDiary(EMAIL_QUERY_PARAM, person.getEmailAddress())
389+
PatientDiaryQueryResponse response = queryPatientDiary(EMAIL_QUERY_PARAM, person.getEmailAddress())
389390
.orElseThrow(() -> new RuntimeException("Could not query patient diary for Email address availability"));
390391
boolean notUsed = response.getCount() == 0;
391-
boolean samePerson = response.getResults().stream().map(PatientDiaryPersonData::getIdatId)
392-
.map(PatientDiaryIdatId::getIdat)
393-
.map(PatientDiaryPersonDto::getPersonUUID)
394-
.anyMatch(uuid -> person.getUuid().equals(uuid));
392+
boolean samePerson = response.getResults()
393+
.stream()
394+
.map(PatientDiaryPersonData::getIdatId)
395+
.map(PatientDiaryIdatId::getIdat)
396+
.map(PatientDiaryPersonDto::getPersonUUID)
397+
.anyMatch(uuid -> person.getUuid().equals(uuid));
395398
return notUsed || samePerson;
396399
}
397400

398401
private boolean isPhoneAvailable(de.symeda.sormas.api.person.PersonDto person, String phone) {
399402
PatientDiaryQueryResponse response = queryPatientDiary(MOBILE_PHONE_QUERY_PARAM, phone)
400-
.orElseThrow(() -> new RuntimeException("Could not query patient diary for phone number availability"));
403+
.orElseThrow(() -> new RuntimeException("Could not query patient diary for phone number availability"));
401404
boolean notUsed = response.getCount() == 0;
402-
boolean samePerson = response.getResults().stream().map(PatientDiaryPersonData::getIdatId)
403-
.map(PatientDiaryIdatId::getIdat)
404-
.map(PatientDiaryPersonDto::getPersonUUID)
405-
.anyMatch(uuid -> person.getUuid().equals(uuid));
405+
boolean samePerson = response.getResults()
406+
.stream()
407+
.map(PatientDiaryPersonData::getIdatId)
408+
.map(PatientDiaryIdatId::getIdat)
409+
.map(PatientDiaryPersonDto::getPersonUUID)
410+
.anyMatch(uuid -> person.getUuid().equals(uuid));
406411
return notUsed || samePerson;
407412
}
408413

@@ -435,8 +440,8 @@ public Optional<PatientDiaryQueryResponse> queryPatientDiary(String key, String
435440

436441
private String getValidationMessage(EnumSet<PatientDiaryValidationError> validationErrors) {
437442
return validationErrors.stream()
438-
.map(PatientDiaryValidationError::getErrorLanguageKey)
439-
.map(I18nProperties::getValidationError)
440-
.collect(Collectors.joining("\n"));
443+
.map(PatientDiaryValidationError::getErrorLanguageKey)
444+
.map(I18nProperties::getValidationError)
445+
.collect(Collectors.joining("\n"));
441446
}
442447
}

0 commit comments

Comments
 (0)