You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2020/09/11 12:15:17 UTC
[ofbiz-framework] branch trunk updated: Refactor ThemeFactory.java
This is an automated email from the ASF dual-hosted git repository.
jamesyong pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new 8c4a191 Refactor ThemeFactory.java
8c4a191 is described below
commit 8c4a19118d59ed0cd2e567997568f656aa7f4f41
Author: James Yong <ja...@apache.org>
AuthorDate: Fri Sep 11 20:14:58 2020 +0800
Refactor ThemeFactory.java
---
.../apache/ofbiz/widget/model/ThemeFactory.java | 31 +++++++++++++++-------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ThemeFactory.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ThemeFactory.java
index 20720b7..62d23d6 100644
--- a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ThemeFactory.java
+++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ThemeFactory.java
@@ -52,7 +52,7 @@ import org.xml.sax.SAXException;
/**
* Widget Theme Library - Theme factory class
*/
-public class ThemeFactory {
+public final class ThemeFactory {
private static final String MODULE = ThemeFactory.class.getName();
@@ -61,6 +61,7 @@ public class ThemeFactory {
private static final UtilCache<String, VisualTheme> THEME_VISUAL_THEME_ID_CACHE =
UtilCache.createUtilCache("widget.theme.idAndVisualTheme", 0, 0, false);
+ private ThemeFactory() { }
/**
* From a w3c Document return the modelTheme instantiated
* @param themeFileDoc
@@ -76,18 +77,11 @@ public class ThemeFactory {
}
/**
- * Scann all Theme.xml definition to reload all VisualTheme oin cache
+ * Reload all VisualTheme in cache
*/
private static void pullModelThemesFromXmlToCache() {
- String ofbizHome = System.getProperty("ofbiz.home");
- String themeFolderPath = ofbizHome + "/themes";
- String pluginsFolderPath = ofbizHome + "/plugins";
try {
- List<File> xmlThemes = FileUtil.findXmlFiles(themeFolderPath, null, "theme", "widget-theme.xsd");
- List<File> xmlPluginThemes = FileUtil.findXmlFiles(pluginsFolderPath, null, "theme", "widget-theme.xsd");
- if (UtilValidate.isNotEmpty(xmlPluginThemes)) {
- xmlThemes.addAll(xmlPluginThemes);
- }
+ List<File> xmlThemes = getThemeXmlFiles();
for (File xmlTheme : xmlThemes) {
ModelTheme modelTheme = getModelThemeFromLocation(xmlTheme.toURI().toURL().toString());
if (modelTheme != null) {
@@ -102,6 +96,23 @@ public class ThemeFactory {
}
/**
+ * Scan all Theme.xml definition
+ * @return
+ * @throws IOException
+ */
+ public static List<File> getThemeXmlFiles() throws IOException {
+ String ofbizHome = System.getProperty("ofbiz.home");
+ String themeFolderPath = ofbizHome + "/themes";
+ String pluginsFolderPath = ofbizHome + "/plugins";
+ List<File> xmlThemes = FileUtil.findXmlFiles(themeFolderPath, null, "theme", "widget-theme.xsd");
+ List<File> xmlPluginThemes = FileUtil.findXmlFiles(pluginsFolderPath, null, "theme", "widget-theme.xsd");
+ if (UtilValidate.isNotEmpty(xmlPluginThemes)) {
+ xmlThemes.addAll(xmlPluginThemes);
+ }
+ return xmlThemes;
+ }
+
+ /**
* From a visualThemeId return the VisualTheme object corresponding in cache
* If it's empty, reload the cache from all Theme definition
* @param visualThemeId