You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2021/01/21 09:12:35 UTC

[myfaces-tobago] 04/04: chore: optimize/cleanup/simplify

This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git

commit c476ad3284cce8723f573a9049af32b653096bd5
Author: Udo Schnurpfeil <ud...@irian.eu>
AuthorDate: Thu Jan 21 10:10:09 2021 +0100

    chore: optimize/cleanup/simplify
---
 .../tobago/internal/renderkit/renderer/ImageRenderer.java     |  4 ++--
 .../tobago/internal/renderkit/renderer/TreeIconRenderer.java  |  2 +-
 .../myfaces/tobago/internal/util/HtmlRendererUtils.java       |  2 +-
 .../java/org/apache/myfaces/tobago/renderkit/css/Icons.java   | 11 ++++++++---
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ImageRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ImageRenderer.java
index 948c291..f65e059 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ImageRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ImageRenderer.java
@@ -42,13 +42,13 @@ public class ImageRenderer<T extends AbstractUIImage> extends RendererBase<T> {
     final TobagoResponseWriter writer = getResponseWriter(facesContext);
 
     final String value = component.getUrl();
-    final boolean fontAwesome = value != null && value.startsWith("fa-");
+    final boolean isIcon = Icons.matches(value);
     final boolean disabled = component.isDisabled()
         || (component.getParent() instanceof AbstractUICommandBase
         && ((AbstractUICommandBase) component.getParent()).isDisabled());
     final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, component);
     final Markup markup = component.getMarkup();
-    if (fontAwesome) {
+    if (isIcon) {
       writer.startElement(HtmlElements.I);
       writer.writeIdAttribute(component.getClientId(facesContext));
       writer.writeClassAttribute(
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java
index 5d06f96..c999fa1 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java
@@ -92,7 +92,7 @@ public class TreeIconRenderer<T extends AbstractUITreeIcon> extends RendererBase
         TobagoClass.TREE_NODE__TOGGLE,
         component.getCustomClass());
 
-    if (source != null && source.startsWith("fa-")) {
+    if (Icons.matches(source)) {
       writer.startElement(HtmlElements.I);
       writer.writeClassAttribute(Icons.FA, Icons.custom(source));
       if (folder) {
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/HtmlRendererUtils.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/HtmlRendererUtils.java
index efb562c..22c669c 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/HtmlRendererUtils.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/HtmlRendererUtils.java
@@ -81,7 +81,7 @@ public final class HtmlRendererUtils {
 
   public static void encodeIconOrImage(final TobagoResponseWriter writer, final String image) throws IOException {
     if (image != null) {
-      if (image.startsWith("fa-")) {
+      if (Icons.matches(image)) {
         writer.startElement(HtmlElements.I);
         writer.writeClassAttribute(Icons.FA, Icons.custom(image));
         writer.endElement(HtmlElements.I);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/Icons.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/Icons.java
index a5ea3db..b5e33f2 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/Icons.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/Icons.java
@@ -61,16 +61,21 @@ public enum Icons implements CssItem {
   };
 
   private static final Pattern PATTERN = Pattern.compile("^(fa(-[a-z]+)+)$");
+  private static final String PREFIX = "fa-";
 
-  private String fa;
+  private final String clazz;
 
   Icons() {
-    this.fa = "fa-" + name().toLowerCase().replaceAll("_", "-");
+    this.clazz = PREFIX + name().toLowerCase().replaceAll("_", "-");
   }
 
   @Override
   public String getName() {
-    return fa;
+    return clazz;
+  }
+
+  public static boolean matches(final String value) {
+    return value != null && PATTERN.matcher(value).matches();
   }
 
   public static CssItem custom(final String name) {