From b8cc0a82b37199f37ac17738a0825765533fd117 Mon Sep 17 00:00:00 2001 From: XIAO XI LIU Date: Thu, 7 Apr 2016 14:39:19 +0800 Subject: [PATCH] fix issue #1061: auto-detect locale country code --- .../mitre/openid/connect/config/JsonMessageSource.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java index 31d02c153..2da3801bc 100644 --- a/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java +++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java @@ -163,10 +163,18 @@ public class JsonMessageSource extends AbstractMessageSource { try { List set = new ArrayList<>(); for (String namespace : config.getLanguageNamespaces()) { - String filename = locale.getLanguage() + File.separator + namespace + ".json"; + // full locale string, e.g. "en_US" + String filename = locale.toString() + File.separator + namespace + ".json"; Resource r = getBaseDirectory().createRelative(filename); + if (!r.exists()) { + // fallback to language only + logger.debug("Fallback locale to language only."); + filename = locale.getLanguage() + File.separator + namespace + ".json"; + r = getBaseDirectory().createRelative(filename); + } + logger.info("No locale loaded, trying to load from " + r); JsonParser parser = new JsonParser();