+++ /dev/null
-<component name="ArtifactManager">
- <artifact type="jar" name="map-viewer-js">
- <output-path>$PROJECT_DIR$/map-viewer/build/libs</output-path>
- <root id="archive" name="map-viewer-js.jar">
- <element id="module-output" name="factbooks.map-viewer.jsMain" />
- </root>
- </artifact>
-</component>
\ No newline at end of file
<component name="PWA">
<option name="wasEnabledAtLeastOnce" value="true" />
</component>
- <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="RustProjectSettings">
import io.ktor.util.*
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
+import java.util.concurrent.ConcurrentHashMap
@Serializable
data class NationData(
val ApplicationCall.nationCache: MutableMap<Id<NationData>, NationData>
get() = attributes.getOrNull(CallNationCacheAttribute)
- ?: mutableMapOf<Id<NationData>, NationData>().also { cache ->
+ ?: ConcurrentHashMap<Id<NationData>, NationData>().also { cache ->
attributes.put(CallNationCacheAttribute, cache)
}
import java.io.File
import java.io.Writer
import java.security.MessageDigest
+import java.util.concurrent.ConcurrentHashMap
import javax.script.Compilable
import javax.script.CompiledScript
import javax.script.ScriptEngineManager
object PreParserFunctions {
private val scriptEngine = ThreadLocal.withInitial { ScriptEngineManager().getEngineByExtension("groovy") }
private val hasher = ThreadLocal.withInitial { MessageDigest.getInstance("SHA-256") }
- private val cache = mutableMapOf<String, CompiledScript>()
+ private val cache = ConcurrentHashMap<String, CompiledScript>()
private fun loadFunction(name: String): Mustache.Lambda {
val scriptFile = File(Configuration.CurrentConfiguration.scriptDir).combineSafe("$name.groovy")