Skip to content

Commit 7141aae

Browse files
authored
feat: [ANDROSDK-2309] Add isEmpty property to FilterOperators.kt also update FilterOperatorsDB.kt and FilterOperatorsDTO.kt models (#2643)
2 parents de0f58e + 09b7839 commit 7141aae

19 files changed

Lines changed: 101 additions & 18 deletions

File tree

core/api/core.api

Lines changed: 50 additions & 16 deletions
Large diffs are not rendered by default.

core/src/main/assets/migrations/181.sql

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,3 +131,11 @@ ALTER TABLE IndicatorLegendSetLink RENAME TO IndicatorLegendSetLink_Old;
131131
CREATE TABLE IndicatorLegendSetLink(indicator TEXT NOT NULL, legendSet TEXT NOT NULL, sortOrder INTEGER NOT NULL, PRIMARY KEY(indicator, legendSet), FOREIGN KEY(indicator) REFERENCES Indicator(uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(legendSet) REFERENCES LegendSet(uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED);
132132
INSERT INTO IndicatorLegendSetLink(indicator, legendSet, sortOrder) SELECT indicator, legendSet, sortOrder FROM IndicatorLegendSetLink_Old;
133133
DROP TABLE IF EXISTS IndicatorLegendSetLink_Old;
134+
135+
# Add isEmpty to FilterOperator tables table (ANDROSDK-2309)
136+
137+
ALTER TABLE AttributeValueFilter ADD COLUMN isEmpty INTEGER;
138+
ALTER TABLE EventDataFilter ADD COLUMN isEmpty INTEGER;
139+
ALTER TABLE ProgramStageWorkingListAttributeValueFilter ADD COLUMN isEmpty INTEGER;
140+
ALTER TABLE ProgramStageWorkingListEventDataFilter ADD COLUMN isEmpty INTEGER;
141+

core/src/main/java/org/hisp/dhis/android/core/common/FilterOperators.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ interface FilterOperators {
5555
/** If the dataItem is of type date, then date filtering parameters are specified using this. */
5656
val dateFilter: DateFilterPeriod?
5757

58+
val isEmpty: Boolean?
59+
5860
fun le(): String? = le
5961
fun ge(): String? = ge
6062
fun gt(): String? = gt
@@ -81,5 +83,7 @@ interface FilterOperators {
8183
fun like(like: String?): T
8284

8385
fun dateFilter(dateFilter: DateFilterPeriod?): T
86+
87+
fun isEmpty(isEmpty: Boolean?): T
8488
}
8589
}

core/src/main/java/org/hisp/dhis/android/core/event/EventDataFilter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ data class EventDataFilter(
4343
override val `in`: Set<String>?,
4444
override val like: String?,
4545
override val dateFilter: DateFilterPeriod?,
46+
@get:JvmName("getIsEmpty")
47+
override val isEmpty: Boolean?,
4648
val eventFilter: String?,
4749
val dataItem: String,
4850
) : FilterOperators, CoreObject {

core/src/main/java/org/hisp/dhis/android/core/programstageworkinglist/ProgramStageWorkingListAttributeValueFilter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ data class ProgramStageWorkingListAttributeValueFilter(
4343
override val `in`: Set<String>?,
4444
override val like: String?,
4545
override val dateFilter: DateFilterPeriod?,
46+
@get:JvmName("getIsEmpty")
47+
override val isEmpty: Boolean?,
4648
val programStageWorkingList: String,
4749
val attribute: String,
4850
val ew: String?,

core/src/main/java/org/hisp/dhis/android/core/programstageworkinglist/ProgramStageWorkingListEventDataFilter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ data class ProgramStageWorkingListEventDataFilter(
4343
override val `in`: Set<String>?,
4444
override val like: String?,
4545
override val dateFilter: DateFilterPeriod?,
46+
@get:JvmName("getIsEmpty")
47+
override val isEmpty: Boolean?,
4648
val programStageWorkingList: String,
4749
val dataItem: String,
4850
) : FilterOperators, CoreObject {

core/src/main/java/org/hisp/dhis/android/core/trackedentity/AttributeValueFilter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ data class AttributeValueFilter(
4343
override val `in`: Set<String>?,
4444
override val like: String?,
4545
override val dateFilter: DateFilterPeriod?,
46+
@get:JvmName("getIsEmpty")
47+
override val isEmpty: Boolean?,
4648
val trackedEntityInstanceFilter: String?,
4749
val attribute: String,
4850
val ew: String?,

core/src/main/java/org/hisp/dhis/android/network/common/dto/FilterOperatorsDTO.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ internal interface FilterOperatorsDTO {
4040
val `in`: Set<String>?
4141
val like: String?
4242
val dateFilter: DateFilterPeriodDTO?
43+
val isEmpty: Boolean?
4344
}
4445

4546
internal fun <T> T.applyFilterOperatorsFields(item: FilterOperatorsDTO): T where
@@ -52,5 +53,6 @@ internal fun <T> T.applyFilterOperatorsFields(item: FilterOperatorsDTO): T where
5253
`in`(item.`in`)
5354
like(item.like)
5455
dateFilter(item.dateFilter?.toDomain())
56+
isEmpty(item.isEmpty)
5557
return this
5658
}

core/src/main/java/org/hisp/dhis/android/network/eventfilter/EventDataFilterDTO.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ internal data class EventDataFilterDTO(
4444
override val `in`: Set<String>?,
4545
override val like: String?,
4646
override val dateFilter: DateFilterPeriodDTO?,
47+
override val isEmpty: Boolean?,
4748
val dataItem: String,
4849
) : FilterOperatorsDTO {
4950
fun toDomain(eventFilter: String): EventDataFilter {

core/src/main/java/org/hisp/dhis/android/network/programstageworkinglist/ProgramStageWorkingListAttributeValueFilterDTO.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ internal data class ProgramStageWorkingListAttributeValueFilterDTO(
4444
override val `in`: Set<String>?,
4545
override val like: String?,
4646
override val dateFilter: DateFilterPeriodDTO?,
47+
override val isEmpty: Boolean?,
4748
val attribute: String,
4849
val ew: String?,
4950
val sw: String?,

0 commit comments

Comments
 (0)