keycloak-memoizeit
Changes
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/css/patternfly.css 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/css/patternfly.min.css 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Light-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Light-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Light-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Light-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/img/bg-login.jpg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/img/brand.png 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/img/brand.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/img/brand-lg.png 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/img/logo.png 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/img/logo.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/js/patternfly.js 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/patternfly/js/patternfly.min.js 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/zocial/zocial.css 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/zocial/zocial-regular-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/zocial/zocial-regular-webfont.svg 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/zocial/zocial-regular-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/common/patternfly/resources/lib/zocial/zocial-regular-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/css/patternfly.css 9168(+0 -9168)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/css/patternfly.min.css 4(+0 -4)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Light-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Light-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Light-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Light-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.svg 146(+0 -146)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.eot 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.svg 34(+0 -34)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.ttf 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.woff 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/img/bg-login.jpg 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/img/brand.png 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/img/brand.svg 84(+0 -84)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/img/brand-lg.png 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/img/logo.png 0(+0 -0)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/img/logo.svg 22(+0 -22)
forms/common-themes/src/main/resources/theme/login/patternfly/resources/lib/patternfly/js/patternfly.js 68(+0 -68)
Details
diff --git a/forms/common-freemarker/src/main/java/org/keycloak/freemarker/Theme.java b/forms/common-freemarker/src/main/java/org/keycloak/freemarker/Theme.java
index c5c7e36..265496c 100644
--- a/forms/common-freemarker/src/main/java/org/keycloak/freemarker/Theme.java
+++ b/forms/common-freemarker/src/main/java/org/keycloak/freemarker/Theme.java
@@ -10,12 +10,14 @@ import java.util.Properties;
*/
public interface Theme {
- public enum Type { LOGIN, ACCOUNT };
+ public enum Type { LOGIN, ACCOUNT, COMMON };
public String getName();
public String getParentName();
+ public String getImportName();
+
public Type getType();
public URL getTemplate(String name) throws IOException;
diff --git a/forms/common-freemarker/src/main/java/org/keycloak/freemarker/ThemeLoader.java b/forms/common-freemarker/src/main/java/org/keycloak/freemarker/ThemeLoader.java
index 74132b4..5327979 100755
--- a/forms/common-freemarker/src/main/java/org/keycloak/freemarker/ThemeLoader.java
+++ b/forms/common-freemarker/src/main/java/org/keycloak/freemarker/ThemeLoader.java
@@ -1,6 +1,5 @@
package org.keycloak.freemarker;
-import org.jboss.logging.Logger;
import org.keycloak.models.Config;
import org.keycloak.util.ProviderLoader;
@@ -19,8 +18,6 @@ import java.util.Properties;
*/
public class ThemeLoader {
- private static final Logger logger = Logger.getLogger(ThemeLoader.class);
-
public static Theme createTheme(String name, Theme.Type type) throws FreeMarkerException {
if (name == null) {
name = Config.getThemeDefault();
@@ -43,6 +40,11 @@ public class ThemeLoader {
List<Theme> themes = new LinkedList<Theme>();
themes.add(theme);
+ if (theme.getImportName() != null) {
+ String[] s = theme.getImportName().split("/");
+ themes.add(findTheme(providers, s[1], Theme.Type.valueOf(s[0].toUpperCase())));
+ }
+
for (String parentName = theme.getParentName(); parentName != null; parentName = theme.getParentName()) {
theme = findTheme(providers, parentName, type);
themes.add(theme);
@@ -54,28 +56,17 @@ public class ThemeLoader {
}
}
- private static Theme findTheme(Iterable<ThemeProvider> providers, String name, Theme.Type type) throws FreeMarkerException {
+ private static Theme findTheme(Iterable<ThemeProvider> providers, String name, Theme.Type type) {
for (ThemeProvider p : providers) {
if (p.hasTheme(name, type)) {
try {
return p.createTheme(name, type);
} catch (IOException e) {
- if (name.equals(Config.getThemeBase())) {
- throw new FreeMarkerException("Failed to create " + type.toString().toLowerCase() + " theme", e);
- } else {
- logger.error("Failed to create " + type.toString().toLowerCase() + " theme", e);
- return findTheme(providers, Config.getThemeBase(), type);
- }
+ throw new RuntimeException("Failed to create " + type.toString().toLowerCase() + " theme", e);
}
}
}
-
- if (name.equals(Config.getThemeBase())) {
- throw new FreeMarkerException(type.toString().toLowerCase() + " theme '" + name + "' not found");
- } else {
- logger.error(type.toString().toLowerCase() + " theme '" + name + "' not found");
- return findTheme(providers, Config.getThemeBase(), type);
- }
+ throw new RuntimeException(type.toString().toLowerCase() + " theme '" + name + "' not found");
}
public static class ExtendingTheme implements Theme {
@@ -97,6 +88,11 @@ public class ThemeLoader {
}
@Override
+ public String getImportName() {
+ return themes.get(0).getImportName();
+ }
+
+ @Override
public Type getType() {
return themes.get(0).getType();
}
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 7c6e02c..5a41cf7 100644
--- a/forms/common-themes/src/main/java/org/keycloak/theme/ClassLoaderTheme.java
+++ b/forms/common-themes/src/main/java/org/keycloak/theme/ClassLoaderTheme.java
@@ -16,6 +16,8 @@ public class ClassLoaderTheme implements Theme {
private final String parentName;
+ private final String importName;
+
private final Type type;
private final ClassLoader classLoader;
@@ -44,8 +46,10 @@ public class ClassLoaderTheme implements Theme {
if (p != null) {
properties.load(p.openStream());
this.parentName = properties.getProperty("parent");
+ this.importName = properties.getProperty("import");
} else {
this.parentName = null;
+ this.importName = null;
}
}
@@ -60,6 +64,11 @@ public class ClassLoaderTheme implements Theme {
}
@Override
+ public String getImportName() {
+ return importName;
+ }
+
+ @Override
public Type getType() {
return type;
}
diff --git a/forms/common-themes/src/main/java/org/keycloak/theme/DefaultLoginThemeProvider.java b/forms/common-themes/src/main/java/org/keycloak/theme/DefaultLoginThemeProvider.java
index 2a63e17..422b1ac 100644
--- a/forms/common-themes/src/main/java/org/keycloak/theme/DefaultLoginThemeProvider.java
+++ b/forms/common-themes/src/main/java/org/keycloak/theme/DefaultLoginThemeProvider.java
@@ -7,7 +7,9 @@ import org.keycloak.models.Config;
import java.io.IOException;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
/**
@@ -19,12 +21,14 @@ public class DefaultLoginThemeProvider implements ThemeProvider {
public static final String PATTERNFLY = "patternfly";
public static final String KEYCLOAK = "keycloak";
- private static Set<String> defaultThemes = new HashSet<String>();
+ private static Set<String> ACCOUNT_THEMES = new HashSet<String>();
+ private static Set<String> LOGIN_THEMES = new HashSet<String>();
+ private static Set<String> COMMON_THEMES = new HashSet<String>();
static {
- defaultThemes.add(BASE);
- defaultThemes.add(PATTERNFLY);
- defaultThemes.add(KEYCLOAK);
+ Collections.addAll(ACCOUNT_THEMES, BASE, PATTERNFLY, KEYCLOAK);
+ Collections.addAll(LOGIN_THEMES, BASE, PATTERNFLY, KEYCLOAK);
+ Collections.addAll(COMMON_THEMES, PATTERNFLY);
}
@Override
@@ -43,10 +47,15 @@ public class DefaultLoginThemeProvider implements ThemeProvider {
@Override
public Set<String> nameSet(Theme.Type type) {
- if (type == Theme.Type.LOGIN || type == Theme.Type.ACCOUNT) {
- return defaultThemes;
- } else {
- return Collections.emptySet();
+ switch (type) {
+ case LOGIN:
+ return LOGIN_THEMES;
+ case ACCOUNT:
+ return ACCOUNT_THEMES;
+ case COMMON:
+ return COMMON_THEMES;
+ default:
+ return Collections.emptySet();
}
}
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 3737aa1..2427b65 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
@@ -15,6 +15,7 @@ import java.util.Properties;
public class FolderTheme implements Theme {
private String parentName;
+ private String importName;
private File themeDir;
private Type type;
private final Properties properties;
@@ -28,6 +29,7 @@ public class FolderTheme implements Theme {
if (propertiesFile .isFile()) {
properties.load(new FileInputStream(propertiesFile));
parentName = properties.getProperty("parent");
+ parentName = properties.getProperty("import");
}
}
@@ -42,6 +44,11 @@ public class FolderTheme implements Theme {
}
@Override
+ public String getImportName() {
+ return importName;
+ }
+
+ @Override
public Type getType() {
return type;
}
diff --git a/forms/common-themes/src/main/resources/theme/account/patternfly/theme.properties b/forms/common-themes/src/main/resources/theme/account/patternfly/theme.properties
index c142b5c..8033479 100644
--- a/forms/common-themes/src/main/resources/theme/account/patternfly/theme.properties
+++ b/forms/common-themes/src/main/resources/theme/account/patternfly/theme.properties
@@ -1,2 +1,4 @@
parent=base
+import=common/patternfly
+
styles=lib/patternfly/css/patternfly.css css/account.css
\ No newline at end of file
diff --git a/forms/common-themes/src/main/resources/theme/login/patternfly/theme.properties b/forms/common-themes/src/main/resources/theme/login/patternfly/theme.properties
index 720d4ea..6ac168b 100644
--- a/forms/common-themes/src/main/resources/theme/login/patternfly/theme.properties
+++ b/forms/common-themes/src/main/resources/theme/login/patternfly/theme.properties
@@ -1,4 +1,6 @@
parent=base
+import=common/patternfly
+
styles=lib/patternfly/css/patternfly.css lib/zocial/zocial.css css/login.css
meta=viewport==width=device-width,initial-scale=1