Skip to content

Commit a1886a5

Browse files
authored
chore: [ANDROSDK-2334] migrate tracked entity domain models to Kotlin (#2652)
2 parents 6d79acc + 76fff42 commit a1886a5

66 files changed

Lines changed: 920 additions & 831 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

core/api/core.api

Lines changed: 394 additions & 111 deletions
Large diffs are not rendered by default.

core/src/androidTest/java/org/hisp/dhis/android/core/common/internal/DataStatePropagatorIntegrationShould.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,9 @@ class DataStatePropagatorIntegrationShould : BaseMockIntegrationTestFullDispatch
403403
val enrolmentUid = createEnrollmentWithState(state, teiUid)
404404
val eventUid = createEventWithState(state, enrolmentUid)
405405

406-
propagator.propagateTrackedEntityDataValueUpdate(TrackedEntityDataValue.builder().event(eventUid).build())
406+
propagator.propagateTrackedEntityDataValueUpdate(
407+
TrackedEntityDataValue.builder().event(eventUid).dataElement("dataElementUid").build(),
408+
)
407409

408410
assertThat(trackedEntityInstanceStore.selectByUid(teiUid)!!.syncState()).isEqualTo(state)
409411
assertThat(trackedEntityInstanceStore.selectByUid(teiUid)!!.aggregatedSyncState()).isEqualTo(State.TO_UPDATE)
@@ -420,7 +422,9 @@ class DataStatePropagatorIntegrationShould : BaseMockIntegrationTestFullDispatch
420422
val enrolmentUid = createEnrollmentWithState(state, teiUid)
421423
val eventUid = createEventWithState(state, enrolmentUid)
422424

423-
propagator.propagateTrackedEntityDataValueUpdate(TrackedEntityDataValue.builder().event(eventUid).build())
425+
propagator.propagateTrackedEntityDataValueUpdate(
426+
TrackedEntityDataValue.builder().event(eventUid).dataElement("dataElementUid").build(),
427+
)
424428

425429
assertThat(trackedEntityInstanceStore.selectByUid(teiUid)!!.syncState()).isEqualTo(state)
426430
assertThat(trackedEntityInstanceStore.selectByUid(teiUid)!!.aggregatedSyncState()).isEqualTo(state)

core/src/androidTest/java/org/hisp/dhis/android/core/event/internal/EventPostCallRealIntegrationShould.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class EventPostCallRealIntegrationShould : BaseRealIntegrationTest() {
5252
private lateinit var orgUnitUid: String
5353
private lateinit var programUid: String
5454
private lateinit var programStageUid: String
55-
private var dataElementUid: String? = null
55+
private lateinit var dataElementUid: String
5656
private var attributeOptionCombo: String? = null
5757

5858
@Before
@@ -205,8 +205,8 @@ class EventPostCallRealIntegrationShould : BaseRealIntegrationTest() {
205205
.uid()
206206
dataElementUid = d2.programModule().programStageDataElements()
207207
.byProgramStage().eq(programStageUid)
208-
.one().blockingGet()!!.dataElement()
209-
?.uid()
208+
.one().blockingGet()!!.dataElement()!!
209+
.uid()
210210
attributeOptionCombo = d2.categoryModule().categoryOptionCombos()
211211
.one().blockingGet()!!
212212
.uid()

core/src/androidTest/java/org/hisp/dhis/android/core/relationship/internal/RelationshipDeletedOnServerRealIntegrationShould.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class RelationshipDeletedOnServerRealIntegrationShould : BaseRealIntegrationTest
6464
private lateinit var trackedEntityType: String
6565

6666
private var programUid: String? = null
67-
private var orgUnitUid: String? = null
67+
private lateinit var orgUnitUid: String
6868
private var relationshipTypeUid: String? = null
6969

7070
@Before
@@ -99,7 +99,7 @@ class RelationshipDeletedOnServerRealIntegrationShould : BaseRealIntegrationTest
9999
d2.metadataModule().blockingDownload()
100100

101101
programUid = "IpHINAT79UW"
102-
orgUnitUid = d2.organisationUnitModule().organisationUnits().blockingGet().firstOrNull()?.uid()
102+
orgUnitUid = d2.organisationUnitModule().organisationUnits().blockingGet().firstOrNull()?.uid()!!
103103
relationshipTypeUid = "XdP5nraLPZ0"
104104
trackedEntityType = "nEenWmSyUEp"
105105

core/src/androidTest/java/org/hisp/dhis/android/core/trackedentity/api/BreakTheGlassAPIShould.kt

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ import org.hisp.dhis.android.core.imports.internal.HttpMessageResponse
4444
import org.hisp.dhis.android.core.imports.internal.TEIWebResponse
4545
import org.hisp.dhis.android.core.trackedentity.TrackedEntityAttributeValue
4646
import org.hisp.dhis.android.core.trackedentity.TrackedEntityInstance
47-
import org.hisp.dhis.android.core.trackedentity.TrackedEntityInstanceInternalAccessor
4847
import org.hisp.dhis.android.core.trackedentity.internal.TrackedEntityInstanceNetworkHandler
4948
import org.hisp.dhis.android.core.trackedentity.ownership.OwnershipNetworkHandler
5049
import org.junit.Before
@@ -190,19 +189,22 @@ class BreakTheGlassAPIShould : BaseRealIntegrationTest() {
190189
}
191190

192191
private fun validTei(): TrackedEntityInstance {
193-
return TrackedEntityInstanceInternalAccessor
194-
.insertEnrollments(TrackedEntityInstance.builder(), listOf(validEnrollment()))
195-
.uid(uidGenerator.generate())
192+
val teiUid = uidGenerator.generate()
193+
return TrackedEntityInstance.builder()
194+
.enrollments(listOf(validEnrollment()))
195+
.uid(teiUid)
196196
.organisationUnit(captureOrgunit)
197197
.trackedEntityType(trackedEntityType)
198198
.trackedEntityAttributeValues(
199199
listOf(
200200
TrackedEntityAttributeValue.builder()
201201
.trackedEntityAttribute(attribute1)
202+
.trackedEntityInstance(teiUid)
202203
.value("Test")
203204
.build(),
204205
TrackedEntityAttributeValue.builder()
205206
.trackedEntityAttribute(attribute2)
207+
.trackedEntityInstance(teiUid)
206208
.value("TrackedEntity")
207209
.build(),
208210
),
@@ -231,31 +233,31 @@ class BreakTheGlassAPIShould : BaseRealIntegrationTest() {
231233
}
232234

233235
private fun teiWithEventInSearchScope(): TrackedEntityInstance {
234-
return TrackedEntityInstanceInternalAccessor.insertEnrollments(
235-
validTei().toBuilder(),
236-
listOf(
237-
validEnrollment().toBuilder()
238-
.events(
239-
listOf(
240-
validEvent().toBuilder()
241-
.organisationUnit(searchOrgunit)
242-
.build(),
243-
),
244-
)
245-
.build(),
246-
),
247-
)
236+
return validTei().toBuilder()
237+
.enrollments(
238+
listOf(
239+
validEnrollment().toBuilder()
240+
.events(
241+
listOf(
242+
validEvent().toBuilder()
243+
.organisationUnit(searchOrgunit)
244+
.build(),
245+
),
246+
)
247+
.build(),
248+
),
249+
)
248250
.build()
249251
}
250252

251253
private fun teiWithEnrollmentInSearchScope(): TrackedEntityInstance {
252-
return TrackedEntityInstanceInternalAccessor.insertEnrollments(
253-
validTei().toBuilder(),
254-
listOf(
255-
validEnrollment().toBuilder().events(listOf(validEvent()))
256-
.organisationUnit(searchOrgunit).build(),
257-
),
258-
)
254+
return validTei().toBuilder()
255+
.enrollments(
256+
listOf(
257+
validEnrollment().toBuilder().events(listOf(validEvent()))
258+
.organisationUnit(searchOrgunit).build(),
259+
),
260+
)
259261
.build()
260262
}
261263

core/src/androidTest/java/org/hisp/dhis/android/core/trackedentity/api/TrackedEntityInstanceAPIShould.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ import org.hisp.dhis.android.core.imports.internal.TEIWebResponse
4343
import org.hisp.dhis.android.core.maintenance.D2Error
4444
import org.hisp.dhis.android.core.organisationunit.OrganisationUnitMode
4545
import org.hisp.dhis.android.core.trackedentity.TrackedEntityInstance
46-
import org.hisp.dhis.android.core.trackedentity.TrackedEntityInstanceInternalAccessor
4746
import org.hisp.dhis.android.core.trackedentity.internal.TrackedEntityInstanceNetworkHandler
4847
import org.hisp.dhis.android.core.trackedentity.internal.TrackerQueryCommonParams
4948
import org.hisp.dhis.android.core.tracker.exporter.TrackerAPIQuery
@@ -445,8 +444,8 @@ abstract class TrackedEntityInstanceAPIShould internal constructor(
445444
if (events.size == 1) {
446445
val enrollmentWithEvents = enrollment.toBuilder()
447446
.events(events).build()
448-
return TrackedEntityInstanceInternalAccessor
449-
.insertEnrollments(instance.toBuilder(), listOf(enrollmentWithEvents))
447+
return instance.toBuilder()
448+
.enrollments(listOf(enrollmentWithEvents))
450449
.build()
451450
}
452451
}
@@ -463,13 +462,13 @@ abstract class TrackedEntityInstanceAPIShould internal constructor(
463462
}
464463
enrollments.add(enrollment!!.toBuilder().events(events).build())
465464
}
466-
return TrackedEntityInstanceInternalAccessor
467-
.insertEnrollments(instance.toBuilder(), enrollments)
465+
return instance.toBuilder()
466+
.enrollments(enrollments)
468467
.build()
469468
}
470469

471470
private fun getEnrollments(trackedEntityInstance: TrackedEntityInstance): List<Enrollment?> {
472-
return TrackedEntityInstanceInternalAccessor.accessEnrollments(trackedEntityInstance)
471+
return trackedEntityInstance.enrollments.orEmpty()
473472
}
474473

475474
private fun getEvents(enrollment: Enrollment?): List<Event?> {

core/src/androidTest/java/org/hisp/dhis/android/core/trackedentity/api/TrackedEntityInstanceUtils.kt

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ import org.hisp.dhis.android.core.relationship.Relationship
4444
import org.hisp.dhis.android.core.trackedentity.TrackedEntityAttributeValue
4545
import org.hisp.dhis.android.core.trackedentity.TrackedEntityDataValue
4646
import org.hisp.dhis.android.core.trackedentity.TrackedEntityInstance
47-
import org.hisp.dhis.android.core.trackedentity.TrackedEntityInstanceInternalAccessor
4847
import java.util.Date
4948

5049
@Suppress("TooManyFunctions")
@@ -72,12 +71,9 @@ internal object TrackedEntityInstanceUtils {
7271
): TrackedEntityInstance {
7372
val refDate = getValidDate()
7473

75-
return TrackedEntityInstanceInternalAccessor
76-
.insertEnrollments(
77-
TrackedEntityInstanceInternalAccessor
78-
.insertRelationships(TrackedEntityInstance.builder(), relationships),
79-
enrollments,
80-
)
74+
return TrackedEntityInstance.builder()
75+
.relationships(relationships)
76+
.enrollments(enrollments)
8177
.uid(trackedEntityInstanceUid)
8278
.created(refDate)
8379
.lastUpdated(refDate)
@@ -89,35 +85,46 @@ internal object TrackedEntityInstanceUtils {
8985
.build()
9086
}
9187

92-
private fun createTrackedEntityAttributeValue(attributeUid: String, value: String): TrackedEntityAttributeValue {
93-
return TrackedEntityAttributeValue.builder().value(value).trackedEntityAttribute(attributeUid).build()
88+
private fun createTrackedEntityAttributeValue(
89+
attributeUid: String,
90+
value: String,
91+
teiUid: String,
92+
): TrackedEntityAttributeValue {
93+
return TrackedEntityAttributeValue.builder()
94+
.value(value)
95+
.trackedEntityAttribute(attributeUid)
96+
.trackedEntityInstance(teiUid)
97+
.build()
9498
}
9599

96100
fun createValidTrackedEntityInstance(): TrackedEntityInstance {
101+
val teiUid = uidGenerator.generate()
97102
return createTrackedEntityInstance(
98-
uidGenerator.generate(),
103+
teiUid,
99104
validOrgUnitUid,
100-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
105+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
101106
emptyList(),
102107
emptyList(),
103108
)
104109
}
105110

106111
fun createTrackedEntityInstanceWithInvalidAttribute(): TrackedEntityInstance {
112+
val teiUid = uidGenerator.generate()
107113
return createTrackedEntityInstance(
108-
uidGenerator.generate(),
114+
teiUid,
109115
validOrgUnitUid,
110-
listOf(createTrackedEntityAttributeValue("invalid_uid", "9")),
116+
listOf(createTrackedEntityAttributeValue("invalid_uid", "9", teiUid)),
111117
emptyList(),
112118
emptyList(),
113119
)
114120
}
115121

116122
fun createTrackedEntityInstanceWithInvalidOrgunit(): TrackedEntityInstance {
123+
val teiUid = uidGenerator.generate()
117124
return createTrackedEntityInstance(
118-
uidGenerator.generate(),
125+
teiUid,
119126
"invalid_ou_uid",
120-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
127+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
121128
emptyList(),
122129
emptyList(),
123130
)
@@ -128,7 +135,7 @@ internal object TrackedEntityInstanceUtils {
128135
return createTrackedEntityInstance(
129136
teiUid,
130137
validOrgUnitUid,
131-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
138+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
132139
emptyList(),
133140
listOf(createValidEnrollment(teiUid)),
134141
)
@@ -139,7 +146,7 @@ internal object TrackedEntityInstanceUtils {
139146
return createTrackedEntityInstance(
140147
teiUid,
141148
validOrgUnitUid,
142-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
149+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
143150
emptyList(),
144151
listOf(createValidEnrollment(teiUid), createValidEnrollment(teiUid)),
145152
)
@@ -150,7 +157,7 @@ internal object TrackedEntityInstanceUtils {
150157
return createTrackedEntityInstance(
151158
teiUid,
152159
validOrgUnitUid,
153-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
160+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
154161
emptyList(),
155162
listOf(createFutureEnrollment(teiUid)),
156163
)
@@ -161,7 +168,7 @@ internal object TrackedEntityInstanceUtils {
161168
return createTrackedEntityInstance(
162169
teiUid,
163170
validOrgUnitUid,
164-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
171+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
165172
emptyList(),
166173
listOf(createValidEnrollmentAndEvent(teiUid)),
167174
)
@@ -172,7 +179,7 @@ internal object TrackedEntityInstanceUtils {
172179
return createTrackedEntityInstance(
173180
teiUid,
174181
validOrgUnitUid,
175-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
182+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
176183
emptyList(),
177184
listOf(createEnrollmentAndFutureEvent(teiUid)),
178185
)
@@ -183,7 +190,7 @@ internal object TrackedEntityInstanceUtils {
183190
return createTrackedEntityInstance(
184191
teiUid,
185192
validOrgUnitUid,
186-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
193+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
187194
emptyList(),
188195
listOf(createEnrollmentAndEventWithInvalidDataElement(teiUid)),
189196
)
@@ -194,7 +201,7 @@ internal object TrackedEntityInstanceUtils {
194201
return createTrackedEntityInstance(
195202
teiUid,
196203
validOrgUnitUid,
197-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
204+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
198205
emptyList(),
199206
listOf(createEnrollmentAndEventWithValidAndInvalidDataValue(teiUid)),
200207
)
@@ -205,7 +212,7 @@ internal object TrackedEntityInstanceUtils {
205212
return createTrackedEntityInstance(
206213
teiUid,
207214
validOrgUnitUid,
208-
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9")),
215+
listOf(createTrackedEntityAttributeValue(validTrackedEntityAttributeUid, "9", teiUid)),
209216
emptyList(),
210217
listOf(createCompletedEnrollmentWithEvent(teiUid)),
211218
)

core/src/androidTest/java/org/hisp/dhis/android/core/trackedentity/internal/BasePayloadGeneratorMockIntegration.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ import org.hisp.dhis.android.core.relationship.internal.RelationshipItemStore
5353
import org.hisp.dhis.android.core.relationship.internal.RelationshipStore
5454
import org.hisp.dhis.android.core.relationship.internal.RelationshipTypeStore
5555
import org.hisp.dhis.android.core.trackedentity.TrackedEntityInstance
56-
import org.hisp.dhis.android.core.trackedentity.TrackedEntityInstanceInternalAccessor
5756
import org.hisp.dhis.android.core.utils.integration.mock.BaseMockIntegrationTestMetadataEnqueable
5857
import org.junit.After
5958
import org.junit.BeforeClass
@@ -164,10 +163,8 @@ open class BasePayloadGeneratorMockIntegration : BaseMockIntegrationTestMetadata
164163
.trackedEntityInstance(teiId)
165164
.build()
166165

167-
val tei = TrackedEntityInstanceInternalAccessor.insertEnrollments(
168-
TrackedEntityInstance.builder(),
169-
listOf(enrollment1, enrollment2, enrollment3),
170-
)
166+
val tei = TrackedEntityInstance.builder()
167+
.enrollments(listOf(enrollment1, enrollment2, enrollment3))
171168
.uid(teiId)
172169
.trackedEntityType(teiType.uid())
173170
.organisationUnit(orgUnit.uid())
@@ -262,7 +259,7 @@ open class BasePayloadGeneratorMockIntegration : BaseMockIntegrationTestMetadata
262259
}
263260

264261
protected fun getEnrollments(trackedEntityInstance: TrackedEntityInstance): List<Enrollment> {
265-
return TrackedEntityInstanceInternalAccessor.accessEnrollments(trackedEntityInstance)
262+
return trackedEntityInstance.enrollments.orEmpty()
266263
}
267264

268265
protected fun getEvents(enrollment: Enrollment): List<Event> {

core/src/androidTest/java/org/hisp/dhis/android/core/trackedentity/internal/OldTrackerImporterPayloadGeneratorMockIntegrationShould.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import kotlinx.coroutines.test.runTest
3232
import org.hisp.dhis.android.core.arch.helpers.AccessHelper
3333
import org.hisp.dhis.android.core.common.State
3434
import org.hisp.dhis.android.core.relationship.RelationshipHelper
35-
import org.hisp.dhis.android.core.trackedentity.TrackedEntityInstanceInternalAccessor
3635
import org.hisp.dhis.android.core.utils.runner.D2JunitRunner
3736
import org.junit.Assert.fail
3837
import org.junit.Test
@@ -161,8 +160,8 @@ class OldTrackerImporterPayloadGeneratorMockIntegrationShould : BasePayloadGener
161160

162161
payload.trackedEntityInstances.forEach {
163162
when (it.uid()) {
164-
fromTei -> assertThat(TrackedEntityInstanceInternalAccessor.accessEnrollments(it)).isEmpty()
165-
toTei -> assertThat(TrackedEntityInstanceInternalAccessor.accessEnrollments(it)).isNotEmpty()
163+
fromTei -> assertThat(it.enrollments.orEmpty()).isEmpty()
164+
toTei -> assertThat(it.enrollments.orEmpty()).isNotEmpty()
166165
else -> fail("Unexpected trackedEntityInstance uid: " + it.uid())
167166
}
168167
}

0 commit comments

Comments
 (0)