diff --git a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/BlindFilterInstrumentedTest.kt b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/BlindFilterInstrumentedTest.kt index 010ff3bb..1ce832e9 100644 --- a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/BlindFilterInstrumentedTest.kt +++ b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/BlindFilterInstrumentedTest.kt @@ -4,7 +4,7 @@ import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest import net.pokeranalytics.android.model.filter.QueryType import net.pokeranalytics.android.model.realm.Bankroll import net.pokeranalytics.android.model.realm.Filter -import net.pokeranalytics.android.model.realm.FilterElement +import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSectionRow @@ -45,7 +45,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.BLINDS val blind = FilterElementRow.Blind(0.5, 1.0, null) blind.filterSectionRow = FilterSectionRow.BLINDS - val filterElement = FilterElement(filterElementRows = arrayListOf(blind)) + val filterElement = FilterCondition(filterElementRows = arrayListOf(blind)) filter.updateValueMap(filterElement) @@ -90,7 +90,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() { val blind = FilterElementRow.Blind(null, 1.0, null) blind.filterSectionRow = FilterSectionRow.BLINDS - val filterElement = FilterElement(filterElementRows = arrayListOf(blind)) + val filterElement = FilterCondition(filterElementRows = arrayListOf(blind)) filter.updateValueMap(filterElement) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -133,7 +133,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() { val blind = FilterElementRow.Blind(1.0, 2.0, "AUD") blind.filterSectionRow = FilterSectionRow.BLINDS - val filterElement = FilterElement(filterElementRows = arrayListOf(blind)) + val filterElement = FilterCondition(filterElementRows = arrayListOf(blind)) filter.updateValueMap(filterElement) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -178,7 +178,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() { val blind2 = FilterElementRow.Blind(0.5, 1.0, null) blind2.filterSectionRow = FilterSectionRow.BLINDS - val filterElement = FilterElement(filterElementRows = arrayListOf(blind1, blind2)) + val filterElement = FilterCondition(filterElementRows = arrayListOf(blind1, blind2)) filter.updateValueMap(filterElement) val sessions = Filter.queryOn(realm, arrayListOf(filter)) diff --git a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/DateFilterInstrumentedUnitTest.kt b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/DateFilterInstrumentedUnitTest.kt index e83c16f0..fb5d7c5c 100644 --- a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/DateFilterInstrumentedUnitTest.kt +++ b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/DateFilterInstrumentedUnitTest.kt @@ -4,7 +4,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest import net.pokeranalytics.android.model.filter.QueryType import net.pokeranalytics.android.model.realm.Filter -import net.pokeranalytics.android.model.realm.FilterElement +import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSectionRow @@ -34,7 +34,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filterElementRow = FilterElementRow.Day(cal.get(Calendar.DAY_OF_WEEK)) filterElementRow.filterSectionRow = FilterSectionRow.DYNAMIC_DATE - val filterElement = FilterElement(filterElementRow) + val filterElement = FilterCondition(filterElementRow) filter.updateValueMap(filterElement) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -63,7 +63,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filterElementRow = FilterElementRow.Month(cal.get(Calendar.MONTH)) filterElementRow.filterSectionRow = FilterSectionRow.DYNAMIC_DATE - val filterElement = FilterElement(filterElementRow) + val filterElement = FilterCondition(filterElementRow) filter.updateValueMap(filterElement) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -91,7 +91,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { cal.time = s1.startDate val filterElementRow = FilterElementRow.Year(cal.get(Calendar.YEAR)) filterElementRow.filterSectionRow = FilterSectionRow.DYNAMIC_DATE - val filterElement = FilterElement(filterElementRow) + val filterElement = FilterCondition(filterElementRow) filter.updateValueMap(filterElement) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -168,7 +168,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.STARTED_FROM_DATE val filterElementRow = FilterElementRow.From(s2.startDate!!) filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE - filter.updateValueMap(FilterElement(filterElementRow)) + filter.updateValueMap(FilterCondition(filterElementRow)) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -196,7 +196,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.STARTED_TO_DATE val filterElementRow = FilterElementRow.From(s1.startDate!!) filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE - filter.updateValueMap(FilterElement(filterElementRow)) + filter.updateValueMap(FilterCondition(filterElementRow)) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -225,7 +225,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.ENDED_FROM_DATE val filterElementRow = FilterElementRow.From(s2.endDate()) filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE - filter.updateValueMap(FilterElement(filterElementRow)) + filter.updateValueMap(FilterCondition(filterElementRow)) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -254,7 +254,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.ENDED_TO_DATE val filterElementRow = FilterElementRow.From(s1.endDate()) filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE - filter.updateValueMap(FilterElement(filterElementRow)) + filter.updateValueMap(FilterCondition(filterElementRow)) val sessions = Filter.queryOn(realm, arrayListOf(filter)) diff --git a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/ExceptionFilterInstrumentedTest.kt b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/ExceptionFilterInstrumentedTest.kt index 1d08c36a..99e0df58 100644 --- a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/ExceptionFilterInstrumentedTest.kt +++ b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/ExceptionFilterInstrumentedTest.kt @@ -5,7 +5,7 @@ import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest import net.pokeranalytics.android.exceptions.PokerAnalyticsException import net.pokeranalytics.android.model.filter.QueryType import net.pokeranalytics.android.model.realm.Filter -import net.pokeranalytics.android.model.realm.FilterElement +import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.Session import org.junit.Test import org.junit.runner.RunWith @@ -16,7 +16,7 @@ class ExceptionFilterInstrumentedTest: BaseFilterInstrumentedUnitTest() { @Test(expected = PokerAnalyticsException.FilterElementExpectedValueMissing::class) fun testValueKeyFilterException() { val filter = QueryType.STARTED_FROM_DATE - val filterElement = FilterElement() + val filterElement = FilterCondition() filter.updateValueMap(filterElement) val realm = this.mockRealm @@ -26,6 +26,6 @@ class ExceptionFilterInstrumentedTest: BaseFilterInstrumentedUnitTest() { @Test(expected = PokerAnalyticsException.FilterElementUnknownName::class) fun testFilterException() { - FilterElement().queryType + FilterCondition().queryType } } \ No newline at end of file diff --git a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/RealmFilterInstrumentedUnitTest.kt b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/RealmFilterInstrumentedUnitTest.kt index e96171cb..5bafb624 100644 --- a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/RealmFilterInstrumentedUnitTest.kt +++ b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/RealmFilterInstrumentedUnitTest.kt @@ -27,7 +27,7 @@ class RealmFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filterElement = FilterElementRow.Cash filterElement.filterSectionRow = FilterSectionRow.CASH_TOURNAMENT - filter.createOrUpdateFilterElements(arrayListOf(filterElement)) + filter.createOrUpdateFilterConditions(arrayListOf(filterElement)) val useCount = filter.countBy(FilterCategoryRow.GENERAL) Assert.assertEquals(1, useCount) @@ -35,7 +35,7 @@ class RealmFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val isCash = filter.contains(filterElement) Assert.assertEquals(true, isCash) - val filterComponent = filter.filterElements.first() + val filterComponent = filter.filterConditions.first() filterComponent?.let { Assert.assertEquals(QueryType.CASH, QueryType.valueOf(it.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName)) diff --git a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/SessionFilterInstrumentedUnitTest.kt b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/SessionFilterInstrumentedUnitTest.kt index 3569e364..8056c14d 100644 --- a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/SessionFilterInstrumentedUnitTest.kt +++ b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/SessionFilterInstrumentedUnitTest.kt @@ -112,7 +112,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.BANKROLL val filterElementRow = FilterElementRow.Bankroll(b1) filterElementRow.filterSectionRow = FilterSectionRow.BANKROLL - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -146,7 +146,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filterElementRow2 = FilterElementRow.Bankroll(b2) filterElementRow2.filterSectionRow = FilterSectionRow.BANKROLL - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -172,7 +172,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.GAME val filterElementRow = FilterElementRow.Game(g2) filterElementRow.filterSectionRow = FilterSectionRow.GAME - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -206,7 +206,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { filterElementRow.filterSectionRow = FilterSectionRow.GAME val filterElementRow2 = FilterElementRow.Game(g3) filterElementRow2.filterSectionRow = FilterSectionRow.GAME - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -232,7 +232,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.LOCATION val filterElementRow = FilterElementRow.Location(l1) filterElementRow.filterSectionRow = FilterSectionRow.LOCATION - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -267,7 +267,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filterElementRow2 = FilterElementRow.Location(l3) filterElementRow2.filterSectionRow = FilterSectionRow.LOCATION - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -294,7 +294,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filterElementRow = FilterElementRow.TournamentName(t1) filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_NAME - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -327,7 +327,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_NAME val filterElementRow2 = FilterElementRow.TournamentName(t2) filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_NAME - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -365,7 +365,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { filterElementRow2.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE val filterElementRow3 = FilterElementRow.AllTournamentFeature(t4) filterElementRow3.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow, filterElementRow2, filterElementRow3))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow, filterElementRow2, filterElementRow3))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -402,7 +402,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { filterElementRow3.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE val filterElementRow4 = FilterElementRow.AnyTournamentFeature(t4) filterElementRow4.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow, filterElementRow2, filterElementRow3, filterElementRow4))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow, filterElementRow2, filterElementRow3, filterElementRow4))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -430,7 +430,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.ANY_TOURNAMENT_FEATURES val filterElementRow = FilterElementRow.AnyTournamentFeature(t2) filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -457,7 +457,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { filterElementRow.filterSectionRow = FilterSectionRow.TABLE_SIZE val filterElementRow2 = FilterElementRow.TableSize(TableSize(4)) filterElementRow.filterSectionRow = FilterSectionRow.TABLE_SIZE - filter.updateValueMap(FilterElement(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) + filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow, filterElementRow2))) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -482,7 +482,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.MORE_THAN_NET_RESULT val filterElementRow = FilterElementRow.ResultMoreThan(204.0) filterElementRow.filterSectionRow = FilterSectionRow.VALUE - filter.updateValueMap(FilterElement(filterElementRow)) + filter.updateValueMap(FilterCondition(filterElementRow)) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -507,7 +507,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filter = QueryType.LESS_THAN_NET_RESULT val filterElementRow = FilterElementRow.ResultLessThan(540.0) filterElementRow.filterSectionRow = FilterSectionRow.VALUE - filter.updateValueMap(FilterElement(filterElementRow)) + filter.updateValueMap(FilterCondition(filterElementRow)) val sessions = Filter.queryOn(realm, arrayListOf(filter)) @@ -532,12 +532,12 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filterMore = QueryType.MORE_THAN_NET_RESULT val filterElementRow = FilterElementRow.ResultMoreThan(200.0) filterElementRow.filterSectionRow = FilterSectionRow.VALUE - filterMore.updateValueMap(FilterElement(filterElementRow)) + filterMore.updateValueMap(FilterCondition(filterElementRow)) val filterLess = QueryType.LESS_THAN_NET_RESULT val filterElementRow2 = FilterElementRow.ResultLessThan(400.0) filterElementRow2.filterSectionRow = FilterSectionRow.VALUE - filterLess.updateValueMap(FilterElement(filterElementRow2)) + filterLess.updateValueMap(FilterCondition(filterElementRow2)) val sessions = Filter.queryOn(realm, arrayListOf(filterMore, filterLess)) diff --git a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt index 4bcfd049..60b02421 100644 --- a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt +++ b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt @@ -27,7 +27,7 @@ class PokerAnalyticsApplication : Application() { Realm.init(this) val realmConfiguration = RealmConfiguration.Builder() .name(Realm.DEFAULT_REALM_NAME) - .schemaVersion(0) + .schemaVersion(2) .migration(PokerAnalyticsMigration()) .initialData(Seed(this)) .build() diff --git a/app/src/main/java/net/pokeranalytics/android/model/filter/Filterable.kt b/app/src/main/java/net/pokeranalytics/android/model/filter/Filterable.kt index 32dd7cd7..c1d8f45c 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/filter/Filterable.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/filter/Filterable.kt @@ -69,7 +69,7 @@ class FilterHelper { } // -//fun MutableList.filter(filter: FilterElement) : List { +//fun MutableList.filter(filter: FilterCondition) : List { // // return this.filter { f -> // return@filter true diff --git a/app/src/main/java/net/pokeranalytics/android/model/filter/QueryType.kt b/app/src/main/java/net/pokeranalytics/android/model/filter/QueryType.kt index 3c1a793b..08433ff1 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/filter/QueryType.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/filter/QueryType.kt @@ -3,7 +3,7 @@ package net.pokeranalytics.android.model.filter import io.realm.RealmList import io.realm.RealmQuery import net.pokeranalytics.android.exceptions.PokerAnalyticsException -import net.pokeranalytics.android.model.realm.FilterElement +import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.FilterElementBlind import net.pokeranalytics.android.model.realm.Session import java.util.* @@ -241,37 +241,37 @@ enum class QueryType(var subType:SubType? = null) { } - fun updateValueMap(filterElement: FilterElement) { + fun updateValueMap(filterCondition: FilterCondition) { if (filterValuesExpectedKeys == null) { return } this.subType?.let { subType -> - valueMap = mapOf("value" to filterElement.value) + valueMap = mapOf("value" to filterCondition.value) return } when (this) { ALL_TOURNAMENT_FEATURES, ANY_TOURNAMENT_FEATURES, BANKROLL, GAME, LOCATION, TOURNAMENT_NAME -> { - valueMap = mapOf("ids" to filterElement.ids) + valueMap = mapOf("ids" to filterCondition.ids) } LIMIT, TOURNAMENT_TYPE, TABLE_SIZE -> { - valueMap = mapOf("values" to filterElement.values) + valueMap = mapOf("values" to filterCondition.values) } BLINDS -> { - valueMap = mapOf("blinds" to filterElement.blinds) + valueMap = mapOf("blinds" to filterCondition.blinds) } STARTED_FROM_DATE, STARTED_TO_DATE, ENDED_FROM_DATE, ENDED_TO_DATE -> { - valueMap = mapOf("date" to filterElement.date) + valueMap = mapOf("date" to filterCondition.date) } DAY_OF_WEEK -> { - valueMap = mapOf("dayOfWeek" to filterElement.dayOfWeek) + valueMap = mapOf("dayOfWeek" to filterCondition.dayOfWeek) } MONTH -> { - valueMap = mapOf("month" to filterElement.month) + valueMap = mapOf("month" to filterCondition.month) } YEAR -> { - valueMap = mapOf("year" to filterElement.year) + valueMap = mapOf("year" to filterCondition.year) } else -> { throw PokerAnalyticsException.QueryValueMapUnexpectedValue diff --git a/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt b/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt index 48ac738f..77d26c60 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt @@ -15,41 +15,33 @@ class PokerAnalyticsMigration : RealmMigration { var currentVersion = oldVersion.toInt() Timber.d("*** migrate from $oldVersion to $newVersion") - // Migrate to version 1: Add a new class. - // Example: - // public Person extends RealmObject { - // private String name; - // private int age; - // // getters and setters left out for brevity - // } - /* + // Migrate to version 1 if (currentVersion == 0) { Timber.d("*** Running migration 1") - schema.get("Session")!! - .addField("isUpdating", Boolean::class.java) + + schema.get("Filter")?.let { + it.addField("entityType", Int::class.java).setNullable("entityType", true) + } + schema.get("FilterElement")?.let { + it.setNullable("filterName", true) + it.setNullable("sectionName", true) + } + schema.get("FilterElementBlind")?.let { + it.renameField("code", "currencyCode") + } currentVersion++ } - */ - - // Migrate to version 2: Add a primary key + object references - // Example: - // public Person extends RealmObject { - // private String name; - // @PrimaryKey - // private int age; - // private Dog favoriteDog; - // private RealmList dogs; - // // getters and setters left out for brevity - // } - /* + + // Migrate to version 2 if (currentVersion == 1) { - schema.get("Person")!! - .addField("id", Long::class.javaPrimitiveType!!, FieldAttribute.PRIMARY_KEY) - .addRealmObjectField("favoriteDog", schema.get("Dog")!!) - .addRealmListField("dogs", schema.get("Dog")!!) + Timber.d("*** Running migration ${currentVersion + 1}") + + schema.rename("FilterElement", "FilterCondition") + schema.get("Filter")?.let { + it.renameField("filterElements", "filterConditions") + } currentVersion++ } - */ } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt index a1dc9cef..8c8bec76 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt @@ -14,7 +14,7 @@ import java.util.* /** * A [Filter] is the top level representation of the filtering system - * It contains a list of [FilterElement] describing the complete query to launch + * It contains a list of [FilterCondition] describing the complete query to launch * The [Filter] is working closely with a [Filterable] interface providing the entity we want the query being launched on */ open class Filter : RealmObject() { @@ -59,29 +59,29 @@ open class Filter : RealmObject() { // for MutableRealmInteger, see https://realm.io/docs/java/latest/#counters val usageCount: MutableRealmInteger = MutableRealmInteger.valueOf(0) - var filterElements: RealmList = RealmList() + var filterConditions: RealmList = RealmList() private set - fun createOrUpdateFilterElements(filterElementRows: ArrayList) { - filterElements.clear() - filterElementRows + fun createOrUpdateFilterConditions(filterConditionRows: ArrayList) { + filterConditions.clear() + filterConditionRows .map { it.filterSectionRow } .distinct() .forEach { section -> - filterElementRows + filterConditionRows .filter { it.filterSectionRow == section } .apply { if (this.size == 1) { - filterElements.add(FilterElement(this.first())) + filterConditions.add(FilterCondition(this.first())) } else { val casted = arrayListOf() casted.addAll(this) - filterElements.add(FilterElement(casted)) + filterConditions.add(FilterCondition(casted)) } } @@ -90,13 +90,13 @@ open class Filter : RealmObject() { fun countBy(filterCategoryRow: FilterCategoryRow) : Int { val sections = filterCategoryRow.filterSectionRows - return filterElements.count { + return filterConditions.count { sections.contains(FilterSectionRow.valueOf(it.sectionName ?: throw PokerAnalyticsException.FilterElementUnknownSectionName)) } } fun contains(filterElementRow:FilterElementRow) : Boolean { - val filtered = filterElements.filter { + val filtered = filterConditions.filter { it.filterName == filterElementRow.filterName } if (filtered.isEmpty()) { @@ -107,7 +107,7 @@ open class Filter : RealmObject() { inline fun results(): RealmResults { var realmQuery = realm.where() - this.filterElements.map { + this.filterConditions.map { it.queryType }.forEach { realmQuery = it.filter(realmQuery) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/FilterElement.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt similarity index 97% rename from app/src/main/java/net/pokeranalytics/android/model/realm/FilterElement.kt rename to app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt index c0d35070..d3311ec6 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/FilterElement.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt @@ -7,9 +7,8 @@ import net.pokeranalytics.android.model.filter.QueryType import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow.* import java.util.* -import kotlin.collections.ArrayList -open class FilterElement() : RealmObject() { +open class FilterCondition() : RealmObject() { private constructor(filterName:String, sectionName:String) : this() { this.filterName = filterName @@ -93,7 +92,7 @@ open class FilterElement() : RealmObject() { val queryType : QueryType get() = QueryType.valueOf(this.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName) .apply { - this.updateValueMap(this@FilterElement) + this.updateValueMap(this@FilterCondition) } private var numericValues: RealmList? = null diff --git a/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableDataSource.kt b/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableDataSource.kt index ca6b308e..c43f02d4 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableDataSource.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableDataSource.kt @@ -102,7 +102,7 @@ class UnmanagedRowRepresentableException(message: String) : Exception(message) { * - string * - booleans * - actionIcon - * to display the appropriate numericValues in graphical filterElements, such as labels, textfields, switchs... + * to display the appropriate numericValues in graphical filterConditions, such as labels, textfields, switchs... */ interface DisplayableDataSource { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt index 337ae73e..ad55f88b 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt @@ -175,7 +175,7 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresenta val realm = getRealm() realm.beginTransaction() - currentFilter?.createOrUpdateFilterElements(selectedRows) + currentFilter?.createOrUpdateFilterConditions(selectedRows) realm.commitTransaction() finishActivityWithResult(currentFilter?.id) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt index 316ff259..7d99ca56 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt @@ -5,7 +5,7 @@ import net.pokeranalytics.android.R import net.pokeranalytics.android.exceptions.PokerAnalyticsException import net.pokeranalytics.android.model.filter.QueryType import net.pokeranalytics.android.model.interfaces.Manageable -import net.pokeranalytics.android.model.realm.FilterElement +import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowViewType import java.util.* @@ -107,9 +107,9 @@ sealed class FilterElementRow : RowRepresentable { } } - fun contains(filterElements: List): Boolean { + fun contains(filterConditions: List): Boolean { return when (this) { - is DataFilterElementRow -> filterElements.any { + is DataFilterElementRow -> filterConditions.any { it.ids.contains(this.id) } else -> return true