Add woff and woff2 to theme resources.
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / ui / util / BundleCmsTheme.java
index a4749fbabe150f4624782f45ead79e274dc7fd1f..9b0d50e30ce54213a10e7a72fe233fa8f7cc7001 100644 (file)
@@ -97,6 +97,8 @@ public class BundleCmsTheme extends AbstractCmsTheme {
                addResources("*.jpeg");
                addResources("*.svg");
                addResources("*.ico");
+               addResources("*.woff");
+               addResources("*.woff2");
 
                // fonts
                URL fontsUrl = themeBundle.getEntry(basePath + "fonts.txt");
@@ -135,28 +137,30 @@ public class BundleCmsTheme extends AbstractCmsTheme {
 
        Set<String> addCss(Bundle themeBundle, String path) {
                Set<String> paths = new TreeSet<>();
-               Enumeration<URL> themeResources = themeBundle.findEntries(path, "*.css", true);
-               if (themeResources == null)
-                       return paths;
-               while (themeResources.hasMoreElements()) {
-                       String resource = themeResources.nextElement().getPath();
-                       // remove first '/' so that RWT registers it
-                       resource = resource.substring(1);
-                       if (!resource.endsWith("/")) {
-                               paths.add(resource);
-                       }
-               }
 
                // common CSS
                Enumeration<URL> commonResources = themeBundle.findEntries(styleCssPath, "*.css", true);
-               if (commonResources == null)
-                       return paths;
-               while (commonResources.hasMoreElements()) {
-                       String resource = commonResources.nextElement().getPath();
-                       // remove first '/' so that RWT registers it
-                       resource = resource.substring(1);
-                       if (!resource.endsWith("/")) {
-                               paths.add(resource);
+               if (commonResources != null) {
+                       while (commonResources.hasMoreElements()) {
+                               String resource = commonResources.nextElement().getPath();
+                               // remove first '/' so that RWT registers it
+                               resource = resource.substring(1);
+                               if (!resource.endsWith("/")) {
+                                       paths.add(resource);
+                               }
+                       }
+               }
+
+               // specific CSS
+               Enumeration<URL> themeResources = themeBundle.findEntries(path, "*.css", true);
+               if (themeResources != null) {
+                       while (themeResources.hasMoreElements()) {
+                               String resource = themeResources.nextElement().getPath();
+                               // remove first '/' so that RWT registers it
+                               resource = resource.substring(1);
+                               if (!resource.endsWith("/")) {
+                                       paths.add(resource);
+                               }
                        }
                }
                return paths;
@@ -277,4 +281,14 @@ public class BundleCmsTheme extends AbstractCmsTheme {
                return themeBundle;
        }
 
+       @Override
+       public int hashCode() {
+               return themeId.hashCode();
+       }
+
+       @Override
+       public String toString() {
+               return "Bundle CMS Theme " + themeId;
+       }
+
 }