Skip to content

Commit 2c61581

Browse files
committed
plug in more
1 parent 66dcb47 commit 2c61581

13 files changed

+49
-81
lines changed

src/main/kotlin/dartzee/screen/game/DartsGamePanel.kt

+3-5
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import dartzee.listener.DartboardListener
2424
import dartzee.`object`.ComputedPoint
2525
import dartzee.`object`.Dart
2626
import dartzee.`object`.SegmentType
27+
import dartzee.preferences.Preferences
2728
import dartzee.screen.GameplayDartboard
2829
import dartzee.screen.game.dartzee.DartzeeRuleCarousel
2930
import dartzee.screen.game.dartzee.DartzeeRuleSummaryPanel
@@ -34,8 +35,7 @@ import dartzee.screen.game.scorer.AbstractDartsScorer
3435
import dartzee.screen.game.x01.GamePanelX01
3536
import dartzee.utils.InjectedThings
3637
import dartzee.utils.InjectedThings.mainDatabase
37-
import dartzee.utils.PREFERENCES_INT_AI_SPEED
38-
import dartzee.utils.PreferenceUtil
38+
import dartzee.utils.InjectedThings.preferenceService
3939
import dartzee.utils.ResourceCache.ICON_STATS_LARGE
4040
import dartzee.utils.getColourWrapperFromPrefs
4141
import dartzee.utils.getQuotedIdStr
@@ -227,9 +227,7 @@ abstract class DartsGamePanel<
227227

228228
private fun initForAi(hasAi: Boolean) {
229229
btnSlider.isVisible = hasAi
230-
231-
val defaultSpd = PreferenceUtil.getIntValue(PREFERENCES_INT_AI_SPEED)
232-
slider.value = defaultSpd
230+
slider.value = preferenceService.get(Preferences.aiSpeed)
233231
}
234232

235233
protected fun makeGameTitle(): String {

src/main/kotlin/dartzee/screen/game/GamePanelPausable.kt

+3-4
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package dartzee.screen.game
33
import dartzee.core.util.getSqlDateNow
44
import dartzee.db.GameEntity
55
import dartzee.game.state.AbstractPlayerState
6+
import dartzee.preferences.Preferences
67
import dartzee.screen.game.scorer.AbstractDartsScorerPausable
7-
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
8-
import dartzee.utils.PreferenceUtil
8+
import dartzee.utils.InjectedThings.preferenceService
99
import javax.swing.SwingUtilities
1010

1111
abstract class GamePanelPausable<
@@ -74,8 +74,7 @@ abstract class GamePanelPausable<
7474
// automatically play on.
7575
updateActivePlayer()
7676
if (
77-
!getCurrentPlayerState().isHuman() &&
78-
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)
77+
!getCurrentPlayerState().isHuman() && preferenceService.get(Preferences.aiAutoContinue)
7978
) {
8079
getCurrentScorer().toggleResume()
8180
}

src/main/kotlin/dartzee/screen/preference/PreferencesPanelMisc.kt

+9-15
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@ import dartzee.core.bean.NumberField
55
import dartzee.core.util.setFontSize
66
import dartzee.preferences.Preferences
77
import dartzee.utils.InjectedThings.preferenceService
8-
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
9-
import dartzee.utils.PREFERENCES_INT_AI_SPEED
10-
import dartzee.utils.PREFERENCES_INT_LEADERBOARD_SIZE
11-
import dartzee.utils.PreferenceUtil
128
import java.awt.BorderLayout
139
import java.awt.event.ActionEvent
1410
import java.awt.event.ActionListener
@@ -62,11 +58,10 @@ class PreferencesPanelMisc :
6258
}
6359

6460
override fun refreshImpl(useDefaults: Boolean) {
65-
slider.value = PreferenceUtil.getIntValue(PREFERENCES_INT_AI_SPEED, useDefaults)
66-
nfLeaderboardSize.value =
67-
PreferenceUtil.getIntValue(PREFERENCES_INT_LEADERBOARD_SIZE, useDefaults)
61+
slider.value = preferenceService.get(Preferences.aiSpeed, useDefaults)
62+
nfLeaderboardSize.value = preferenceService.get(Preferences.leaderboardSize, useDefaults)
6863
chckbxAiAutomaticallyFinish.isSelected =
69-
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, useDefaults)
64+
preferenceService.get(Preferences.aiAutoContinue, useDefaults)
7065
chckbxCheckForUpdates.isSelected =
7166
preferenceService.get(Preferences.checkForUpdates, useDefaults)
7267
chckbxShowAnimations.isSelected =
@@ -75,13 +70,13 @@ class PreferencesPanelMisc :
7570

7671
override fun saveImpl() {
7772
val aiSpd = slider.value
78-
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, aiSpd)
73+
preferenceService.save(Preferences.aiSpeed, aiSpd)
7974

8075
val leaderboardSize = nfLeaderboardSize.getNumber()
81-
PreferenceUtil.saveInt(PREFERENCES_INT_LEADERBOARD_SIZE, leaderboardSize)
76+
preferenceService.save(Preferences.leaderboardSize, leaderboardSize)
8277

8378
val aiAuto = chckbxAiAutomaticallyFinish.isSelected
84-
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, aiAuto)
79+
preferenceService.save(Preferences.aiAutoContinue, aiAuto)
8580

8681
val checkForUpdates = chckbxCheckForUpdates.isSelected
8782
preferenceService.save(Preferences.checkForUpdates, checkForUpdates)
@@ -91,11 +86,10 @@ class PreferencesPanelMisc :
9186
}
9287

9388
override fun hasOutstandingChanges() =
94-
slider.value != PreferenceUtil.getIntValue(PREFERENCES_INT_AI_SPEED) ||
95-
nfLeaderboardSize.value !=
96-
PreferenceUtil.getIntValue(PREFERENCES_INT_LEADERBOARD_SIZE) ||
89+
slider.value != preferenceService.get(Preferences.aiSpeed) ||
90+
nfLeaderboardSize.value != preferenceService.get(Preferences.leaderboardSize) ||
9791
chckbxAiAutomaticallyFinish.isSelected !=
98-
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE) ||
92+
preferenceService.get(Preferences.aiAutoContinue) ||
9993
chckbxCheckForUpdates.isSelected !=
10094
preferenceService.get(Preferences.checkForUpdates) ||
10195
chckbxShowAnimations.isSelected != preferenceService.get(Preferences.showAnimations)

src/main/kotlin/dartzee/screen/stats/overall/LeaderboardTopX01Finishes.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package dartzee.screen.stats.overall
33
import dartzee.bean.ScrollTableDartsGame
44
import dartzee.core.util.TableUtil
55
import dartzee.db.PlayerEntity
6+
import dartzee.preferences.Preferences
7+
import dartzee.utils.InjectedThings
68
import dartzee.utils.InjectedThings.mainDatabase
7-
import dartzee.utils.PREFERENCES_INT_LEADERBOARD_SIZE
8-
import dartzee.utils.PreferenceUtil
99
import java.awt.BorderLayout
1010
import javax.swing.JPanel
1111

@@ -44,7 +44,7 @@ class LeaderboardTopX01Finishes : AbstractLeaderboard() {
4444

4545
private fun retrieveDatabaseRowsForLeaderboard(): List<Array<Any>> {
4646
val extraWhereSql = panelPlayerFilters.getWhereSql()
47-
val leaderboardSize = PreferenceUtil.getIntValue(PREFERENCES_INT_LEADERBOARD_SIZE)
47+
val leaderboardSize = InjectedThings.preferenceService.get(Preferences.leaderboardSize)
4848

4949
val sb = StringBuilder()
5050
sb.append(" SELECT p.Strategy, p.Name, g.LocalId, xf.Finish")

src/main/kotlin/dartzee/screen/stats/overall/LeaderboardTotalScore.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import dartzee.core.util.TableUtil
66
import dartzee.core.util.sortedBy
77
import dartzee.db.PlayerEntity
88
import dartzee.game.GameType
9+
import dartzee.preferences.Preferences
910
import dartzee.utils.InjectedThings.mainDatabase
1011
import dartzee.utils.InjectedThings.partyMode
11-
import dartzee.utils.PREFERENCES_INT_LEADERBOARD_SIZE
12-
import dartzee.utils.PreferenceUtil
12+
import dartzee.utils.InjectedThings.preferenceService
1313
import dartzee.utils.combinePlayerFlags
1414
import dartzee.utils.doesHighestWin
1515
import dartzee.utils.getFilterPanel
@@ -100,7 +100,7 @@ class LeaderboardTotalScore(private val gameType: GameType, gameParams: String?
100100
val sorted =
101101
(individuals + teams)
102102
.sortedBy(descending) { it.score }
103-
.take(PreferenceUtil.getIntValue(PREFERENCES_INT_LEADERBOARD_SIZE))
103+
.take(preferenceService.get(Preferences.leaderboardSize))
104104
return getRankedRowsForTable(sorted)
105105
}
106106

@@ -179,7 +179,7 @@ class LeaderboardTotalScore(private val gameType: GameType, gameParams: String?
179179
}
180180

181181
private fun appendOrderBy(sb: StringBuilder, tableAlias: String) {
182-
val leaderboardSize = PreferenceUtil.getIntValue(PREFERENCES_INT_LEADERBOARD_SIZE)
182+
val leaderboardSize = preferenceService.get(Preferences.leaderboardSize)
183183
val orderStr = if (doesHighestWin(gameType) == rdbtnWorst.isSelected) "ASC" else "DESC"
184184
sb.append(" ORDER BY $tableAlias.FinalScore $orderStr")
185185
sb.append(" FETCH FIRST $leaderboardSize ROWS ONLY")

src/main/kotlin/dartzee/utils/RegistryConstants.kt

-5
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@ val PREFERENCES_STRING_EVEN_SINGLE_COLOUR = "evensing;$DARTBOARD_BLACK_STR"
1616
val PREFERENCES_STRING_EVEN_DOUBLE_COLOUR = "evendoub;$DARTBOARD_RED_STR"
1717
val PREFERENCES_STRING_EVEN_TREBLE_COLOUR = "eventreb;$DARTBOARD_RED_STR"
1818

19-
const val PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE = "aiauto;true"
20-
21-
const val PREFERENCES_INT_AI_SPEED = "aispd;1000"
22-
const val PREFERENCES_INT_LEADERBOARD_SIZE = "ldbrdsz;50"
23-
2419
const val PREFERENCES_DOUBLE_HUE_FACTOR = "huefactor;0.8"
2520
const val PREFERENCES_DOUBLE_FG_BRIGHTNESS = "fgbri;0.5"
2621
const val PREFERENCES_DOUBLE_BG_BRIGHTNESS = "bgbri;1"
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,17 @@
11
package dartzee.e2e
22

3-
import dartzee.helper.AbstractRegistryTest
3+
import dartzee.helper.AbstractTest
44
import dartzee.preferences.Preferences
55
import dartzee.utils.InjectedThings.preferenceService
6-
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
7-
import dartzee.utils.PREFERENCES_INT_AI_SPEED
8-
import dartzee.utils.PreferenceUtil
96
import org.junit.jupiter.api.BeforeEach
107
import org.junit.jupiter.api.Tag
118

129
@Tag("e2e")
13-
open class AbstractE2ETest : AbstractRegistryTest() {
14-
override fun getPreferencesAffected() =
15-
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)
16-
10+
open class AbstractE2ETest : AbstractTest() {
1711
@BeforeEach
1812
open fun beforeEach() {
19-
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 50)
20-
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, true)
13+
preferenceService.save(Preferences.aiSpeed, 50)
14+
preferenceService.save(Preferences.aiAutoContinue, true)
2115
preferenceService.save(Preferences.showAnimations, false)
2216
}
2317
}

src/test/kotlin/dartzee/e2e/TestGameLoadE2E.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import dartzee.helper.DEFAULT_X01_CONFIG
1111
import dartzee.helper.retrieveGame
1212
import dartzee.helper.retrieveParticipant
1313
import dartzee.`object`.Dart
14+
import dartzee.preferences.Preferences
1415
import dartzee.screen.ScreenCache
1516
import dartzee.screen.game.AbstractDartsGameScreen
16-
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
17-
import dartzee.utils.PreferenceUtil
17+
import dartzee.utils.InjectedThings
1818
import io.kotest.matchers.collections.shouldContainExactly
1919
import io.kotest.matchers.shouldBe
2020
import io.kotest.matchers.shouldNotBe
@@ -26,7 +26,7 @@ class TestGameLoadE2E : AbstractE2ETest() {
2626
@BeforeEach
2727
override fun beforeEach() {
2828
super.beforeEach()
29-
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, false)
29+
InjectedThings.preferenceService.save(Preferences.aiAutoContinue, false)
3030
}
3131

3232
@Test

src/test/kotlin/dartzee/e2e/TestMatchE2E.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ import dartzee.game.X01Config
1515
import dartzee.helper.DEFAULT_X01_CONFIG
1616
import dartzee.helper.insertDartsMatch
1717
import dartzee.helper.retrieveDartsMatch
18+
import dartzee.preferences.Preferences
1819
import dartzee.screen.ScreenCache
1920
import dartzee.screen.game.MatchSummaryPanel
2021
import dartzee.screen.game.scorer.MatchScorer
2122
import dartzee.screen.game.x01.X01MatchScreen
22-
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
23-
import dartzee.utils.PreferenceUtil
23+
import dartzee.utils.InjectedThings
2424
import io.kotest.matchers.collections.shouldContain
2525
import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder
2626
import io.kotest.matchers.shouldBe
@@ -33,7 +33,7 @@ class TestMatchE2E : AbstractE2ETest() {
3333
@BeforeEach
3434
override fun beforeEach() {
3535
super.beforeEach()
36-
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, false)
36+
InjectedThings.preferenceService.save(Preferences.aiAutoContinue, false)
3737
}
3838

3939
@Test

src/test/kotlin/dartzee/screen/preference/AbstractPreferencePanelTest.kt

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ abstract class AbstractPreferencePanelTest<T : AbstractPreferencesPanel> : Abstr
2424
val panel = factory()
2525

2626
setUiFieldValuesToNonDefaults(panel)
27+
panel.clickChild<JButton>(text = "Apply")
2728

2829
panel.refresh(true)
2930

src/test/kotlin/dartzee/screen/preference/TestPreferencesPanelMisc.kt

+4-12
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,11 @@ package dartzee.screen.preference
33
import com.github.alyssaburlton.swingtest.uncheck
44
import dartzee.preferences.Preferences
55
import dartzee.utils.InjectedThings.preferenceService
6-
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
7-
import dartzee.utils.PREFERENCES_INT_AI_SPEED
8-
import dartzee.utils.PREFERENCES_INT_LEADERBOARD_SIZE
9-
import dartzee.utils.PreferenceUtil
106
import io.kotest.matchers.shouldBe
117

128
class TestPreferencesPanelMisc : AbstractPreferencePanelTest<PreferencesPanelMisc>() {
139
override fun getPreferencesAffected(): MutableList<String> {
14-
return mutableListOf(
15-
PREFERENCES_INT_AI_SPEED,
16-
PREFERENCES_INT_LEADERBOARD_SIZE,
17-
PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
18-
)
10+
return mutableListOf()
1911
}
2012

2113
override fun factory() = PreferencesPanelMisc()
@@ -38,9 +30,9 @@ class TestPreferencesPanelMisc : AbstractPreferencePanelTest<PreferencesPanelMis
3830
}
3931

4032
override fun checkPreferencesAreSetToNonDefaults() {
41-
PreferenceUtil.getIntValue(PREFERENCES_INT_AI_SPEED) shouldBe 20
42-
PreferenceUtil.getIntValue(PREFERENCES_INT_LEADERBOARD_SIZE) shouldBe 100
43-
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE) shouldBe false
33+
preferenceService.get(Preferences.aiSpeed) shouldBe 20
34+
preferenceService.get(Preferences.leaderboardSize) shouldBe 100
35+
preferenceService.get(Preferences.aiAutoContinue) shouldBe false
4436
preferenceService.get(Preferences.checkForUpdates) shouldBe false
4537
preferenceService.get(Preferences.showAnimations) shouldBe false
4638
}

src/test/kotlin/dartzee/screen/stats/overall/TestLeaderboardTopX01Finishes.kt

+6-8
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,16 @@ package dartzee.screen.stats.overall
22

33
import com.github.alyssaburlton.swingtest.getChild
44
import dartzee.core.bean.ScrollTable
5-
import dartzee.helper.AbstractRegistryTest
5+
import dartzee.helper.AbstractTest
66
import dartzee.helper.insertFinishForPlayer
77
import dartzee.helper.insertPlayer
8-
import dartzee.utils.PREFERENCES_INT_LEADERBOARD_SIZE
9-
import dartzee.utils.PreferenceUtil
8+
import dartzee.preferences.Preferences
9+
import dartzee.utils.InjectedThings.preferenceService
1010
import io.kotest.matchers.shouldBe
1111
import java.sql.Timestamp
1212
import org.junit.jupiter.api.Test
1313

14-
class TestLeaderboardTopX01Finishes : AbstractRegistryTest() {
15-
override fun getPreferencesAffected() = listOf(PREFERENCES_INT_LEADERBOARD_SIZE)
16-
14+
class TestLeaderboardTopX01Finishes : AbstractTest() {
1715
@Test
1816
fun `Should get the correct local game ids`() {
1917
val p = insertPlayer()
@@ -30,7 +28,7 @@ class TestLeaderboardTopX01Finishes : AbstractRegistryTest() {
3028

3129
@Test
3230
fun `Should respect the preference value for the number of rows to be returned`() {
33-
PreferenceUtil.saveInt(PREFERENCES_INT_LEADERBOARD_SIZE, 2)
31+
preferenceService.save(Preferences.leaderboardSize, 2)
3432

3533
val p = insertPlayer()
3634

@@ -45,7 +43,7 @@ class TestLeaderboardTopX01Finishes : AbstractRegistryTest() {
4543
leaderboard.getScoreAt(0) shouldBe 150
4644
leaderboard.getScoreAt(1) shouldBe 100
4745

48-
PreferenceUtil.saveInt(PREFERENCES_INT_LEADERBOARD_SIZE, 3)
46+
preferenceService.save(Preferences.leaderboardSize, 3)
4947
leaderboard.buildTable()
5048

5149
leaderboard.rowCount() shouldBe 3

src/test/kotlin/dartzee/screen/stats/overall/TestLeaderboardTotalScore.kt

+6-9
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,18 @@ import dartzee.game.FinishType
1414
import dartzee.game.GameType
1515
import dartzee.game.RoundTheClockConfig
1616
import dartzee.game.X01Config
17-
import dartzee.helper.AbstractRegistryTest
17+
import dartzee.helper.AbstractTest
1818
import dartzee.helper.insertFinishedParticipant
1919
import dartzee.helper.insertFinishedTeam
20+
import dartzee.preferences.Preferences
2021
import dartzee.utils.InjectedThings
21-
import dartzee.utils.PREFERENCES_INT_LEADERBOARD_SIZE
22-
import dartzee.utils.PreferenceUtil
22+
import dartzee.utils.InjectedThings.preferenceService
2323
import io.kotest.matchers.shouldBe
2424
import javax.swing.JCheckBox
2525
import javax.swing.JRadioButton
2626
import org.junit.jupiter.api.Test
2727

28-
class TestLeaderboardTotalScore : AbstractRegistryTest() {
29-
30-
override fun getPreferencesAffected() = listOf(PREFERENCES_INT_LEADERBOARD_SIZE)
31-
28+
class TestLeaderboardTotalScore : AbstractTest() {
3229
@Test
3330
fun `should extract the right data into rows`() {
3431
val gAlice = insertFinishedParticipant("Alice", GameType.X01, 50)
@@ -97,7 +94,7 @@ class TestLeaderboardTotalScore : AbstractRegistryTest() {
9794

9895
@Test
9996
fun `Should correctly sort and limit teams and individuals`() {
100-
PreferenceUtil.saveInt(PREFERENCES_INT_LEADERBOARD_SIZE, 2)
97+
preferenceService.save(Preferences.leaderboardSize, 2)
10198

10299
insertFinishedParticipant("Alice", GameType.X01, 35)
103100
insertFinishedParticipant("Bob", GameType.X01, 53)
@@ -127,7 +124,7 @@ class TestLeaderboardTotalScore : AbstractRegistryTest() {
127124

128125
@Test
129126
fun `Should sort correctly based on game type and selection`() {
130-
PreferenceUtil.saveInt(PREFERENCES_INT_LEADERBOARD_SIZE, 2)
127+
preferenceService.save(Preferences.leaderboardSize, 2)
131128

132129
insertFinishedParticipant("Alice", GameType.DARTZEE, 72, gameParams = "")
133130
insertFinishedParticipant("Bob", GameType.DARTZEE, 54, gameParams = "")

0 commit comments

Comments
 (0)