From fb83864eb9ccfb2248573d2e8d22313cc221a78c Mon Sep 17 00:00:00 2001 From: Wouter Born Date: Tue, 22 Sep 2020 08:20:11 +0200 Subject: [PATCH] Fix transformation file path with locale specific files (#1661) The path is incorrect because a bug was introduced in #1650. This results in the MapTransformationServiceTest failing so it was disabled in openhab/openhab-addons#8519. Signed-off-by: Wouter Born --- .../core/transform/AbstractFileTransformationService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bundles/org.openhab.core.transform/src/main/java/org/openhab/core/transform/AbstractFileTransformationService.java b/bundles/org.openhab.core.transform/src/main/java/org/openhab/core/transform/AbstractFileTransformationService.java index f190dca0f5..2f45d6a252 100644 --- a/bundles/org.openhab.core.transform/src/main/java/org/openhab/core/transform/AbstractFileTransformationService.java +++ b/bundles/org.openhab.core.transform/src/main/java/org/openhab/core/transform/AbstractFileTransformationService.java @@ -266,17 +266,19 @@ public abstract class AbstractFileTransformationService implements Transforma watchSubDirectory(file.getParent(), watchService); } + String sourcePath = getSourcePath(); String extension = getFileExtension(filename); + // the filename may already contain locale information if (!filename.matches(".*_[a-z]{2}." + extension + "$")) { - String alternateName = filename + "_" + getLocale().getLanguage() + "." + extension; - String alternatePath = getSourcePath() + alternateName; + String alternatePath = sourcePath + filename.substring(0, filename.length() - extension.length() - 1) + "_" + + getLocale().getLanguage() + "." + extension; if (new File(alternatePath).exists()) { return alternatePath; } } - return getSourcePath() + filename; + return sourcePath + filename; } /**