libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit dbc50c207e902de55da826eb81c60d233457bc7f
parent d6550a22c870c312b8d57cedf1688ae373e9dadf
Author: Antoine A <>
Date:   Sat,  6 Dec 2025 17:10:28 +0100

common: fix inline-matching

Diffstat:
Mlibeufin-common/src/main/kotlin/TalerConfig.kt | 14++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/libeufin-common/src/main/kotlin/TalerConfig.kt b/libeufin-common/src/main/kotlin/TalerConfig.kt @@ -22,10 +22,7 @@ package tech.libeufin.common import kotlinx.serialization.json.Json import org.slf4j.Logger import org.slf4j.LoggerFactory -import java.nio.file.AccessDeniedException -import java.nio.file.NoSuchFileException -import java.nio.file.NotDirectoryException -import java.nio.file.Path +import java.nio.file.* import java.time.* import java.time.format.* import java.time.temporal.ChronoUnit @@ -221,10 +218,11 @@ private class ConfigLoader( "inline" -> loadFromFile(source.resolveSibling(directiveArg), recursionDepth, lineNum) "inline-matching" -> { try { - source.parent.useDirectoryEntries(directiveArg) { - for (entry in it) { - loadFromFile(entry, recursionDepth, lineNum) - } + val pathMatcher = FileSystems.getDefault().getPathMatcher("glob:$directiveArg") + val entries = source.parent.walk() + .filter { pathMatcher.matches(source.parent.relativize(it)) } + for (entry in entries) { + loadFromFile(entry, recursionDepth, lineNum) } } catch (e: Exception) { when (e) {