Skip to content

Commit 78b30c6

Browse files
committed
Simplify partial parsing for entities
1 parent 9c2a5ca commit 78b30c6

File tree

3 files changed

+20
-28
lines changed

3 files changed

+20
-28
lines changed

buildSrc/src/main/java/dependencies/Dependencies.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ object Dependencies {
3434
const val rarepebble_colorpicker = "com.github.martin-stone:hsv-alpha-color-picker-android:3.1.0"
3535
const val commons_io = "commons-io:commons-io:2.5" // Commons 2.6+ introduce java.nio usage that we can't access until our minSdkVersion >= 26 (https://developer.android.com/reference/java/io/File#toPath())
3636
const val opencsv = "com.opencsv:opencsv:5.9"
37-
const val javarosa_online = "org.getodk:javarosa:5.0.0-SNAPSHOT-30ef2a9"
37+
const val javarosa_online = "org.getodk:javarosa:5.0.0-SNAPSHOT-6ce1352"
3838
const val javarosa_local = "org.getodk:javarosa:local"
3939
const val javarosa = javarosa_online
4040
const val karumi_dexter = "com.karumi:dexter:6.2.3"

entities/src/main/java/org/odk/collect/entities/javarosa/intance/LocalEntitiesInstanceAdapter.kt

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class LocalEntitiesInstanceAdapter(private val entitiesRepository: EntitiesRepos
2323

2424
0.until(count).map {
2525
if (it == 0) {
26-
convertToElement(first, true)
26+
convertToElement(first)
2727
} else {
2828
TreeElement("item", it, true)
2929
}
@@ -33,7 +33,7 @@ class LocalEntitiesInstanceAdapter(private val entitiesRepository: EntitiesRepos
3333
}
3434
} else {
3535
entitiesRepository.getEntities(instanceId).map { entity ->
36-
convertToElement(entity, false)
36+
convertToElement(entity)
3737
}
3838
}
3939
}
@@ -47,7 +47,7 @@ class LocalEntitiesInstanceAdapter(private val entitiesRepository: EntitiesRepos
4747
)
4848

4949
if (entity != null) {
50-
listOf(convertToElement(entity, false))
50+
listOf(convertToElement(entity))
5151
} else {
5252
emptyList()
5353
}
@@ -76,7 +76,7 @@ class LocalEntitiesInstanceAdapter(private val entitiesRepository: EntitiesRepos
7676
value
7777
)
7878

79-
entities.map { convertToElement(it, false) }
79+
entities.map { convertToElement(it) }
8080
}
8181
}
8282
}
@@ -86,31 +86,29 @@ class LocalEntitiesInstanceAdapter(private val entitiesRepository: EntitiesRepos
8686
filter: (Entity.Saved) -> Boolean
8787
): List<TreeElement> {
8888
val entities = entitiesRepository.getEntities(list)
89-
return entities.filter(filter).map { convertToElement(it, false) }
89+
return entities.filter(filter).map { convertToElement(it) }
9090
}
9191

92-
private fun convertToElement(entity: Entity.Saved, partial: Boolean): TreeElement {
92+
private fun convertToElement(entity: Entity.Saved): TreeElement {
9393
val name = TreeElement(EntityItemElement.ID)
9494
val label = TreeElement(EntityItemElement.LABEL)
9595
val version = TreeElement(EntityItemElement.VERSION)
9696
val trunkVersion = TreeElement(EntityItemElement.TRUNK_VERSION)
9797
val branchId = TreeElement(EntityItemElement.BRANCH_ID)
9898

99-
if (!partial) {
100-
name.value = StringData(entity.id)
101-
version.value = StringData(entity.version.toString())
102-
branchId.value = StringData(entity.branchId)
99+
name.value = StringData(entity.id)
100+
version.value = StringData(entity.version.toString())
101+
branchId.value = StringData(entity.branchId)
103102

104-
if (entity.label != null) {
105-
label.value = StringData(entity.label)
106-
}
103+
if (entity.label != null) {
104+
label.value = StringData(entity.label)
105+
}
107106

108-
if (entity.trunkVersion != null) {
109-
trunkVersion.value = StringData(entity.trunkVersion.toString())
110-
}
107+
if (entity.trunkVersion != null) {
108+
trunkVersion.value = StringData(entity.trunkVersion.toString())
111109
}
112110

113-
val item = TreeElement("item", entity.index, partial)
111+
val item = TreeElement("item", entity.index, false)
114112
item.addChild(name)
115113
item.addChild(label)
116114
item.addChild(version)
@@ -119,11 +117,7 @@ class LocalEntitiesInstanceAdapter(private val entitiesRepository: EntitiesRepos
119117

120118
entity.properties.forEach { property ->
121119
val propertyElement = TreeElement(property.first)
122-
123-
if (!partial) {
124-
propertyElement.value = StringData(property.second)
125-
}
126-
120+
propertyElement.value = StringData(property.second)
127121
item.addChild(propertyElement)
128122
}
129123

entities/src/test/java/org/odk/collect/entities/javarosa/LocalEntitiesInstanceProviderTest.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class LocalEntitiesInstanceProviderTest {
111111
}
112112

113113
@Test
114-
fun `partial parse returns elements without values for first item and just item for others`() {
114+
fun `partial parse returns the full first item and just item for others`() {
115115
val entity = arrayOf(
116116
Entity.New(
117117
"1",
@@ -133,11 +133,9 @@ class LocalEntitiesInstanceProviderTest {
133133
assertThat(instance.numChildren, equalTo(2))
134134

135135
val item1 = instance.getChildAt(0)!!
136-
assertThat(item1.isPartial, equalTo(true))
136+
assertThat(item1.isPartial, equalTo(false))
137137
assertThat(item1.numChildren, equalTo(6))
138-
0.until(item1.numChildren).forEach {
139-
assertThat(item1.getChildAt(it).value?.value, equalTo(null))
140-
}
138+
assertThat(item1.getFirstChild("name")!!.value!!.value, equalTo("1"))
141139

142140
val item2 = instance.getChildAt(1)!!
143141
assertThat(item2.isPartial, equalTo(true))

0 commit comments

Comments
 (0)