diff --git a/forms/common-themes/pom.xml b/forms/common-themes/pom.xml index 8ad524fd801..04ea6bc30e7 100755 --- a/forms/common-themes/pom.xml +++ b/forms/common-themes/pom.xml @@ -42,6 +42,11 @@ resteasy-jaxrs provided + + org.jboss.logging + jboss-logging + provided + diff --git a/forms/common-themes/src/main/java/org/keycloak/theme/ClassLoaderTheme.java b/forms/common-themes/src/main/java/org/keycloak/theme/ClassLoaderTheme.java index 3ad511c1315..3dbb0a808dc 100755 --- a/forms/common-themes/src/main/java/org/keycloak/theme/ClassLoaderTheme.java +++ b/forms/common-themes/src/main/java/org/keycloak/theme/ClassLoaderTheme.java @@ -1,5 +1,6 @@ package org.keycloak.theme; +import org.jboss.logging.Logger; import org.keycloak.freemarker.Theme; import java.io.File; @@ -8,13 +9,14 @@ import java.io.InputStream; import java.net.URL; import java.util.Locale; import java.util.Properties; -import java.util.ResourceBundle; /** * @author Stian Thorgersen */ public class ClassLoaderTheme implements Theme { + private static final Logger LOGGER = Logger.getLogger(ClassLoaderTheme.class); + private String name; private String parentName; @@ -108,14 +110,20 @@ public class ClassLoaderTheme implements Theme { public Properties getMessages(Locale locale) throws IOException { Properties m = new Properties(); - String message = null; - if(locale != null){ - message = this.messageRoot + "messages_" + locale.toString() + ".properties"; - }else{ - message = this.messageRoot + "messages.properties"; + URL url = null; + if(locale != null) { + URL messageFile = classLoader.getResource(this.messageRoot + "messages_" + locale.toString() + ".properties"); + if(messageFile != null){ + url = messageFile; + }else{ + LOGGER.warnf("Can not find message file %s", messageFile); + } + } + + if(url == null){ + url = classLoader.getResource(this.messageRoot + "messages.properties"); } - URL url = classLoader.getResource(message); if (url != null) { m.load(url.openStream()); } diff --git a/forms/common-themes/src/main/java/org/keycloak/theme/FolderTheme.java b/forms/common-themes/src/main/java/org/keycloak/theme/FolderTheme.java index dbba9d9dc98..766bba28176 100644 --- a/forms/common-themes/src/main/java/org/keycloak/theme/FolderTheme.java +++ b/forms/common-themes/src/main/java/org/keycloak/theme/FolderTheme.java @@ -1,5 +1,6 @@ package org.keycloak.theme; +import org.jboss.logging.Logger; import org.keycloak.freemarker.Theme; import java.io.File; @@ -15,6 +16,7 @@ import java.util.Properties; */ public class FolderTheme implements Theme { + private static final Logger LOGGER = Logger.getLogger(FolderTheme.class); private String parentName; private String importName; private File themeDir; @@ -85,14 +87,20 @@ public class FolderTheme implements Theme { public Properties getMessages(Locale locale) throws IOException { Properties m = new Properties(); - String message = null; - if(locale != null){ - message = "messages_" + locale.toString() + ".properties"; - }else{ - message = "messages.properties"; + File file = null; + if(locale != null) { + File messageFile = new File(themeDir, "messages" + File.separator + "messages_" + locale.toString() + ".properties"); + if (messageFile.isFile()) { + file = messageFile; + } else { + LOGGER.warnf("Can not find message file %s", messageFile); + } + } + + if(file == null){ + file = new File(themeDir, "messages" + File.separator + "messages.properties"); } - File file = new File(themeDir, "messages" + File.separator + message); if (file.isFile()) { m.load(new FileInputStream(file)); } diff --git a/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/FreeMarkerLoginFormsProvider.java b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/FreeMarkerLoginFormsProvider.java index d97ac0d8155..587dd0bdc2c 100755 --- a/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/FreeMarkerLoginFormsProvider.java +++ b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/FreeMarkerLoginFormsProvider.java @@ -44,7 +44,7 @@ import java.util.concurrent.TimeUnit; /** * @author Stian Thorgersen */ -public class FreeMarkerLoginFormsProvider implements LoginFormsProvider { + public class FreeMarkerLoginFormsProvider implements LoginFormsProvider { private static final Logger logger = Logger.getLogger(FreeMarkerLoginFormsProvider.class);