Skip to content

Commit

Permalink
Skip child location if blank
Browse files Browse the repository at this point in the history
  • Loading branch information
githengi committed Jun 29, 2020
1 parent 3718f18 commit 891eb03
Showing 1 changed file with 40 additions and 45 deletions.
85 changes: 40 additions & 45 deletions src/main/java/org/smartregister/converters/EventConverter.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,66 +13,67 @@
import java.util.Map;

public class EventConverter {

public static QuestionnaireResponse convertEventToEncounterResource(Event event) {
Collection<QuestionnaireResponse.Item> items = new ArrayList<>();
Canonical eventType = Canonical.builder().id("eventType").value(event.getEventType()).build();

QuestionnaireResponse.Item.Answer locationIdAnswer = QuestionnaireResponse.Item.Answer.builder()
.value(String.builder().value(event.getLocationId()).build()).build();
.value(String.builder().value(event.getLocationId()).build()).build();
QuestionnaireResponse.Item locationId = QuestionnaireResponse.Item.builder()
.linkId(String.builder().value("locationId").build())
.answer(locationIdAnswer).build();
.linkId(String.builder().value("locationId").build()).answer(locationIdAnswer).build();
items.add(locationId);

QuestionnaireResponse.Item.Answer childLocationIdAnswer = QuestionnaireResponse.Item.Answer.builder()
.value(String.builder().value(event.getChildLocationId()).build()).build();
QuestionnaireResponse.Item childLocationId = QuestionnaireResponse.Item.builder()
.linkId(String.builder().value("childLocationId").build())
.answer(childLocationIdAnswer).build();
items.add(childLocationId);


if (StringUtils.isNotBlank(event.getChildLocationId())) {
QuestionnaireResponse.Item.Answer childLocationIdAnswer = QuestionnaireResponse.Item.Answer.builder()
.value(String.builder().value(event.getChildLocationId()).build()).build();
QuestionnaireResponse.Item childLocationId = QuestionnaireResponse.Item.builder()
.linkId(String.builder().value("childLocationId").build()).answer(childLocationIdAnswer).build();
items.add(childLocationId);
}

QuestionnaireResponse.Item.Answer teamIdAnswer = QuestionnaireResponse.Item.Answer.builder()
.value(String.builder().value(event.getTeamId()).build()).build();
.value(String.builder().value(event.getTeamId()).build()).build();
QuestionnaireResponse.Item teamId = QuestionnaireResponse.Item.builder()
.linkId(String.builder().value("teamId").build()).answer(teamIdAnswer).build();
.linkId(String.builder().value("teamId").build()).answer(teamIdAnswer).build();
items.add(teamId);

QuestionnaireResponse.Item.Answer teamAnswer = QuestionnaireResponse.Item.Answer.builder()
.value(String.builder().value(event.getTeam()).build()).build();
.value(String.builder().value(event.getTeam()).build()).build();
QuestionnaireResponse.Item team = QuestionnaireResponse.Item.builder().linkId(String.builder().value("team").build())
.answer(teamAnswer).build();
.answer(teamAnswer).build();
items.add(team);

Reference providerId = Reference.builder().id("providerId")
.reference(String.builder().value(event.getProviderId()).build()).build();
.reference(String.builder().value(event.getProviderId()).build()).build();
Reference baseEntityId = Reference.builder().id("baseEntityId")
.reference(String.builder().value(event.getBaseEntityId()).build()).build();;

.reference(String.builder().value(event.getBaseEntityId()).build()).build();
;

java.lang.String version = java.lang.String.valueOf(event.getServerVersion());
Id versionId = Id.builder().value(version).build();
Meta meta = Meta.builder().versionId(versionId).build();

QuestionnaireResponse.Item.Answer answer = null;
QuestionnaireResponse.Item item;

if (event.getIdentifiers() != null) {
for (Map.Entry<java.lang.String, java.lang.String> entry : event.getIdentifiers().entrySet()) {
answer = QuestionnaireResponse.Item.Answer.builder()
.value(String.builder().value(entry.getValue()).build()).build();
answer = QuestionnaireResponse.Item.Answer.builder().value(String.builder().value(entry.getValue()).build())
.build();
item = QuestionnaireResponse.Item.builder().linkId(String.builder().value(entry.getKey()).build())
.answer(answer).build();
.answer(answer).build();
items.add(item);
}
}

if (event.getDetails() != null) {
for (Map.Entry<java.lang.String, java.lang.String> entry : event.getDetails().entrySet()) {
if (StringUtils.trim(entry.getValue()).length() >= 1) {
answer = QuestionnaireResponse.Item.Answer.builder()
.value(String.builder().value(entry.getValue()).build()).build();
.value(String.builder().value(entry.getValue()).build()).build();
item = QuestionnaireResponse.Item.builder().linkId(String.builder().value(entry.getKey()).build())
.answer(answer).build();
.answer(answer).build();
items.add(item);
}
}
Expand All @@ -85,34 +86,28 @@ public static QuestionnaireResponse convertEventToEncounterResource(Event event)
for (Object obj : obs.getValues()) {
if (obs.getValues().size() == 1 && obj instanceof java.lang.String) {
answer = QuestionnaireResponse.Item.Answer.builder()
.value(String.builder().value(obj.toString()).build()).build();
.value(String.builder().value(obj.toString()).build()).build();
} else {
if (obj instanceof java.lang.String) {
extension = Extension.builder().value(String.builder().value(obj.toString()).build())
.url("observation").build();
.url("observation").build();
extensions.add(extension);
}
answer = QuestionnaireResponse.Item.Answer.builder().extension(extensions).build();
}
}

item = QuestionnaireResponse.Item.builder().linkId(String.builder().value(obs.getFieldCode()).build())
.answer(answer).build();
.answer(answer).build();
items.add(item);
}
}

//TODO : Add mapping for entityType

QuestionnaireResponse questionnaireResponse = QuestionnaireResponse.builder()
.id(event.getFormSubmissionId())
.status(QuestionnaireResponseStatus.COMPLETED)
.questionnaire(eventType)
.item(items)
.author(providerId)
.subject(baseEntityId)
.meta(meta)
.build();

QuestionnaireResponse questionnaireResponse = QuestionnaireResponse.builder().id(event.getFormSubmissionId())
.status(QuestionnaireResponseStatus.COMPLETED).questionnaire(eventType).item(items).author(providerId)
.subject(baseEntityId).meta(meta).build();
return questionnaireResponse;
}
}

0 comments on commit 891eb03

Please sign in to comment.