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);