Fixes issue in CSV import

perftest
Laurent 3 years ago
parent bd2c17909b
commit c95ab684d8
  1. 4
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  2. 2
      app/src/main/java/net/pokeranalytics/android/model/utils/SessionSetManager.kt
  3. 19
      app/src/main/java/net/pokeranalytics/android/util/csv/PACSVDescriptor.kt

@ -69,9 +69,7 @@ open class Session : RealmObject(), Savable, RowUpdatable, RowRepresentable, Tim
fun newInstance(realm: Realm, isTournament: Boolean, bankroll: Bankroll? = null): Session { fun newInstance(realm: Realm, isTournament: Boolean, bankroll: Bankroll? = null): Session {
val session = Session() val session = Session()
val result = Result() session.result = Result()
// result.inverseSession = WeakReference(session)
session.result = result
if (bankroll != null) { if (bankroll != null) {
session.bankroll = realm.copyFromRealm(bankroll) session.bankroll = realm.copyFromRealm(bankroll)

@ -59,8 +59,6 @@ object SessionSetManager {
private fun processSessions(realm: Realm, sessionIds: List<String>) { private fun processSessions(realm: Realm, sessionIds: List<String>) {
Timber.d("PROCESS SESSIONS")
for (sessionId in sessionIds) { for (sessionId in sessionIds) {
realm.findById<Session>(sessionId)?.let { session -> realm.findById<Session>(sessionId)?.let { session ->
if (session.startDate != null && session.endDate != null) { if (session.startDate != null && session.endDate != null) {

@ -1,6 +1,7 @@
package net.pokeranalytics.android.util.csv package net.pokeranalytics.android.util.csv
import io.realm.Realm import io.realm.Realm
import io.realm.kotlin.where
import net.pokeranalytics.android.exceptions.PAIllegalStateException import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.model.Limit import net.pokeranalytics.android.model.Limit
import net.pokeranalytics.android.model.TableSize import net.pokeranalytics.android.model.TableSize
@ -21,15 +22,15 @@ import java.text.SimpleDateFormat
import java.util.* import java.util.*
abstract class PACSVDescriptor<T : Identifiable>(source: DataSource, abstract class PACSVDescriptor<T : Identifiable>(source: DataSource,
private var isTournament: Boolean?, private var isTournament: Boolean?,
vararg elements: CSVField) vararg elements: CSVField)
: DataCSVDescriptor<T>(source, *elements) { : DataCSVDescriptor<T>(source, *elements) {
var noSessionImport: Boolean = false private var noSessionImport: Boolean = false
init { init {
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
this.noSessionImport = realm.count(Session::class.java) == 0L this.noSessionImport = realm.count(Session::class.java) == 0L
realm.close() realm.close()
} }
@ -39,13 +40,20 @@ abstract class PACSVDescriptor<T : Identifiable>(source: DataSource,
private var dateFormat: DateFormat? = null private var dateFormat: DateFormat? = null
private fun newSession(isTournament: Boolean): Session {
val session = Session()
session.result = Result()
session.type = if (isTournament) Session.Type.TOURNAMENT.ordinal else Session.Type.CASH_GAME.ordinal
return session
}
/** /**
* Parses a [record] and return an optional Session * Parses a [record] and return an optional Session
*/ */
protected fun parseSession(realm: Realm, record: CSVRecord): Session? { protected fun parseSession(realm: Realm, record: CSVRecord): Session? {
val isTournament = isTournament ?: false val isTournament = isTournament ?: false
val session = Session.newInstance(realm, isTournament) val session = this.newSession(isTournament) // Session.newInstance(realm, isTournament)
var startDate: Date? = null var startDate: Date? = null
var endDate: Date? = null var endDate: Date? = null
@ -277,7 +285,6 @@ abstract class PACSVDescriptor<T : Identifiable>(source: DataSource,
} }
managedSession.preCompute() managedSession.preCompute()
return managedSession return managedSession
} else { } else {
Timber.d("Session already exists(count=$count): sd=$startDate, ed=$endDate, net=$net") Timber.d("Session already exists(count=$count): sd=$startDate, ed=$endDate, net=$net")

Loading…
Cancel
Save