<item name='java.nio.file.FileSystem java.nio.file.Path getPath(java.lang.String, java.lang.String...)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
+ <item name='java.nio.file.Files java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption...)'>
+ <annotation name='org.jetbrains.annotations.NotNull'/>
+ </item>
<item name='java.nio.file.Files java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.nio.file.OpenOption...)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
}
catchAndLog(file.fileName.toString()) { filename ->
- file.inputStream()?.use { loadScheme(filename, it, true) }
+ file.inputStream().use { loadScheme(filename, it, true) }
}
}
}
override fun updateDigest() {
schemeToInfo.forEachEntry({ k, v ->
- if (v !== externalInfo) {
- return@forEachEntry true
- }
+ if (v !== externalInfo) {
+ return@forEachEntry true
+ }
+
+ @Suppress("UNCHECKED_CAST")
+ try {
+ externalInfo.digest = (processor.writeScheme(k as MUTABLE_SCHEME) as Element).digest()
+ }
+ catch (e: WriteExternalException) {
+ LOG.error("Cannot update digest", e)
+ }
+ false
+ })
+ }
+ }
- private fun loadScheme(fileName: CharSequence, input: InputStream, duringLoad: Boolean): E? {
+ private fun loadScheme(fileName: CharSequence, input: InputStream, duringLoad: Boolean): MUTABLE_SCHEME? {
val extension = getFileExtension(fileName, false)
if (duringLoad && filesToDelete.isNotEmpty() && filesToDelete.contains(fileName.toString())) {
LOG.warn("Scheme file \"$fileName\" is not loaded because marked to delete")