1
19
20 package com.liferay.portal.theme;
21
22 import com.liferay.portal.velocity.VelocityContextPool;
23
24 import java.util.HashMap;
25 import java.util.Map;
26
27 import javax.servlet.ServletContext;
28
29
35 public class ThemeLoaderFactory {
36
37 public static void init(
38 String servletContextName, ServletContext servletContext,
39 String[] xmls) {
40
41 VelocityContextPool.put(servletContextName, servletContext);
42
43 ThemeLoader themeLoader = new ThemeLoader(
44 servletContextName, servletContext, xmls);
45
46 _themeLoaders.put(servletContextName, themeLoader);
47 }
48
49 public static boolean destroy(String servletContextName) {
50 ThemeLoader themeLoader = _themeLoaders.remove(servletContextName);
51
52 if (themeLoader == null) {
53 return false;
54 }
55 else {
56 VelocityContextPool.remove(servletContextName);
57
58 themeLoader.destroy();
59
60 return true;
61 }
62 }
63
64 public static ThemeLoader getDefaultThemeLoader() {
65 ThemeLoader themeLoader = null;
66
67 for (Map.Entry<String, ThemeLoader> entry : _themeLoaders.entrySet()) {
68 themeLoader = entry.getValue();
69
70 break;
71 }
72
73 return themeLoader;
74 }
75
76 public static ThemeLoader getThemeLoader(String servletContextName) {
77 return _themeLoaders.get(servletContextName);
78 }
79
80 public static void loadThemes() {
81 for (Map.Entry<String, ThemeLoader> entry : _themeLoaders.entrySet()) {
82 ThemeLoader themeLoader = entry.getValue();
83
84 themeLoader.loadThemes();
85 }
86 }
87
88 private static Map<String, ThemeLoader> _themeLoaders =
89 new HashMap<String, ThemeLoader>();
90
91 }