Refactoring: QueryType -> QueryCondition, SubType -> Operator

feature/top10
Laurent 7 years ago
parent db6820ccab
commit ba168fc57f
  1. 10
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/BlindFilterInstrumentedTest.kt
  2. 20
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/DateFilterInstrumentedUnitTest.kt
  3. 6
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/ExceptionFilterInstrumentedTest.kt
  4. 4
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/RealmFilterInstrumentedUnitTest.kt
  5. 42
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/SessionFilterInstrumentedUnitTest.kt
  6. 4
      app/src/main/java/net/pokeranalytics/android/exceptions/Exceptions.kt
  7. 12
      app/src/main/java/net/pokeranalytics/android/model/filter/Filterable.kt
  8. 52
      app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt
  9. 6
      app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt
  10. 6
      app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt
  11. 26
      app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt
  12. 8
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  13. 6
      app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt
  14. 52
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt

@ -1,7 +1,7 @@
package net.pokeranalytics.android.unitTests.filter package net.pokeranalytics.android.unitTests.filter
import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest 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.Bankroll
import net.pokeranalytics.android.model.realm.Filter import net.pokeranalytics.android.model.realm.Filter
import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.FilterCondition
@ -42,7 +42,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.BLINDS val filter = QueryCondition.BLINDS
val blind = FilterElementRow.Blind(0.5, 1.0, null) val blind = FilterElementRow.Blind(0.5, 1.0, null)
blind.filterSectionRow = FilterSectionRow.BLINDS blind.filterSectionRow = FilterSectionRow.BLINDS
val filterElement = FilterCondition(filterElementRows = arrayListOf(blind)) val filterElement = FilterCondition(filterElementRows = arrayListOf(blind))
@ -86,7 +86,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.BLINDS val filter = QueryCondition.BLINDS
val blind = FilterElementRow.Blind(null, 1.0, null) val blind = FilterElementRow.Blind(null, 1.0, null)
blind.filterSectionRow = FilterSectionRow.BLINDS blind.filterSectionRow = FilterSectionRow.BLINDS
@ -129,7 +129,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.BLINDS val filter = QueryCondition.BLINDS
val blind = FilterElementRow.Blind(1.0, 2.0, "AUD") val blind = FilterElementRow.Blind(1.0, 2.0, "AUD")
blind.filterSectionRow = FilterSectionRow.BLINDS blind.filterSectionRow = FilterSectionRow.BLINDS
@ -172,7 +172,7 @@ class BlindFilterInstrumentedTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.BLINDS val filter = QueryCondition.BLINDS
val blind1 = FilterElementRow.Blind(1.0, 2.0, null) val blind1 = FilterElementRow.Blind(1.0, 2.0, null)
blind1.filterSectionRow = FilterSectionRow.BLINDS blind1.filterSectionRow = FilterSectionRow.BLINDS

@ -2,7 +2,7 @@ package net.pokeranalytics.android.unitTests.filter
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest 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.Filter
import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.FilterCondition
import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Session
@ -29,7 +29,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(100.0, true, cal.time) Session.testInstance(100.0, true, cal.time)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.DAY_OF_WEEK val filter = QueryCondition.DAY_OF_WEEK
cal.time = s1.startDate cal.time = s1.startDate
val filterElementRow = FilterElementRow.Day(cal.get(Calendar.DAY_OF_WEEK)) val filterElementRow = FilterElementRow.Day(cal.get(Calendar.DAY_OF_WEEK))
@ -58,7 +58,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(100.0, true, cal.time) Session.testInstance(100.0, true, cal.time)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.MONTH val filter = QueryCondition.MONTH
cal.time = s1.startDate cal.time = s1.startDate
val filterElementRow = FilterElementRow.Month(cal.get(Calendar.MONTH)) val filterElementRow = FilterElementRow.Month(cal.get(Calendar.MONTH))
@ -87,7 +87,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(100.0, true, cal.time) Session.testInstance(100.0, true, cal.time)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.YEAR val filter = QueryCondition.YEAR
cal.time = s1.startDate cal.time = s1.startDate
val filterElementRow = FilterElementRow.Year(cal.get(Calendar.YEAR)) val filterElementRow = FilterElementRow.Year(cal.get(Calendar.YEAR))
filterElementRow.filterSectionRow = FilterSectionRow.DYNAMIC_DATE filterElementRow.filterSectionRow = FilterSectionRow.DYNAMIC_DATE
@ -117,7 +117,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(100.0, true, cal.time) Session.testInstance(100.0, true, cal.time)
realm.commitTransaction() realm.commitTransaction()
val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryType.WEEK_END)) val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryCondition.WEEK_END))
Assert.assertEquals(1, sessions.size) Assert.assertEquals(1, sessions.size)
sessions[0]?.run { sessions[0]?.run {
@ -142,7 +142,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryType.WEEK_DAY)) val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryCondition.WEEK_DAY))
Assert.assertEquals(1, sessions.size) Assert.assertEquals(1, sessions.size)
sessions[0]?.run { sessions[0]?.run {
@ -165,7 +165,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
val s2 = Session.testInstance(100.0, true, cal.time, 1) val s2 = Session.testInstance(100.0, true, cal.time, 1)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.STARTED_FROM_DATE val filter = QueryCondition.STARTED_FROM_DATE
val filterElementRow = FilterElementRow.From(s2.startDate!!) val filterElementRow = FilterElementRow.From(s2.startDate!!)
filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE
filter.updateValueMap(FilterCondition(filterElementRow)) filter.updateValueMap(FilterCondition(filterElementRow))
@ -193,7 +193,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.STARTED_TO_DATE val filter = QueryCondition.STARTED_TO_DATE
val filterElementRow = FilterElementRow.From(s1.startDate!!) val filterElementRow = FilterElementRow.From(s1.startDate!!)
filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE
filter.updateValueMap(FilterCondition(filterElementRow)) filter.updateValueMap(FilterCondition(filterElementRow))
@ -222,7 +222,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.ENDED_FROM_DATE val filter = QueryCondition.ENDED_FROM_DATE
val filterElementRow = FilterElementRow.From(s2.endDate()) val filterElementRow = FilterElementRow.From(s2.endDate())
filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE
filter.updateValueMap(FilterCondition(filterElementRow)) filter.updateValueMap(FilterCondition(filterElementRow))
@ -251,7 +251,7 @@ class DateFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.ENDED_TO_DATE val filter = QueryCondition.ENDED_TO_DATE
val filterElementRow = FilterElementRow.From(s1.endDate()) val filterElementRow = FilterElementRow.From(s1.endDate())
filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE filterElementRow.filterSectionRow = FilterSectionRow.FIXED_DATE
filter.updateValueMap(FilterCondition(filterElementRow)) filter.updateValueMap(FilterCondition(filterElementRow))

@ -3,7 +3,7 @@ package net.pokeranalytics.android.unitTests.filter
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest
import net.pokeranalytics.android.exceptions.PokerAnalyticsException 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.Filter
import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.FilterCondition
import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Session
@ -15,7 +15,7 @@ class ExceptionFilterInstrumentedTest: BaseFilterInstrumentedUnitTest() {
@Test(expected = PokerAnalyticsException.FilterElementExpectedValueMissing::class) @Test(expected = PokerAnalyticsException.FilterElementExpectedValueMissing::class)
fun testValueKeyFilterException() { fun testValueKeyFilterException() {
val filter = QueryType.STARTED_FROM_DATE val filter = QueryCondition.STARTED_FROM_DATE
val filterElement = FilterCondition() val filterElement = FilterCondition()
filter.updateValueMap(filterElement) filter.updateValueMap(filterElement)
@ -26,6 +26,6 @@ class ExceptionFilterInstrumentedTest: BaseFilterInstrumentedUnitTest() {
@Test(expected = PokerAnalyticsException.FilterElementUnknownName::class) @Test(expected = PokerAnalyticsException.FilterElementUnknownName::class)
fun testFilterException() { fun testFilterException() {
FilterCondition().queryType FilterCondition().queryCondition
} }
} }

@ -3,7 +3,7 @@ package net.pokeranalytics.android.unitTests.filter
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest
import net.pokeranalytics.android.exceptions.PokerAnalyticsException 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.Filter
import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategoryRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategoryRow
@ -38,7 +38,7 @@ class RealmFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
val filterComponent = filter.filterConditions.first() val filterComponent = filter.filterConditions.first()
filterComponent?.let { 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 { } ?: run {
Assert.fail() Assert.fail()
} }

@ -4,7 +4,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import io.realm.RealmList import io.realm.RealmList
import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest
import net.pokeranalytics.android.model.TableSize 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.model.realm.*
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSectionRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSectionRow
@ -26,7 +26,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(100.0, true, Date(), 1) Session.testInstance(100.0, true, Date(), 1)
realm.commitTransaction() realm.commitTransaction()
val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryType.CASH)) val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryCondition.CASH))
Assert.assertEquals(1, sessions.size) Assert.assertEquals(1, sessions.size)
sessions[0]?.run { sessions[0]?.run {
@ -44,7 +44,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(100.0, true, Date(), 1) Session.testInstance(100.0, true, Date(), 1)
realm.commitTransaction() realm.commitTransaction()
val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryType.TOURNAMENT)) val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryCondition.TOURNAMENT))
Assert.assertEquals(1, sessions.size) Assert.assertEquals(1, sessions.size)
sessions[0]?.run { sessions[0]?.run {
@ -67,7 +67,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(100.0, true, Date(), 1, b2) Session.testInstance(100.0, true, Date(), 1, b2)
realm.commitTransaction() realm.commitTransaction()
val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryType.LIVE)) val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryCondition.LIVE))
Assert.assertEquals(1, sessions.size) Assert.assertEquals(1, sessions.size)
(sessions[0] as Session).bankroll?.run { (sessions[0] as Session).bankroll?.run {
@ -89,7 +89,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(100.0, true, Date(), 1, b2) Session.testInstance(100.0, true, Date(), 1, b2)
realm.commitTransaction() realm.commitTransaction()
val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryType.ONLINE)) val sessions = Filter.queryOn<Session>(realm, arrayListOf(QueryCondition.ONLINE))
Assert.assertEquals(1, sessions.size) Assert.assertEquals(1, sessions.size)
(sessions[0] as Session).bankroll?.run { (sessions[0] as Session).bankroll?.run {
@ -109,7 +109,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(bankroll = b2) Session.testInstance(bankroll = b2)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.BANKROLL val filter = QueryCondition.BANKROLL
val filterElementRow = FilterElementRow.Bankroll(b1) val filterElementRow = FilterElementRow.Bankroll(b1)
filterElementRow.filterSectionRow = FilterSectionRow.BANKROLL filterElementRow.filterSectionRow = FilterSectionRow.BANKROLL
filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow)))
@ -140,7 +140,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(bankroll = b3) Session.testInstance(bankroll = b3)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.BANKROLL val filter = QueryCondition.BANKROLL
val filterElementRow = FilterElementRow.Bankroll(b1) val filterElementRow = FilterElementRow.Bankroll(b1)
filterElementRow.filterSectionRow = FilterSectionRow.BANKROLL filterElementRow.filterSectionRow = FilterSectionRow.BANKROLL
@ -169,7 +169,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(game = g2) Session.testInstance(game = g2)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.GAME val filter = QueryCondition.GAME
val filterElementRow = FilterElementRow.Game(g2) val filterElementRow = FilterElementRow.Game(g2)
filterElementRow.filterSectionRow = FilterSectionRow.GAME filterElementRow.filterSectionRow = FilterSectionRow.GAME
filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow)))
@ -200,7 +200,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(game = g3) Session.testInstance(game = g3)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.GAME val filter = QueryCondition.GAME
val filterElementRow = FilterElementRow.Game(g2) val filterElementRow = FilterElementRow.Game(g2)
filterElementRow.filterSectionRow = FilterSectionRow.GAME filterElementRow.filterSectionRow = FilterSectionRow.GAME
@ -229,7 +229,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(location = l2) Session.testInstance(location = l2)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.LOCATION val filter = QueryCondition.LOCATION
val filterElementRow = FilterElementRow.Location(l1) val filterElementRow = FilterElementRow.Location(l1)
filterElementRow.filterSectionRow = FilterSectionRow.LOCATION filterElementRow.filterSectionRow = FilterSectionRow.LOCATION
filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow)))
@ -260,7 +260,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(location = l3) Session.testInstance(location = l3)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.LOCATION val filter = QueryCondition.LOCATION
val filterElementRow = FilterElementRow.Location(l1) val filterElementRow = FilterElementRow.Location(l1)
filterElementRow.filterSectionRow = FilterSectionRow.LOCATION filterElementRow.filterSectionRow = FilterSectionRow.LOCATION
@ -290,7 +290,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(tournamentName = t2) Session.testInstance(tournamentName = t2)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.TOURNAMENT_NAME val filter = QueryCondition.TOURNAMENT_NAME
val filterElementRow = FilterElementRow.TournamentName(t1) val filterElementRow = FilterElementRow.TournamentName(t1)
filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_NAME filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_NAME
@ -322,7 +322,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(tournamentName = t3) Session.testInstance(tournamentName = t3)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.TOURNAMENT_NAME val filter = QueryCondition.TOURNAMENT_NAME
val filterElementRow = FilterElementRow.TournamentName(t1) val filterElementRow = FilterElementRow.TournamentName(t1)
filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_NAME filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_NAME
val filterElementRow2 = FilterElementRow.TournamentName(t2) val filterElementRow2 = FilterElementRow.TournamentName(t2)
@ -358,7 +358,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(tournamentFeatures = RealmList(t1)) Session.testInstance(tournamentFeatures = RealmList(t1))
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.ALL_TOURNAMENT_FEATURES val filter = QueryCondition.ALL_TOURNAMENT_FEATURES
val filterElementRow = FilterElementRow.AllTournamentFeature(t1) val filterElementRow = FilterElementRow.AllTournamentFeature(t1)
filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE
val filterElementRow2 = FilterElementRow.AllTournamentFeature(t2) val filterElementRow2 = FilterElementRow.AllTournamentFeature(t2)
@ -393,7 +393,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(tournamentFeatures = RealmList(t1)) Session.testInstance(tournamentFeatures = RealmList(t1))
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.ANY_TOURNAMENT_FEATURES val filter = QueryCondition.ANY_TOURNAMENT_FEATURES
val filterElementRow = FilterElementRow.AnyTournamentFeature(t1) val filterElementRow = FilterElementRow.AnyTournamentFeature(t1)
filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE
val filterElementRow2 = FilterElementRow.AnyTournamentFeature(t2) val filterElementRow2 = FilterElementRow.AnyTournamentFeature(t2)
@ -427,7 +427,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(tournamentFeatures = RealmList(t1)) Session.testInstance(tournamentFeatures = RealmList(t1))
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.ANY_TOURNAMENT_FEATURES val filter = QueryCondition.ANY_TOURNAMENT_FEATURES
val filterElementRow = FilterElementRow.AnyTournamentFeature(t2) val filterElementRow = FilterElementRow.AnyTournamentFeature(t2)
filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE filterElementRow.filterSectionRow = FilterSectionRow.TOURNAMENT_FEATURE
filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow))) filter.updateValueMap(FilterCondition(filterElementRows = arrayListOf(filterElementRow)))
@ -452,7 +452,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(tableSize = 10) Session.testInstance(tableSize = 10)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.TABLE_SIZE val filter = QueryCondition.TABLE_SIZE
val filterElementRow = FilterElementRow.TableSize(TableSize(2)) val filterElementRow = FilterElementRow.TableSize(TableSize(2))
filterElementRow.filterSectionRow = FilterSectionRow.TABLE_SIZE filterElementRow.filterSectionRow = FilterSectionRow.TABLE_SIZE
val filterElementRow2 = FilterElementRow.TableSize(TableSize(4)) val filterElementRow2 = FilterElementRow.TableSize(TableSize(4))
@ -479,7 +479,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
val s2 = Session.testInstance(netResult = 570.0) val s2 = Session.testInstance(netResult = 570.0)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.MORE_THAN_NET_RESULT val filter = QueryCondition.MORE_THAN_NET_RESULT
val filterElementRow = FilterElementRow.ResultMoreThan(204.0) val filterElementRow = FilterElementRow.ResultMoreThan(204.0)
filterElementRow.filterSectionRow = FilterSectionRow.VALUE filterElementRow.filterSectionRow = FilterSectionRow.VALUE
filter.updateValueMap(FilterCondition(filterElementRow)) filter.updateValueMap(FilterCondition(filterElementRow))
@ -504,7 +504,7 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(netResult = 570.0) Session.testInstance(netResult = 570.0)
realm.commitTransaction() realm.commitTransaction()
val filter = QueryType.LESS_THAN_NET_RESULT val filter = QueryCondition.LESS_THAN_NET_RESULT
val filterElementRow = FilterElementRow.ResultLessThan(540.0) val filterElementRow = FilterElementRow.ResultLessThan(540.0)
filterElementRow.filterSectionRow = FilterSectionRow.VALUE filterElementRow.filterSectionRow = FilterSectionRow.VALUE
filter.updateValueMap(FilterCondition(filterElementRow)) filter.updateValueMap(FilterCondition(filterElementRow))
@ -529,12 +529,12 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(netResult = 570.0) Session.testInstance(netResult = 570.0)
realm.commitTransaction() realm.commitTransaction()
val filterMore = QueryType.MORE_THAN_NET_RESULT val filterMore = QueryCondition.MORE_THAN_NET_RESULT
val filterElementRow = FilterElementRow.ResultMoreThan(200.0) val filterElementRow = FilterElementRow.ResultMoreThan(200.0)
filterElementRow.filterSectionRow = FilterSectionRow.VALUE filterElementRow.filterSectionRow = FilterSectionRow.VALUE
filterMore.updateValueMap(FilterCondition(filterElementRow)) filterMore.updateValueMap(FilterCondition(filterElementRow))
val filterLess = QueryType.LESS_THAN_NET_RESULT val filterLess = QueryCondition.LESS_THAN_NET_RESULT
val filterElementRow2 = FilterElementRow.ResultLessThan(400.0) val filterElementRow2 = FilterElementRow.ResultLessThan(400.0)
filterElementRow2.filterSectionRow = FilterSectionRow.VALUE filterElementRow2.filterSectionRow = FilterSectionRow.VALUE
filterLess.updateValueMap(FilterCondition(filterElementRow2)) filterLess.updateValueMap(FilterCondition(filterElementRow2))

@ -9,8 +9,8 @@ class RowRepresentableEditDescriptorException(message: String) : Exception(messa
class ConfigurationException(message: String) : Exception(message) class ConfigurationException(message: String) : Exception(message)
sealed class PokerAnalyticsException(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 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 queryType") 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 FilterMissingEntity: PokerAnalyticsException(message = "This filter has no entity initialized")
object FilterUnhandledEntity : PokerAnalyticsException(message = "This entity is not filterable") object FilterUnhandledEntity : PokerAnalyticsException(message = "This entity is not filterable")
object QueryValueMapUnknown: PokerAnalyticsException(message = "fieldName is missing") object QueryValueMapUnknown: PokerAnalyticsException(message = "fieldName is missing")

@ -41,9 +41,9 @@ class UnmanagedFilterField(message: String) : Exception(message) {
interface Filterable : RealmModel { 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 { companion object {
inline fun <reified T : Filterable> fieldNameForQueryType(queryType: QueryType): String? { inline fun <reified T : Filterable> fieldNameForQueryType(queryCondition: QueryCondition): String? {
return when (T::class.java) { return when (T::class.java) {
Session::class.java -> Session.fieldNameForQueryType(queryType) Session::class.java -> Session.fieldNameForQueryType(queryCondition)
ComputableResult::class.java -> ComputableResult.fieldNameForQueryType(queryType) ComputableResult::class.java -> ComputableResult.fieldNameForQueryType(queryCondition)
SessionSet::class.java -> SessionSet.fieldNameForQueryType(queryType) SessionSet::class.java -> SessionSet.fieldNameForQueryType(queryCondition)
else -> { else -> {
throw UnmanagedFilterField("Filterable type fields are not defined for class ${T::class}") throw UnmanagedFilterField("Filterable type fields are not defined for class ${T::class}")
} }

@ -15,7 +15,7 @@ import java.util.*
* To handle that, the enum has a public [valueMap] variable * To handle that, the enum has a public [valueMap] variable
* A new type should also set the expected numericValues required in the [filterValuesExpectedKeys] * 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, LIVE,
CASH, CASH,
ONLINE, ONLINE,
@ -30,23 +30,23 @@ enum class QueryType(var subType:SubType? = null) {
TABLE_SIZE, TABLE_SIZE,
TOURNAMENT_TYPE, TOURNAMENT_TYPE,
BLINDS, BLINDS,
MORE_NUMBER_OF_TABLE(SubType.MORE), MORE_NUMBER_OF_TABLE(Operator.MORE),
LESS_NUMBER_OF_TABLE(SubType.LESS), LESS_NUMBER_OF_TABLE(Operator.LESS),
BETWEEN_NUMBER_OF_TABLE(SubType.BETWEEN), BETWEEN_NUMBER_OF_TABLE(Operator.BETWEEN),
MORE_THAN_NET_RESULT(SubType.MORE), MORE_THAN_NET_RESULT(Operator.MORE),
LESS_THAN_NET_RESULT(SubType.LESS), LESS_THAN_NET_RESULT(Operator.LESS),
MORE_THAN_BUY_IN(SubType.MORE), MORE_THAN_BUY_IN(Operator.MORE),
LESS_THAN_BUY_IN(SubType.LESS), LESS_THAN_BUY_IN(Operator.LESS),
MORE_THAN_CASH_OUT(SubType.MORE), MORE_THAN_CASH_OUT(Operator.MORE),
LESS_THAN_CASH_OUT(SubType.LESS), LESS_THAN_CASH_OUT(Operator.LESS),
MORE_THAN_TIPS(SubType.MORE), MORE_THAN_TIPS(Operator.MORE),
LESS_THAN_TIPS(SubType.LESS), LESS_THAN_TIPS(Operator.LESS),
MORE_THAN_NUMBER_OF_PLAYER(SubType.MORE), MORE_THAN_NUMBER_OF_PLAYER(Operator.MORE),
LESS_THAN_NUMBER_OF_PLAYER(SubType.LESS), LESS_THAN_NUMBER_OF_PLAYER(Operator.LESS),
BETWEEN_NUMBER_OF_PLAYER(SubType.BETWEEN), BETWEEN_NUMBER_OF_PLAYER(Operator.BETWEEN),
MORE_THAN_TOURNAMENT_FEE(SubType.MORE), MORE_THAN_TOURNAMENT_FEE(Operator.MORE),
LESS_THAN_TOURNAMENT_FEE(SubType.LESS), LESS_THAN_TOURNAMENT_FEE(Operator.LESS),
BETWEEN_TOURNAMENT_FEE(SubType.BETWEEN), BETWEEN_TOURNAMENT_FEE(Operator.BETWEEN),
// Dates // Dates
STARTED_FROM_DATE, STARTED_FROM_DATE,
@ -67,7 +67,7 @@ enum class QueryType(var subType:SubType? = null) {
; ;
enum class SubType { enum class Operator {
BETWEEN, BETWEEN,
MORE, MORE,
LESS; LESS;
@ -91,9 +91,9 @@ enum class QueryType(var subType:SubType? = null) {
private val filterValuesExpectedKeys : Array<String>? private val filterValuesExpectedKeys : Array<String>?
get() { get() {
this.subType?.let { this.operator?.let {
return when (it) { return when (it) {
SubType.BETWEEN -> arrayOf("leftValue", "rightValue") Operator.BETWEEN -> arrayOf("leftValue", "rightValue")
else -> arrayOf("value") else -> arrayOf("value")
} }
} }
@ -158,16 +158,16 @@ enum class QueryType(var subType:SubType? = null) {
val fieldName = FilterHelper.fieldNameForQueryType<T>(this) val fieldName = FilterHelper.fieldNameForQueryType<T>(this)
fieldName ?: throw PokerAnalyticsException.QueryValueMapUnknown fieldName ?: throw PokerAnalyticsException.QueryValueMapUnknown
when (subType) { when (operator) {
SubType.LESS -> { Operator.LESS -> {
val value: Double by valueMap val value: Double by valueMap
return realmQuery.lessThanOrEqualTo(fieldName, value) return realmQuery.lessThanOrEqualTo(fieldName, value)
} }
SubType.MORE -> { Operator.MORE -> {
val value: Double by valueMap val value: Double by valueMap
return realmQuery.greaterThanOrEqualTo(fieldName, value) return realmQuery.greaterThanOrEqualTo(fieldName, value)
} }
SubType.BETWEEN -> { Operator.BETWEEN -> {
val leftValue: Double by valueMap val leftValue: Double by valueMap
val rightValue: Double by valueMap val rightValue: Double by valueMap
return realmQuery.between(fieldName, leftValue, rightValue) return realmQuery.between(fieldName, leftValue, rightValue)
@ -246,7 +246,7 @@ enum class QueryType(var subType:SubType? = null) {
return return
} }
this.subType?.let { subType -> this.operator?.let { subType ->
valueMap = mapOf("value" to filterCondition.value) valueMap = mapOf("value" to filterCondition.value)
return return
} }

@ -3,7 +3,7 @@ package net.pokeranalytics.android.model.realm
import io.realm.RealmObject import io.realm.RealmObject
import net.pokeranalytics.android.calculus.interfaces.Computable import net.pokeranalytics.android.calculus.interfaces.Computable
import net.pokeranalytics.android.model.filter.Filterable 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 { open class ComputableResult : RealmObject(), Computable, Filterable {
@ -56,8 +56,8 @@ open class ComputableResult : RealmObject(), Computable, Filterable {
companion object : Filterable { companion object : Filterable {
fun fieldNameForQueryType(queryType: QueryType): String? { fun fieldNameForQueryType(queryCondition: QueryCondition): String? {
return "session." + Session.fieldNameForQueryType(queryType) return "session." + Session.fieldNameForQueryType(queryCondition)
} }
} }

@ -5,7 +5,7 @@ import io.realm.annotations.PrimaryKey
import io.realm.kotlin.where import io.realm.kotlin.where
import net.pokeranalytics.android.exceptions.PokerAnalyticsException import net.pokeranalytics.android.exceptions.PokerAnalyticsException
import net.pokeranalytics.android.model.filter.Filterable 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.FilterCategoryRow
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSectionRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSectionRow
@ -40,7 +40,7 @@ open class Filter : RealmObject() {
} }
@TestOnly @TestOnly
inline fun <reified T : Filterable> queryOn(realm: Realm, queries: List<QueryType>): RealmResults<T> { inline fun <reified T : Filterable> queryOn(realm: Realm, queries: List<QueryCondition>): RealmResults<T> {
var realmQuery = realm.where<T>() var realmQuery = realm.where<T>()
queries.forEach { queries.forEach {
realmQuery = it.filter<T>(realmQuery) realmQuery = it.filter<T>(realmQuery)
@ -108,7 +108,7 @@ open class Filter : RealmObject() {
inline fun <reified T : Filterable> results(): RealmResults<T> { inline fun <reified T : Filterable> results(): RealmResults<T> {
var realmQuery = realm.where<T>() var realmQuery = realm.where<T>()
this.filterConditions.map { this.filterConditions.map {
it.queryType it.queryCondition
}.forEach { }.forEach {
realmQuery = it.filter(realmQuery) realmQuery = it.filter(realmQuery)
} }

@ -3,7 +3,7 @@ package net.pokeranalytics.android.model.realm
import io.realm.RealmList import io.realm.RealmList
import io.realm.RealmObject import io.realm.RealmObject
import net.pokeranalytics.android.exceptions.PokerAnalyticsException 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 net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow.* import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElementRow.*
import java.util.* import java.util.*
@ -17,8 +17,8 @@ open class FilterCondition() : RealmObject() {
constructor(filterElementRows: ArrayList<FilterElementRow>) : this(filterElementRows.first().filterName, filterElementRows.first().filterSectionRow.name) { constructor(filterElementRows: ArrayList<FilterElementRow>) : this(filterElementRows.first().filterName, filterElementRows.first().filterSectionRow.name) {
val filterName : String = this.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName val filterName : String = this.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName
this.stringValues = when (QueryType.valueOf(filterName)) { this.stringValues = when (QueryCondition.valueOf(filterName)) {
QueryType.GAME, QueryType.BANKROLL, QueryType.TOURNAMENT_NAME, QueryType.ALL_TOURNAMENT_FEATURES, QueryType.ANY_TOURNAMENT_FEATURES, QueryType.LOCATION -> { QueryCondition.GAME, QueryCondition.BANKROLL, QueryCondition.TOURNAMENT_NAME, QueryCondition.ALL_TOURNAMENT_FEATURES, QueryCondition.ANY_TOURNAMENT_FEATURES, QueryCondition.LOCATION -> {
RealmList<String>().apply { RealmList<String>().apply {
this.addAll(filterElementRows.map { this.addAll(filterElementRows.map {
(it as DataFilterElementRow).id (it as DataFilterElementRow).id
@ -28,36 +28,36 @@ open class FilterCondition() : RealmObject() {
else -> null else -> null
} }
this.numericValues = when (QueryType.valueOf(filterName)) { this.numericValues = when (QueryCondition.valueOf(filterName)) {
QueryType.LIMIT -> { QueryCondition.LIMIT -> {
RealmList<Double>().apply { RealmList<Double>().apply {
this.addAll(filterElementRows.map { this.addAll(filterElementRows.map {
(it as FilterElementRow.Limit).limit.ordinal.toDouble() (it as FilterElementRow.Limit).limit.ordinal.toDouble()
}) })
} }
} }
QueryType.TABLE_SIZE -> { QueryCondition.TABLE_SIZE -> {
RealmList<Double>().apply { RealmList<Double>().apply {
this.addAll(filterElementRows.map { this.addAll(filterElementRows.map {
(it as FilterElementRow.TableSize).tableSize.numberOfPlayer.toDouble() (it as FilterElementRow.TableSize).tableSize.numberOfPlayer.toDouble()
}) })
} }
} }
QueryType.YEAR, QueryType.MONTH, QueryType.DAY_OF_WEEK -> { QueryCondition.YEAR, QueryCondition.MONTH, QueryCondition.DAY_OF_WEEK -> {
RealmList<Double>().apply { RealmList<Double>().apply {
this.addAll(filterElementRows.map { this.addAll(filterElementRows.map {
(it as SingleValueFilterElementRow).value.toDouble() (it as SingleValueFilterElementRow).value.toDouble()
}) })
} }
} }
QueryType.LESS_THAN_NET_RESULT -> { QueryCondition.LESS_THAN_NET_RESULT -> {
RealmList<Double>().apply { RealmList<Double>().apply {
this.addAll(filterElementRows.map { this.addAll(filterElementRows.map {
(it as ResultLessThan).value (it as ResultLessThan).value
}) })
} }
} }
QueryType.MORE_THAN_NET_RESULT -> { QueryCondition.MORE_THAN_NET_RESULT -> {
RealmList<Double>().apply { RealmList<Double>().apply {
this.addAll(filterElementRows.map { this.addAll(filterElementRows.map {
(it as ResultMoreThan).value (it as ResultMoreThan).value
@ -67,8 +67,8 @@ open class FilterCondition() : RealmObject() {
else -> null else -> null
} }
this.blindValues = when (QueryType.valueOf(filterName)) { this.blindValues = when (QueryCondition.valueOf(filterName)) {
QueryType.BLINDS -> { QueryCondition.BLINDS -> {
RealmList<FilterElementBlind>().apply { RealmList<FilterElementBlind>().apply {
this.addAll(filterElementRows.map { this.addAll(filterElementRows.map {
FilterElementBlind((it as FilterElementRow.Blind).sb, it.bb, it.code) FilterElementBlind((it as FilterElementRow.Blind).sb, it.bb, it.code)
@ -89,8 +89,8 @@ open class FilterCondition() : RealmObject() {
var filterName : String? = null var filterName : String? = null
var sectionName : String? = null var sectionName : String? = null
val queryType : QueryType val queryCondition : QueryCondition
get() = QueryType.valueOf(this.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName) get() = QueryCondition.valueOf(this.filterName ?: throw PokerAnalyticsException.FilterElementUnknownName)
.apply { .apply {
this.updateValueMap(this@FilterCondition) this.updateValueMap(this@FilterCondition)
} }

@ -21,8 +21,8 @@ import net.pokeranalytics.android.model.TournamentType
import net.pokeranalytics.android.model.extensions.SessionState import net.pokeranalytics.android.model.extensions.SessionState
import net.pokeranalytics.android.model.extensions.getState import net.pokeranalytics.android.model.extensions.getState
import net.pokeranalytics.android.model.filter.Filterable 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.filter.QueryType.* import net.pokeranalytics.android.model.filter.QueryCondition.*
import net.pokeranalytics.android.model.interfaces.* import net.pokeranalytics.android.model.interfaces.*
import net.pokeranalytics.android.model.utils.SessionSetManager import net.pokeranalytics.android.model.utils.SessionSetManager
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -61,8 +61,8 @@ open class Session : RealmObject(), Savable, Editable, StaticRowRepresentableDat
return realm.copyToRealm(session) return realm.copyToRealm(session)
} }
fun fieldNameForQueryType(queryType: QueryType): String? { fun fieldNameForQueryType(queryCondition: QueryCondition): String? {
return when (queryType) { return when (queryCondition) {
LIVE, ONLINE -> "bankroll.live" LIVE, ONLINE -> "bankroll.live"
CASH, TOURNAMENT -> "type" CASH, TOURNAMENT -> "type"
BANKROLL -> "bankroll.id" BANKROLL -> "bankroll.id"

@ -6,7 +6,7 @@ import io.realm.RealmResults
import io.realm.annotations.Ignore import io.realm.annotations.Ignore
import io.realm.annotations.LinkingObjects import io.realm.annotations.LinkingObjects
import net.pokeranalytics.android.model.filter.Filterable 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 net.pokeranalytics.android.model.interfaces.Timed
import java.util.* import java.util.*
@ -56,8 +56,8 @@ open class SessionSet : RealmObject(), Timed, Filterable {
return realm.copyToRealm(sessionSet) return realm.copyToRealm(sessionSet)
} }
fun fieldNameForQueryType(queryType: QueryType): String? { fun fieldNameForQueryType(queryCondition: QueryCondition): String? {
return "sessions." + Session.fieldNameForQueryType(queryType) return "sessions." + Session.fieldNameForQueryType(queryCondition)
} }
} }

@ -3,7 +3,7 @@ package net.pokeranalytics.android.ui.view.rowrepresentable
import android.content.Context import android.content.Context
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.PokerAnalyticsException 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.interfaces.Manageable
import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.FilterCondition
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
@ -65,26 +65,26 @@ sealed class FilterElementRow : RowRepresentable {
lateinit var filterSectionRow: FilterSectionRow 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() { get() {
return when (this) { return when (this) {
is Cash -> QueryType.CASH is Cash -> QueryCondition.CASH
is Tournament -> QueryType.TOURNAMENT is Tournament -> QueryCondition.TOURNAMENT
is Blind -> QueryType.BLINDS is Blind -> QueryCondition.BLINDS
is From -> QueryType.STARTED_FROM_DATE is From -> QueryCondition.STARTED_FROM_DATE
is To -> QueryType.ENDED_TO_DATE is To -> QueryCondition.ENDED_TO_DATE
is Month -> QueryType.MONTH is Month -> QueryCondition.MONTH
is Day -> QueryType.DAY_OF_WEEK is Day -> QueryCondition.DAY_OF_WEEK
is Year -> QueryType.YEAR is Year -> QueryCondition.YEAR
is Live -> QueryType.LIVE is Live -> QueryCondition.LIVE
is Online -> QueryType.ONLINE is Online -> QueryCondition.ONLINE
is Weekday -> QueryType.WEEK_DAY is Weekday -> QueryCondition.WEEK_DAY
is Weekend -> QueryType.WEEK_END is Weekend -> QueryCondition.WEEK_END
/* /*
is Today -> QueryType. is Today -> QueryCondition.
is Yesterday -> R.string.yesterday is Yesterday -> R.string.yesterday
is TodayAndYesterday -> R.string.yesterday_and_today is TodayAndYesterday -> R.string.yesterday_and_today
is CurrentWeek -> R.string.current_week is CurrentWeek -> R.string.current_week
@ -93,16 +93,16 @@ sealed class FilterElementRow : RowRepresentable {
is PastDays -> R.string.period_in_days is PastDays -> R.string.period_in_days
*/ */
is Limit -> QueryType.LIMIT is Limit -> QueryCondition.LIMIT
is TableSize -> QueryType.TABLE_SIZE is TableSize -> QueryCondition.TABLE_SIZE
is Game -> QueryType.GAME is Game -> QueryCondition.GAME
is Bankroll -> QueryType.BANKROLL is Bankroll -> QueryCondition.BANKROLL
is Location -> QueryType.LOCATION is Location -> QueryCondition.LOCATION
is TournamentName -> QueryType.TOURNAMENT_NAME is TournamentName -> QueryCondition.TOURNAMENT_NAME
is AnyTournamentFeature -> QueryType.ANY_TOURNAMENT_FEATURES is AnyTournamentFeature -> QueryCondition.ANY_TOURNAMENT_FEATURES
is AllTournamentFeature -> QueryType.ALL_TOURNAMENT_FEATURES is AllTournamentFeature -> QueryCondition.ALL_TOURNAMENT_FEATURES
is ResultMoreThan -> QueryType.MORE_THAN_NET_RESULT is ResultMoreThan -> QueryCondition.MORE_THAN_NET_RESULT
is ResultLessThan -> QueryType.LESS_THAN_NET_RESULT is ResultLessThan -> QueryCondition.LESS_THAN_NET_RESULT
else -> throw PokerAnalyticsException.UnknownQueryTypeForRow(this) else -> throw PokerAnalyticsException.UnknownQueryTypeForRow(this)
} }
} }

Loading…
Cancel
Save