From b1ddd07f752c29292b81084c9d74b28d3f0d8087 Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 9 Apr 2019 10:13:03 +0200 Subject: [PATCH 1/3] migrations + FilterElement renaming to FilterCondition --- .../filter/BlindFilterInstrumentedTest.kt | 10 ++-- .../filter/DateFilterInstrumentedUnitTest.kt | 16 +++---- .../filter/ExceptionFilterInstrumentedTest.kt | 6 +-- .../filter/RealmFilterInstrumentedUnitTest.kt | 4 +- .../SessionFilterInstrumentedUnitTest.kt | 32 ++++++------- .../android/PokerAnalyticsApplication.kt | 2 +- .../android/model/filter/Filterable.kt | 2 +- .../android/model/filter/QueryType.kt | 20 ++++---- .../migrations/PokerAnalyticsMigration.kt | 48 ++++++++----------- .../android/model/realm/Filter.kt | 22 ++++----- .../{FilterElement.kt => FilterCondition.kt} | 5 +- .../ui/adapter/RowRepresentableDataSource.kt | 2 +- .../ui/fragment/FilterDetailsFragment.kt | 2 +- .../view/rowrepresentable/FilterElementRow.kt | 6 +-- 14 files changed, 84 insertions(+), 93 deletions(-) rename app/src/main/java/net/pokeranalytics/android/model/realm/{FilterElement.kt => FilterCondition.kt} (97%) 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 From ba168fc57f888188d70a5bad765e207646e30191 Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 9 Apr 2019 10:17:20 +0200 Subject: [PATCH 2/3] Refactoring: QueryType -> QueryCondition, SubType -> Operator --- .../filter/BlindFilterInstrumentedTest.kt | 10 ++-- .../filter/DateFilterInstrumentedUnitTest.kt | 20 +++---- .../filter/ExceptionFilterInstrumentedTest.kt | 6 +-- .../filter/RealmFilterInstrumentedUnitTest.kt | 4 +- .../SessionFilterInstrumentedUnitTest.kt | 42 +++++++-------- .../android/exceptions/Exceptions.kt | 4 +- .../android/model/filter/Filterable.kt | 12 ++--- .../{QueryType.kt => QueryCondition.kt} | 52 +++++++++---------- .../android/model/realm/ComputableResult.kt | 6 +-- .../android/model/realm/Filter.kt | 6 +-- .../android/model/realm/FilterCondition.kt | 26 +++++----- .../android/model/realm/Session.kt | 8 +-- .../android/model/realm/SessionSet.kt | 6 +-- .../view/rowrepresentable/FilterElementRow.kt | 52 +++++++++---------- 14 files changed, 127 insertions(+), 127 deletions(-) rename app/src/main/java/net/pokeranalytics/android/model/filter/{QueryType.kt => QueryCondition.kt} (89%) 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 1ce832e9..d19cee4a 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 @@ -1,7 +1,7 @@ package net.pokeranalytics.android.unitTests.filter import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest -import net.pokeranalytics.android.model.filter.QueryType +import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.realm.Bankroll import net.pokeranalytics.android.model.realm.Filter import net.pokeranalytics.android.model.realm.FilterCondition @@ -42,7 +42,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() { realm.commitTransaction() - val filter = QueryType.BLINDS + val filter = QueryCondition.BLINDS val blind = FilterElementRow.Blind(0.5, 1.0, null) blind.filterSectionRow = FilterSectionRow.BLINDS val filterElement = FilterCondition(filterElementRows = arrayListOf(blind)) @@ -86,7 +86,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() { realm.commitTransaction() - val filter = QueryType.BLINDS + val filter = QueryCondition.BLINDS val blind = FilterElementRow.Blind(null, 1.0, null) blind.filterSectionRow = FilterSectionRow.BLINDS @@ -129,7 +129,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() { realm.commitTransaction() - val filter = QueryType.BLINDS + val filter = QueryCondition.BLINDS val blind = FilterElementRow.Blind(1.0, 2.0, "AUD") blind.filterSectionRow = FilterSectionRow.BLINDS @@ -172,7 +172,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() { realm.commitTransaction() - val filter = QueryType.BLINDS + val filter = QueryCondition.BLINDS val blind1 = FilterElementRow.Blind(1.0, 2.0, null) blind1.filterSectionRow = FilterSectionRow.BLINDS 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 fb5d7c5c..7f347618 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 @@ -2,7 +2,7 @@ package net.pokeranalytics.android.unitTests.filter 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.filter.QueryCondition import net.pokeranalytics.android.model.realm.Filter import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.Session @@ -29,7 +29,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(100.0, true, cal.time) realm.commitTransaction() - val filter = QueryType.DAY_OF_WEEK + val filter = QueryCondition.DAY_OF_WEEK cal.time = s1.startDate val filterElementRow = FilterElementRow.Day(cal.get(Calendar.DAY_OF_WEEK)) @@ -58,7 +58,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(100.0, true, cal.time) realm.commitTransaction() - val filter = QueryType.MONTH + val filter = QueryCondition.MONTH cal.time = s1.startDate val filterElementRow = FilterElementRow.Month(cal.get(Calendar.MONTH)) @@ -87,7 +87,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(100.0, true, cal.time) realm.commitTransaction() - val filter = QueryType.YEAR + val filter = QueryCondition.YEAR cal.time = s1.startDate val filterElementRow = FilterElementRow.Year(cal.get(Calendar.YEAR)) filterElementRow.filterSectionRow = FilterSectionRow.DYNAMIC_DATE @@ -117,7 +117,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(100.0, true, cal.time) realm.commitTransaction() - val sessions = Filter.queryOn(realm, arrayListOf(QueryType.WEEK_END)) + val sessions = Filter.queryOn(realm, arrayListOf(QueryCondition.WEEK_END)) Assert.assertEquals(1, sessions.size) sessions[0]?.run { @@ -142,7 +142,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { realm.commitTransaction() - val sessions = Filter.queryOn(realm, arrayListOf(QueryType.WEEK_DAY)) + val sessions = Filter.queryOn(realm, arrayListOf(QueryCondition.WEEK_DAY)) Assert.assertEquals(1, sessions.size) sessions[0]?.run { @@ -165,7 +165,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val s2 = Session.testInstance(100.0, true, cal.time, 1) realm.commitTransaction() - val filter = QueryType.STARTED_FROM_DATE + val filter = QueryCondition.STARTED_FROM_DATE val filterElementRow = FilterElementRow.From(s2.startDate!!) filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE filter.updateValueMap(FilterCondition(filterElementRow)) @@ -193,7 +193,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { realm.commitTransaction() - val filter = QueryType.STARTED_TO_DATE + val filter = QueryCondition.STARTED_TO_DATE val filterElementRow = FilterElementRow.From(s1.startDate!!) filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE filter.updateValueMap(FilterCondition(filterElementRow)) @@ -222,7 +222,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { realm.commitTransaction() - val filter = QueryType.ENDED_FROM_DATE + val filter = QueryCondition.ENDED_FROM_DATE val filterElementRow = FilterElementRow.From(s2.endDate()) filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE filter.updateValueMap(FilterCondition(filterElementRow)) @@ -251,7 +251,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { realm.commitTransaction() - val filter = QueryType.ENDED_TO_DATE + val filter = QueryCondition.ENDED_TO_DATE val filterElementRow = FilterElementRow.From(s1.endDate()) filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE filter.updateValueMap(FilterCondition(filterElementRow)) 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 99e0df58..fd756ada 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 @@ -3,7 +3,7 @@ package net.pokeranalytics.android.unitTests.filter import androidx.test.ext.junit.runners.AndroidJUnit4 import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest import net.pokeranalytics.android.exceptions.PokerAnalyticsException -import net.pokeranalytics.android.model.filter.QueryType +import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.realm.Filter import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.Session @@ -15,7 +15,7 @@ class ExceptionFilterInstrumentedTest: BaseFilterInstrumentedUnitTest() { @Test(expected = PokerAnalyticsException.FilterElementExpectedValueMissing::class) fun testValueKeyFilterException() { - val filter = QueryType.STARTED_FROM_DATE + val filter = QueryCondition.STARTED_FROM_DATE val filterElement = FilterCondition() filter.updateValueMap(filterElement) @@ -26,6 +26,6 @@ class ExceptionFilterInstrumentedTest: BaseFilterInstrumentedUnitTest() { @Test(expected = PokerAnalyticsException.FilterElementUnknownName::class) fun testFilterException() { - FilterCondition().queryType + FilterCondition().queryCondition } } \ 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 5bafb624..5ad36cbe 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 @@ -3,7 +3,7 @@ package net.pokeranalytics.android.unitTests.filter import androidx.test.ext.junit.runners.AndroidJUnit4 import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest import net.pokeranalytics.android.exceptions.PokerAnalyticsException -import net.pokeranalytics.android.model.filter.QueryType +import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.realm.Filter import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategoryRow @@ -38,7 +38,7 @@ class RealmFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val filterComponent = filter.filterConditions.first() filterComponent?.let { - Assert.assertEquals(QueryType.CASH, QueryType.valueOf(it.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName)) + Assert.assertEquals(QueryCondition.CASH, QueryCondition.valueOf(it.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName)) } ?: run { Assert.fail() } 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 8056c14d..b4348fa2 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 @@ -4,7 +4,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import io.realm.RealmList import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest import net.pokeranalytics.android.model.TableSize -import net.pokeranalytics.android.model.filter.QueryType +import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.realm.* import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSectionRow @@ -26,7 +26,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(100.0, true, Date(), 1) realm.commitTransaction() - val sessions = Filter.queryOn(realm, arrayListOf(QueryType.CASH)) + val sessions = Filter.queryOn(realm, arrayListOf(QueryCondition.CASH)) Assert.assertEquals(1, sessions.size) sessions[0]?.run { @@ -44,7 +44,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(100.0, true, Date(), 1) realm.commitTransaction() - val sessions = Filter.queryOn(realm, arrayListOf(QueryType.TOURNAMENT)) + val sessions = Filter.queryOn(realm, arrayListOf(QueryCondition.TOURNAMENT)) Assert.assertEquals(1, sessions.size) sessions[0]?.run { @@ -67,7 +67,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(100.0, true, Date(), 1, b2) realm.commitTransaction() - val sessions = Filter.queryOn(realm, arrayListOf(QueryType.LIVE)) + val sessions = Filter.queryOn(realm, arrayListOf(QueryCondition.LIVE)) Assert.assertEquals(1, sessions.size) (sessions[0] as Session).bankroll?.run { @@ -89,7 +89,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(100.0, true, Date(), 1, b2) realm.commitTransaction() - val sessions = Filter.queryOn(realm, arrayListOf(QueryType.ONLINE)) + val sessions = Filter.queryOn(realm, arrayListOf(QueryCondition.ONLINE)) Assert.assertEquals(1, sessions.size) (sessions[0] as Session).bankroll?.run { @@ -109,7 +109,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(bankroll = b2) realm.commitTransaction() - val filter = QueryType.BANKROLL + val filter = QueryCondition.BANKROLL val filterElementRow = FilterElementRow.Bankroll(b1) filterElementRow.filterSectionRow = FilterSectionRow.BANKROLL filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) @@ -140,7 +140,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(bankroll = b3) realm.commitTransaction() - val filter = QueryType.BANKROLL + val filter = QueryCondition.BANKROLL val filterElementRow = FilterElementRow.Bankroll(b1) filterElementRow.filterSectionRow = FilterSectionRow.BANKROLL @@ -169,7 +169,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(game = g2) realm.commitTransaction() - val filter = QueryType.GAME + val filter = QueryCondition.GAME val filterElementRow = FilterElementRow.Game(g2) filterElementRow.filterSectionRow = FilterSectionRow.GAME filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) @@ -200,7 +200,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(game = g3) realm.commitTransaction() - val filter = QueryType.GAME + val filter = QueryCondition.GAME val filterElementRow = FilterElementRow.Game(g2) filterElementRow.filterSectionRow = FilterSectionRow.GAME @@ -229,7 +229,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(location = l2) realm.commitTransaction() - val filter = QueryType.LOCATION + val filter = QueryCondition.LOCATION val filterElementRow = FilterElementRow.Location(l1) filterElementRow.filterSectionRow = FilterSectionRow.LOCATION filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) @@ -260,7 +260,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(location = l3) realm.commitTransaction() - val filter = QueryType.LOCATION + val filter = QueryCondition.LOCATION val filterElementRow = FilterElementRow.Location(l1) filterElementRow.filterSectionRow = FilterSectionRow.LOCATION @@ -290,7 +290,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(tournamentName = t2) realm.commitTransaction() - val filter = QueryType.TOURNAMENT_NAME + val filter = QueryCondition.TOURNAMENT_NAME val filterElementRow = FilterElementRow.TournamentName(t1) filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_NAME @@ -322,7 +322,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(tournamentName = t3) realm.commitTransaction() - val filter = QueryType.TOURNAMENT_NAME + val filter = QueryCondition.TOURNAMENT_NAME val filterElementRow = FilterElementRow.TournamentName(t1) filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_NAME val filterElementRow2 = FilterElementRow.TournamentName(t2) @@ -358,7 +358,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(tournamentFeatures = RealmList(t1)) realm.commitTransaction() - val filter = QueryType.ALL_TOURNAMENT_FEATURES + val filter = QueryCondition.ALL_TOURNAMENT_FEATURES val filterElementRow = FilterElementRow.AllTournamentFeature(t1) filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE val filterElementRow2 = FilterElementRow.AllTournamentFeature(t2) @@ -393,7 +393,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(tournamentFeatures = RealmList(t1)) realm.commitTransaction() - val filter = QueryType.ANY_TOURNAMENT_FEATURES + val filter = QueryCondition.ANY_TOURNAMENT_FEATURES val filterElementRow = FilterElementRow.AnyTournamentFeature(t1) filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE val filterElementRow2 = FilterElementRow.AnyTournamentFeature(t2) @@ -427,7 +427,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(tournamentFeatures = RealmList(t1)) realm.commitTransaction() - val filter = QueryType.ANY_TOURNAMENT_FEATURES + val filter = QueryCondition.ANY_TOURNAMENT_FEATURES val filterElementRow = FilterElementRow.AnyTournamentFeature(t2) filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) @@ -452,7 +452,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(tableSize = 10) realm.commitTransaction() - val filter = QueryType.TABLE_SIZE + val filter = QueryCondition.TABLE_SIZE val filterElementRow = FilterElementRow.TableSize(TableSize(2)) filterElementRow.filterSectionRow = FilterSectionRow.TABLE_SIZE val filterElementRow2 = FilterElementRow.TableSize(TableSize(4)) @@ -479,7 +479,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { val s2 = Session.testInstance(netResult = 570.0) realm.commitTransaction() - val filter = QueryType.MORE_THAN_NET_RESULT + val filter = QueryCondition.MORE_THAN_NET_RESULT val filterElementRow = FilterElementRow.ResultMoreThan(204.0) filterElementRow.filterSectionRow = FilterSectionRow.VALUE filter.updateValueMap(FilterCondition(filterElementRow)) @@ -504,7 +504,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(netResult = 570.0) realm.commitTransaction() - val filter = QueryType.LESS_THAN_NET_RESULT + val filter = QueryCondition.LESS_THAN_NET_RESULT val filterElementRow = FilterElementRow.ResultLessThan(540.0) filterElementRow.filterSectionRow = FilterSectionRow.VALUE filter.updateValueMap(FilterCondition(filterElementRow)) @@ -529,12 +529,12 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { Session.testInstance(netResult = 570.0) realm.commitTransaction() - val filterMore = QueryType.MORE_THAN_NET_RESULT + val filterMore = QueryCondition.MORE_THAN_NET_RESULT val filterElementRow = FilterElementRow.ResultMoreThan(200.0) filterElementRow.filterSectionRow = FilterSectionRow.VALUE filterMore.updateValueMap(FilterCondition(filterElementRow)) - val filterLess = QueryType.LESS_THAN_NET_RESULT + val filterLess = QueryCondition.LESS_THAN_NET_RESULT val filterElementRow2 = FilterElementRow.ResultLessThan(400.0) filterElementRow2.filterSectionRow = FilterSectionRow.VALUE filterLess.updateValueMap(FilterCondition(filterElementRow2)) diff --git a/app/src/main/java/net/pokeranalytics/android/exceptions/Exceptions.kt b/app/src/main/java/net/pokeranalytics/android/exceptions/Exceptions.kt index 098dc370..057a0b7d 100644 --- a/app/src/main/java/net/pokeranalytics/android/exceptions/Exceptions.kt +++ b/app/src/main/java/net/pokeranalytics/android/exceptions/Exceptions.kt @@ -9,8 +9,8 @@ class RowRepresentableEditDescriptorException(message: String) : Exception(messa class ConfigurationException(message: String) : Exception(message) sealed class PokerAnalyticsException(message: String) : Exception(message) { - object FilterElementUnknownName : PokerAnalyticsException(message = "No filterElement name was found to identify the queryType") - object FilterElementUnknownSectionName: PokerAnalyticsException(message = "No filterElement section name was found to identify the queryType") + object FilterElementUnknownName : PokerAnalyticsException(message = "No filterElement name was found to identify the queryCondition") + object FilterElementUnknownSectionName: PokerAnalyticsException(message = "No filterElement section name was found to identify the queryCondition") object FilterMissingEntity: PokerAnalyticsException(message = "This filter has no entity initialized") object FilterUnhandledEntity : PokerAnalyticsException(message = "This entity is not filterable") object QueryValueMapUnknown: PokerAnalyticsException(message = "fieldName is missing") 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 c1d8f45c..a7a7f467 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 @@ -41,9 +41,9 @@ class UnmanagedFilterField(message: String) : Exception(message) { interface Filterable : RealmModel { /** - * return the path of the parameter used in the [QueryType] related to this entity + * return the path of the parameter used in the [QueryCondition] related to this entity */ -// fun fieldNameForQueryType(queryType: QueryType) : String? +// fun fieldNameForQueryType(queryCondition: QueryCondition) : String? } @@ -51,12 +51,12 @@ class FilterHelper { companion object { - inline fun fieldNameForQueryType(queryType: QueryType): String? { + inline fun fieldNameForQueryType(queryCondition: QueryCondition): String? { return when (T::class.java) { - Session::class.java -> Session.fieldNameForQueryType(queryType) - ComputableResult::class.java -> ComputableResult.fieldNameForQueryType(queryType) - SessionSet::class.java -> SessionSet.fieldNameForQueryType(queryType) + Session::class.java -> Session.fieldNameForQueryType(queryCondition) + ComputableResult::class.java -> ComputableResult.fieldNameForQueryType(queryCondition) + SessionSet::class.java -> SessionSet.fieldNameForQueryType(queryCondition) else -> { throw UnmanagedFilterField("Filterable type fields are not defined for class ${T::class}") } diff --git a/app/src/main/java/net/pokeranalytics/android/model/filter/QueryType.kt b/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt similarity index 89% rename from app/src/main/java/net/pokeranalytics/android/model/filter/QueryType.kt rename to app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt index 08433ff1..8dd1c786 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/filter/QueryType.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt @@ -15,7 +15,7 @@ import java.util.* * To handle that, the enum has a public [valueMap] variable * A new type should also set the expected numericValues required in the [filterValuesExpectedKeys] */ -enum class QueryType(var subType:SubType? = null) { +enum class QueryCondition(var operator: Operator? = null) { LIVE, CASH, ONLINE, @@ -30,23 +30,23 @@ enum class QueryType(var subType:SubType? = null) { TABLE_SIZE, TOURNAMENT_TYPE, BLINDS, - MORE_NUMBER_OF_TABLE(SubType.MORE), - LESS_NUMBER_OF_TABLE(SubType.LESS), - BETWEEN_NUMBER_OF_TABLE(SubType.BETWEEN), - MORE_THAN_NET_RESULT(SubType.MORE), - LESS_THAN_NET_RESULT(SubType.LESS), - MORE_THAN_BUY_IN(SubType.MORE), - LESS_THAN_BUY_IN(SubType.LESS), - MORE_THAN_CASH_OUT(SubType.MORE), - LESS_THAN_CASH_OUT(SubType.LESS), - MORE_THAN_TIPS(SubType.MORE), - LESS_THAN_TIPS(SubType.LESS), - MORE_THAN_NUMBER_OF_PLAYER(SubType.MORE), - LESS_THAN_NUMBER_OF_PLAYER(SubType.LESS), - BETWEEN_NUMBER_OF_PLAYER(SubType.BETWEEN), - MORE_THAN_TOURNAMENT_FEE(SubType.MORE), - LESS_THAN_TOURNAMENT_FEE(SubType.LESS), - BETWEEN_TOURNAMENT_FEE(SubType.BETWEEN), + MORE_NUMBER_OF_TABLE(Operator.MORE), + LESS_NUMBER_OF_TABLE(Operator.LESS), + BETWEEN_NUMBER_OF_TABLE(Operator.BETWEEN), + MORE_THAN_NET_RESULT(Operator.MORE), + LESS_THAN_NET_RESULT(Operator.LESS), + MORE_THAN_BUY_IN(Operator.MORE), + LESS_THAN_BUY_IN(Operator.LESS), + MORE_THAN_CASH_OUT(Operator.MORE), + LESS_THAN_CASH_OUT(Operator.LESS), + MORE_THAN_TIPS(Operator.MORE), + LESS_THAN_TIPS(Operator.LESS), + MORE_THAN_NUMBER_OF_PLAYER(Operator.MORE), + LESS_THAN_NUMBER_OF_PLAYER(Operator.LESS), + BETWEEN_NUMBER_OF_PLAYER(Operator.BETWEEN), + MORE_THAN_TOURNAMENT_FEE(Operator.MORE), + LESS_THAN_TOURNAMENT_FEE(Operator.LESS), + BETWEEN_TOURNAMENT_FEE(Operator.BETWEEN), // Dates STARTED_FROM_DATE, @@ -67,7 +67,7 @@ enum class QueryType(var subType:SubType? = null) { ; - enum class SubType { + enum class Operator { BETWEEN, MORE, LESS; @@ -91,9 +91,9 @@ enum class QueryType(var subType:SubType? = null) { private val filterValuesExpectedKeys : Array? get() { - this.subType?.let { + this.operator?.let { return when (it) { - SubType.BETWEEN -> arrayOf("leftValue", "rightValue") + Operator.BETWEEN -> arrayOf("leftValue", "rightValue") else -> arrayOf("value") } } @@ -158,16 +158,16 @@ enum class QueryType(var subType:SubType? = null) { val fieldName = FilterHelper.fieldNameForQueryType(this) fieldName ?: throw PokerAnalyticsException.QueryValueMapUnknown - when (subType) { - SubType.LESS -> { + when (operator) { + Operator.LESS -> { val value: Double by valueMap return realmQuery.lessThanOrEqualTo(fieldName, value) } - SubType.MORE -> { + Operator.MORE -> { val value: Double by valueMap return realmQuery.greaterThanOrEqualTo(fieldName, value) } - SubType.BETWEEN -> { + Operator.BETWEEN -> { val leftValue: Double by valueMap val rightValue: Double by valueMap return realmQuery.between(fieldName, leftValue, rightValue) @@ -246,7 +246,7 @@ enum class QueryType(var subType:SubType? = null) { return } - this.subType?.let { subType -> + this.operator?.let { subType -> valueMap = mapOf("value" to filterCondition.value) return } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt index c84a1796..200cb9bd 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt @@ -3,7 +3,7 @@ package net.pokeranalytics.android.model.realm import io.realm.RealmObject import net.pokeranalytics.android.calculus.interfaces.Computable import net.pokeranalytics.android.model.filter.Filterable -import net.pokeranalytics.android.model.filter.QueryType +import net.pokeranalytics.android.model.filter.QueryCondition open class ComputableResult : RealmObject(), Computable, Filterable { @@ -56,8 +56,8 @@ open class ComputableResult : RealmObject(), Computable, Filterable { companion object : Filterable { - fun fieldNameForQueryType(queryType: QueryType): String? { - return "session." + Session.fieldNameForQueryType(queryType) + fun fieldNameForQueryType(queryCondition: QueryCondition): String? { + return "session." + Session.fieldNameForQueryType(queryCondition) } } 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 8c8bec76..f6613ad5 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 @@ -5,7 +5,7 @@ import io.realm.annotations.PrimaryKey import io.realm.kotlin.where import net.pokeranalytics.android.exceptions.PokerAnalyticsException import net.pokeranalytics.android.model.filter.Filterable -import net.pokeranalytics.android.model.filter.QueryType +import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategoryRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSectionRow @@ -40,7 +40,7 @@ open class Filter : RealmObject() { } @TestOnly - inline fun queryOn(realm: Realm, queries: List): RealmResults { + inline fun queryOn(realm: Realm, queries: List): RealmResults { var realmQuery = realm.where() queries.forEach { realmQuery = it.filter(realmQuery) @@ -108,7 +108,7 @@ open class Filter : RealmObject() { inline fun results(): RealmResults { var realmQuery = realm.where() this.filterConditions.map { - it.queryType + it.queryCondition }.forEach { realmQuery = it.filter(realmQuery) } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt index d3311ec6..ec4a7745 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt @@ -3,7 +3,7 @@ package net.pokeranalytics.android.model.realm import io.realm.RealmList import io.realm.RealmObject import net.pokeranalytics.android.exceptions.PokerAnalyticsException -import net.pokeranalytics.android.model.filter.QueryType +import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow.* import java.util.* @@ -17,8 +17,8 @@ open class FilterCondition() : RealmObject() { constructor(filterElementRows: ArrayList) : this(filterElementRows.first().filterName, filterElementRows.first().filterSectionRow.name) { val filterName : String = this.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName - this.stringValues = when (QueryType.valueOf(filterName)) { - QueryType.GAME, QueryType.BANKROLL, QueryType.TOURNAMENT_NAME, QueryType.ALL_TOURNAMENT_FEATURES, QueryType.ANY_TOURNAMENT_FEATURES, QueryType.LOCATION -> { + this.stringValues = when (QueryCondition.valueOf(filterName)) { + QueryCondition.GAME, QueryCondition.BANKROLL, QueryCondition.TOURNAMENT_NAME, QueryCondition.ALL_TOURNAMENT_FEATURES, QueryCondition.ANY_TOURNAMENT_FEATURES, QueryCondition.LOCATION -> { RealmList().apply { this.addAll(filterElementRows.map { (it as DataFilterElementRow).id @@ -28,36 +28,36 @@ open class FilterCondition() : RealmObject() { else -> null } - this.numericValues = when (QueryType.valueOf(filterName)) { - QueryType.LIMIT -> { + this.numericValues = when (QueryCondition.valueOf(filterName)) { + QueryCondition.LIMIT -> { RealmList().apply { this.addAll(filterElementRows.map { (it as FilterElementRow.Limit).limit.ordinal.toDouble() }) } } - QueryType.TABLE_SIZE -> { + QueryCondition.TABLE_SIZE -> { RealmList().apply { this.addAll(filterElementRows.map { (it as FilterElementRow.TableSize).tableSize.numberOfPlayer.toDouble() }) } } - QueryType.YEAR, QueryType.MONTH, QueryType.DAY_OF_WEEK -> { + QueryCondition.YEAR, QueryCondition.MONTH, QueryCondition.DAY_OF_WEEK -> { RealmList().apply { this.addAll(filterElementRows.map { (it as SingleValueFilterElementRow).value.toDouble() }) } } - QueryType.LESS_THAN_NET_RESULT -> { + QueryCondition.LESS_THAN_NET_RESULT -> { RealmList().apply { this.addAll(filterElementRows.map { (it as ResultLessThan).value }) } } - QueryType.MORE_THAN_NET_RESULT -> { + QueryCondition.MORE_THAN_NET_RESULT -> { RealmList().apply { this.addAll(filterElementRows.map { (it as ResultMoreThan).value @@ -67,8 +67,8 @@ open class FilterCondition() : RealmObject() { else -> null } - this.blindValues = when (QueryType.valueOf(filterName)) { - QueryType.BLINDS -> { + this.blindValues = when (QueryCondition.valueOf(filterName)) { + QueryCondition.BLINDS -> { RealmList().apply { this.addAll(filterElementRows.map { FilterElementBlind((it as FilterElementRow.Blind).sb, it.bb, it.code) @@ -89,8 +89,8 @@ open class FilterCondition() : RealmObject() { var filterName : String? = null var sectionName : String? = null - val queryType : QueryType - get() = QueryType.valueOf(this.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName) + val queryCondition : QueryCondition + get() = QueryCondition.valueOf(this.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName) .apply { this.updateValueMap(this@FilterCondition) } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index 88efdc2e..a2bc23e0 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -21,8 +21,8 @@ import net.pokeranalytics.android.model.TournamentType import net.pokeranalytics.android.model.extensions.SessionState import net.pokeranalytics.android.model.extensions.getState import net.pokeranalytics.android.model.filter.Filterable -import net.pokeranalytics.android.model.filter.QueryType -import net.pokeranalytics.android.model.filter.QueryType.* +import net.pokeranalytics.android.model.filter.QueryCondition +import net.pokeranalytics.android.model.filter.QueryCondition.* import net.pokeranalytics.android.model.interfaces.* import net.pokeranalytics.android.model.utils.SessionSetManager import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource @@ -61,8 +61,8 @@ open class Session : RealmObject(), Savable, Editable, StaticRowRepresentableDat return realm.copyToRealm(session) } - fun fieldNameForQueryType(queryType: QueryType): String? { - return when (queryType) { + fun fieldNameForQueryType(queryCondition: QueryCondition): String? { + return when (queryCondition) { LIVE, ONLINE -> "bankroll.live" CASH, TOURNAMENT -> "type" BANKROLL -> "bankroll.id" diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt index 416d7e01..559f51c4 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt @@ -6,7 +6,7 @@ import io.realm.RealmResults import io.realm.annotations.Ignore import io.realm.annotations.LinkingObjects import net.pokeranalytics.android.model.filter.Filterable -import net.pokeranalytics.android.model.filter.QueryType +import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.interfaces.Timed import java.util.* @@ -56,8 +56,8 @@ open class SessionSet : RealmObject(), Timed, Filterable { return realm.copyToRealm(sessionSet) } - fun fieldNameForQueryType(queryType: QueryType): String? { - return "sessions." + Session.fieldNameForQueryType(queryType) + fun fieldNameForQueryType(queryCondition: QueryCondition): String? { + return "sessions." + Session.fieldNameForQueryType(queryCondition) } } 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 7d99ca56..2a69bd62 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 @@ -3,7 +3,7 @@ package net.pokeranalytics.android.ui.view.rowrepresentable import android.content.Context import net.pokeranalytics.android.R import net.pokeranalytics.android.exceptions.PokerAnalyticsException -import net.pokeranalytics.android.model.filter.QueryType +import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.interfaces.Manageable import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.ui.view.RowRepresentable @@ -65,26 +65,26 @@ sealed class FilterElementRow : RowRepresentable { lateinit var filterSectionRow: FilterSectionRow - val filterName: String = this.queryType.name + val filterName: String = this.queryCondition.name - private val queryType: QueryType + private val queryCondition: QueryCondition get() { return when (this) { - is Cash -> QueryType.CASH - is Tournament -> QueryType.TOURNAMENT - is Blind -> QueryType.BLINDS - is From -> QueryType.STARTED_FROM_DATE - is To -> QueryType.ENDED_TO_DATE - is Month -> QueryType.MONTH - is Day -> QueryType.DAY_OF_WEEK - is Year -> QueryType.YEAR - is Live -> QueryType.LIVE - is Online -> QueryType.ONLINE - is Weekday -> QueryType.WEEK_DAY - is Weekend -> QueryType.WEEK_END + is Cash -> QueryCondition.CASH + is Tournament -> QueryCondition.TOURNAMENT + is Blind -> QueryCondition.BLINDS + is From -> QueryCondition.STARTED_FROM_DATE + is To -> QueryCondition.ENDED_TO_DATE + is Month -> QueryCondition.MONTH + is Day -> QueryCondition.DAY_OF_WEEK + is Year -> QueryCondition.YEAR + is Live -> QueryCondition.LIVE + is Online -> QueryCondition.ONLINE + is Weekday -> QueryCondition.WEEK_DAY + is Weekend -> QueryCondition.WEEK_END /* - is Today -> QueryType. + is Today -> QueryCondition. is Yesterday -> R.string.yesterday is TodayAndYesterday -> R.string.yesterday_and_today is CurrentWeek -> R.string.current_week @@ -93,16 +93,16 @@ sealed class FilterElementRow : RowRepresentable { is PastDays -> R.string.period_in_days */ - is Limit -> QueryType.LIMIT - is TableSize -> QueryType.TABLE_SIZE - is Game -> QueryType.GAME - is Bankroll -> QueryType.BANKROLL - is Location -> QueryType.LOCATION - is TournamentName -> QueryType.TOURNAMENT_NAME - is AnyTournamentFeature -> QueryType.ANY_TOURNAMENT_FEATURES - is AllTournamentFeature -> QueryType.ALL_TOURNAMENT_FEATURES - is ResultMoreThan -> QueryType.MORE_THAN_NET_RESULT - is ResultLessThan -> QueryType.LESS_THAN_NET_RESULT + is Limit -> QueryCondition.LIMIT + is TableSize -> QueryCondition.TABLE_SIZE + is Game -> QueryCondition.GAME + is Bankroll -> QueryCondition.BANKROLL + is Location -> QueryCondition.LOCATION + is TournamentName -> QueryCondition.TOURNAMENT_NAME + is AnyTournamentFeature -> QueryCondition.ANY_TOURNAMENT_FEATURES + is AllTournamentFeature -> QueryCondition.ALL_TOURNAMENT_FEATURES + is ResultMoreThan -> QueryCondition.MORE_THAN_NET_RESULT + is ResultLessThan -> QueryCondition.LESS_THAN_NET_RESULT else -> throw PokerAnalyticsException.UnknownQueryTypeForRow(this) } } From 9845193db36873b50c711e65735eaa8c13a7f988 Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 9 Apr 2019 10:29:47 +0200 Subject: [PATCH 3/3] Change duration of delete snackbar --- .../net/pokeranalytics/android/ui/fragment/DataListFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt index cd37e9d7..87c86d33 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt @@ -182,7 +182,7 @@ class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSourc */ private fun showUndoSnackBar() { val message = String.format(getString(R.string.data_deleted), this.dataType.localizedTitle(requireContext())) - val snackBar = Snackbar.make(constraintLayout, message, Snackbar.LENGTH_LONG) + val snackBar = Snackbar.make(constraintLayout, message, Snackbar.LENGTH_INDEFINITE) snackBar.setAction(R.string.cancel) { getRealm().executeTransaction { realm -> deletedItem?.let {