@@ -16,52 +16,52 @@ class VariableManager(
16
16
var globalVariables = globalVariables
17
17
private set
18
18
19
- private val variablesById : MutableMap <GlobalVariableId , GlobalVariable > = globalVariables.associateBy { it.id }.toMutableMap()
20
- private val variablesByKey : MutableMap <VariableKey , GlobalVariable > = globalVariables.associateBy { it.key }.toMutableMap()
21
- private val variableValuesById = mutableMapOf<String , String >()
19
+ private val globalVariablesById : MutableMap <GlobalVariableId , GlobalVariable > = globalVariables.associateBy { it.id }.toMutableMap()
20
+ private val globalVariablesByKey : MutableMap <VariableKey , GlobalVariable > = globalVariables.associateBy { it.key }.toMutableMap()
21
+ private val variableValuesByKey = mutableMapOf<VariableKey , String >()
22
22
23
23
init {
24
24
preResolvedValues.forEach { (variableKeyOrId, value) ->
25
25
val variable = getGlobalVariableByKeyOrId(variableKeyOrId) ? : return @forEach
26
- variableValuesById [variable.id ] = encodeValue(variable, value)
26
+ variableValuesByKey [variable.key ] = encodeValue(variable, value)
27
27
}
28
28
}
29
29
30
30
fun getGlobalVariableById (id : GlobalVariableId ): GlobalVariable ? =
31
- variablesById [id]
31
+ globalVariablesById [id]
32
32
33
33
fun getGlobalVariableByKey (key : VariableKey ): GlobalVariable ? =
34
- variablesByKey [key]
34
+ globalVariablesByKey [key]
35
35
36
36
fun getGlobalVariableByKeyOrId (keyOrId : VariableKeyOrId ): GlobalVariable ? =
37
- if (variablesById .containsKey(keyOrId)) {
37
+ if (globalVariablesById .containsKey(keyOrId)) {
38
38
getGlobalVariableById(keyOrId)
39
39
} else {
40
40
getGlobalVariableByKey(keyOrId)
41
41
}
42
42
43
43
fun getGlobalVariableValueById (globalVariableId : GlobalVariableId ): String? =
44
- variableValuesById[globalVariableId]
44
+ getGlobalVariableById(globalVariableId)?.key
45
+ ?.let { variableKey ->
46
+ getVariableValueByKey(variableKey)
47
+ }
45
48
46
49
fun getVariableValueByKey (variableKey : VariableKey ): String? =
47
- getGlobalVariableByKey(variableKey)?.id
48
- ?.let { variableId ->
49
- getGlobalVariableValueById(variableId)
50
- }
50
+ variableValuesByKey[variableKey]
51
51
52
52
fun getVariableValueByKeyOrId (variableKeyOrId : VariableKeyOrId ): String? =
53
- getGlobalVariableByKeyOrId(variableKeyOrId)?.id
54
- ?.let { variableId ->
55
- getGlobalVariableValueById(variableId )
53
+ getGlobalVariableByKeyOrId(variableKeyOrId)?.key
54
+ ?.let { variableKey ->
55
+ getVariableValueByKey(variableKey )
56
56
}
57
57
58
58
fun setGlobalVariableValue (variable : GlobalVariable , value : String , storeOnly : Boolean = false) {
59
59
val newVariable = variable.copy(value = value)
60
60
this @VariableManager.globalVariables = this @VariableManager.globalVariables.map { if (it.id == variable.id) newVariable else it }
61
- variablesById [variable.id] = newVariable
62
- variablesByKey [variable.key] = newVariable
61
+ globalVariablesById [variable.id] = newVariable
62
+ globalVariablesByKey [variable.key] = newVariable
63
63
if (! storeOnly) {
64
- variableValuesById [variable.id ] = encodeValue(variable, value)
64
+ variableValuesByKey [variable.key ] = encodeValue(variable, value)
65
65
}
66
66
}
67
67
@@ -73,29 +73,27 @@ class VariableManager(
73
73
}
74
74
75
75
fun getVariableValuesByIds (): Map <GlobalVariableId , String > =
76
- variableValuesById
77
-
78
- fun getVariableValuesByKeys (): Map <VariableKey , String > =
79
- variableValuesById
76
+ variableValuesByKey
80
77
.mapKeys { entry ->
81
- getGlobalVariableById (entry.key)!! .key
78
+ getGlobalVariableByKey (entry.key)!! .id
82
79
}
83
80
84
- fun isResolved (globalVariableId : GlobalVariableId ): Boolean =
85
- variableValuesById.containsKey(globalVariableId)
81
+ fun getVariableValuesByKeys (): Map <VariableKey , String > =
82
+ variableValuesByKey
83
+
84
+ fun isResolved (variableKey : VariableKey ): Boolean =
85
+ variableValuesByKey.containsKey(variableKey)
86
86
87
- companion object {
88
- internal fun encodeValue (variable : GlobalVariable , value : String ) =
89
- value
90
- .runIf(variable.jsonEncode) {
91
- JSONObject .quote(this ).drop(1 ).dropLast(1 )
92
- }
93
- .runIf(variable.urlEncode) {
94
- try {
95
- URLEncoder .encode(this , " utf-8" )
96
- } catch (_: UnsupportedEncodingException ) {
97
- this
98
- }
87
+ private fun encodeValue (variable : GlobalVariable , value : String ) =
88
+ value
89
+ .runIf(variable.jsonEncode) {
90
+ JSONObject .quote(this ).drop(1 ).dropLast(1 )
91
+ }
92
+ .runIf(variable.urlEncode) {
93
+ try {
94
+ URLEncoder .encode(this , " utf-8" )
95
+ } catch (_: UnsupportedEncodingException ) {
96
+ this
99
97
}
100
- }
98
+ }
101
99
}
0 commit comments