Skip to content

Commit 76fff42

Browse files
committed
[ANDROSDK-2334] Adapt NewTracker data value DTO
1 parent 4a45333 commit 76fff42

3 files changed

Lines changed: 15 additions & 13 deletions

File tree

core/src/main/java/org/hisp/dhis/android/network/tracker/NewEventDTO.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ internal data class NewEventDTO(
8787
dueDate(scheduledAt?.toDomain())
8888
attributeOptionCombo(attributeOptionCombo)
8989
assignedUser(assignedUser?.uid)
90-
trackedEntityDataValues(dataValues?.map { it.toDomain(event) })
90+
trackedEntityDataValues(dataValues?.mapNotNull { it.toDomain(event) })
9191
notes(notes?.map { it.toDomain(event = event) })
9292
relationships(relationships?.map { it.toDomain() })
9393
trackedEntityInstance(trackedEntity)

core/src/main/java/org/hisp/dhis/android/network/tracker/NewTrackedEntityDataValueDTO.kt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,18 @@ internal data class NewTrackedEntityDataValueDTO(
4444
val value: ValueDTO?,
4545
val providedElsewhere: Boolean?,
4646
) {
47-
fun toDomain(eventUid: String?): TrackedEntityDataValue {
48-
return TrackedEntityDataValue.builder().apply {
49-
eventUid?.let { event(it) }
50-
created(createdAt?.toDomain())
51-
lastUpdated(updatedAt?.toDomain())
52-
dataElement?.let { dataElement(it) }
53-
storedBy(createdBy?.username)
54-
value(value?.value)
55-
providedElsewhere(providedElsewhere)
56-
}.build()
47+
fun toDomain(eventUid: String): TrackedEntityDataValue? {
48+
return dataElement?.let {
49+
TrackedEntityDataValue.builder()
50+
.event(eventUid)
51+
.created(createdAt?.toDomain())
52+
.lastUpdated(updatedAt?.toDomain())
53+
.dataElement(dataElement)
54+
.storedBy(createdBy?.username)
55+
.value(value?.value)
56+
.providedElsewhere(providedElsewhere)
57+
.build()
58+
}
5759
}
5860
}
5961

@@ -62,7 +64,7 @@ internal fun NewTrackerImporterTrackedEntityDataValue.toDto(): NewTrackedEntityD
6264
createdAt = createdAt?.toZonedDateDto(),
6365
updatedAt = updatedAt?.toZonedDateDto(),
6466
dataElement = dataElement,
65-
createdBy = createdBy?.let { it.toDto() },
67+
createdBy = createdBy?.toDto(),
6668
value = ValueDTO(value),
6769
providedElsewhere = providedElsewhere,
6870
)

core/src/test/java/org/hisp/dhis/android/core/trackedentity/NewTrackerImporterTrackedEntityDataValueShould.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ internal class NewTrackerImporterTrackedEntityDataValueShould : CoreObjectShould
4141
@Test
4242
override fun map_from_json_string() {
4343
val dataValueDTO = deserialize()
44-
val dataValue = dataValueDTO.toDomain("xE7jOejl9FI")
44+
val dataValue = dataValueDTO.toDomain("xE7jOejl9FI")!!
4545

4646
assertThat(dataValue.created()).isEqualTo(DateUtils.DATE_FORMAT.parse("2017-01-20T10:44:03.231"))
4747
assertThat(dataValue.lastUpdated()).isEqualTo(DateUtils.DATE_FORMAT.parse("2022-09-28T14:23:29.016"))

0 commit comments

Comments
 (0)