1818package com.lambda.config.configurations
1919
2020import com.google.gson.JsonParser
21- import com.lambda.config.DynamicConfiguration
21+ import com.lambda.config.Configuration
2222import com.lambda.config.UserAutomationConfig
2323import com.lambda.module.ModuleRegistry.moduleNameMap
2424import com.lambda.util.FileUtils.ifExists
2525import com.lambda.util.FolderRegister
2626import java.io.File
2727
28- object UserAutomationConfigs : DynamicConfiguration () {
28+ object UserAutomationConfigs : Configuration () {
2929 override val configName = " custom-automation"
3030 override val primary: File = FolderRegister .config.resolve(" ${configName} .json" ).toFile()
3131
32- override fun load (): String {
33- onPreLoad {
34- primary.ifExists {
35- JsonParser .parseReader(it.reader()).asJsonObject.entrySet().forEach { (name, _) ->
36- if (configurables.any { config -> config.name == name }) return @forEach
37- UserAutomationConfig (name)
38- }
32+ override fun internalTryLoad () {
33+ primary.ifExists {
34+ JsonParser .parseReader(it.reader()).asJsonObject.entrySet().forEach { (name, _) ->
35+ if (configurables.any { config -> config.name == name }) return @forEach
36+ UserAutomationConfig (name)
3937 }
4038 }
41-
42- onPostLoad {
43- configurables.forEach {
44- val config = it as ? UserAutomationConfig ? : throw IllegalStateException (" UserAutomationConfigs contains non-AutomationConfig" )
45- config.linkedModules.value.forEach { moduleName ->
46- moduleNameMap[moduleName]?.automationConfig = config
47- }
39+ super .internalTryLoad()
40+ configurables.forEach {
41+ val config = it as ? UserAutomationConfig ? : throw IllegalStateException (" UserAutomationConfigs contains non-AutomationConfig" )
42+ config.linkedModules.value.forEach { moduleName ->
43+ moduleNameMap[moduleName]?.automationConfig = config
4844 }
4945 }
50-
51- return super .load()
5246 }
5347}
0 commit comments