Skip to content

Commit 47e3e4f

Browse files
committed
🐛 personContact details path
1 parent 4b5506a commit 47e3e4f

2 files changed

Lines changed: 11 additions & 21 deletions

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/patch/partial_retrieval/PartialRetrieverImpl.java

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,12 @@
2020
import de.symeda.sormas.api.EntityDto;
2121
import de.symeda.sormas.api.caze.CaseDataDto;
2222
import de.symeda.sormas.api.i18n.I18nProperties;
23-
import de.symeda.sormas.api.patch.partial_retrieval.DisplayableFieldInfo;
24-
import de.symeda.sormas.api.patch.partial_retrieval.DisplayablePartialRetrievalResponse;
25-
import de.symeda.sormas.api.patch.partial_retrieval.FieldInfo;
26-
import de.symeda.sormas.api.patch.partial_retrieval.PartialRetrievalFailureCause;
27-
import de.symeda.sormas.api.patch.partial_retrieval.PartialRetrievalRequest;
28-
import de.symeda.sormas.api.patch.partial_retrieval.PartialRetrievalResponse;
29-
import de.symeda.sormas.api.patch.partial_retrieval.PartialRetriever;
23+
import de.symeda.sormas.api.patch.partial_retrieval.*;
3024
import de.symeda.sormas.api.utils.Tuple;
3125
import de.symeda.sormas.api.utils.fieldvisibility.FieldVisibilityCheckers;
3226
import de.symeda.sormas.backend.common.ConfigFacadeEjb;
3327
import de.symeda.sormas.backend.feature.FeatureConfigurationFacadeEjb;
34-
import de.symeda.sormas.backend.patch.BusinessDtoFacade;
35-
import de.symeda.sormas.backend.patch.PatchFieldHelper;
36-
import de.symeda.sormas.backend.patch.PathFailureCause;
37-
import de.symeda.sormas.backend.patch.PropertyAccessFailure;
38-
import de.symeda.sormas.backend.patch.PropertyAccessor;
28+
import de.symeda.sormas.backend.patch.*;
3929
import de.symeda.sormas.backend.patch.alias.PathAliasHelper;
4030

4131
@ApplicationScoped
@@ -105,8 +95,8 @@ public PartialRetrievalResponse retrievePartial(PartialRetrievalRequest request)
10595
return Tuple.of(originalFieldName, new Tuple<>(specificFieldInfo.get(), (PartialRetrievalFailureCause) null));
10696
}
10797

108-
Tuple<Tuple<Class<?>, Object>, PropertyAccessFailure> propertyType = PropertyAccessor
109-
.getPropertyTypeAndValue(adequateBean, physicalPathName, getFieldVisibilityCheckers(caseData.getDisease()));
98+
Tuple<Tuple<Class<?>, Object>, PropertyAccessFailure> propertyType =
99+
PropertyAccessor.getPropertyTypeAndValue(adequateBean, physicalPathName, getFieldVisibilityCheckers(caseData.getDisease()));
110100

111101
PropertyAccessFailure propertyAccessFailure = propertyType.getSecond();
112102
if (propertyAccessFailure != null) {
@@ -161,13 +151,13 @@ public DisplayablePartialRetrievalResponse retrievePartialForDisplay(PartialRetr
161151
}
162152

163153
private Optional<EntityDto> getAdequateBean(
164-
@NotNull String aliasPath,
154+
@NotNull String path,
165155
@NotNull CaseDataDto caseData,
166156
@NotNull Map<String, Optional<EntityDto>> beanCache) {
167157

168-
int i = aliasPath.indexOf(".");
158+
int i = path.indexOf(".");
169159

170-
String prefix = StringUtils.substring(aliasPath, 0, i);
160+
String prefix = StringUtils.substring(path, 0, i);
171161

172162
if (CaseDataDto.I18N_PREFIX.equals(prefix)) {
173163
return Optional.of(caseData);
@@ -182,7 +172,7 @@ private Optional<EntityDto> getAdequateBean(
182172
}
183173

184174
if (entitiesSize != 1) {
185-
logger.warn("Only first element is supported for now: [{}], was: [{}]", aliasPath, entitiesSize);
175+
logger.warn("Only first element is supported for now: [{}], was: [{}]", path, entitiesSize);
186176
}
187177

188178
return Optional.ofNullable(entityDtos).map(actualEntities -> actualEntities.get(0));

sormas-backend/src/test/java/de/symeda/sormas/backend/patch/partial_retrieval/PartialRetrieverImplTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import java.util.Set;
55

66
import org.junit.jupiter.api.Assertions;
7-
import org.junit.jupiter.api.RepeatedTest;
87
import org.junit.jupiter.api.Test;
98

109
import de.symeda.sormas.api.Disease;
@@ -168,7 +167,7 @@ void retrievePartial_null_value() {
168167
() -> Assertions.assertNull(classificationDateFieldInfo.getFieldValue()));
169168
}
170169

171-
@RepeatedTest(12)
170+
@Test
172171
void retrieve_contact_details_phone() {
173172
// PREPARE
174173
Disease disease = Disease.PERTUSSIS;
@@ -203,7 +202,8 @@ void retrieve_contact_details_phone() {
203202
getPersonFacade().save(person);
204203

205204
// EXECUTE
206-
String personContactDetails = toFieldName(PersonContactDetailDto.I18N_PREFIX, PersonContactDetailDto.PHONE_NUMBER_TYPE);
205+
String personContactDetails =
206+
toFieldName(toFieldName(PersonDto.I18N_PREFIX, PersonDto.PERSON_CONTACT_DETAILS), PersonContactDetailDto.PHONE_NUMBER_TYPE);
207207
PartialRetrievalResponse actual = victim()
208208
.retrievePartial(new PartialRetrievalRequest().setCaseUuid(originalCase.getUuid()).setFieldsToRetrieve(Set.of(personContactDetails)));
209209

0 commit comments

Comments
 (0)