ICEfaces
  1. ICEfaces
  2. ICE-7420

ACE Comp Suite logs warnings for certain components when running on MyFaces 2

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.RC1
    • Fix Version/s: 3.0.RC2, 3.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 2 ACE MyFaces 2
    • Assignee Priority:
      P1

      Description

      I'm seeing the following warnings logged when running the ContextMenu example of the ACE Comp Suite when using MyFaces:

      WARNING: Unsupported component-family/renderer-type: org.icefaces.ace.component.Menu/javax.faces.Button
      4-Nov-2011 11:05:25 AM org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer

      4-Nov-2011 11:05:25 AM javax.faces.component.UIComponentBase getRenderer
      WARNING: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /showcase.xhtml][Class: javax.faces.component.html.HtmlBody,Id: _2068169349_6d256d7f][Class: javax.faces.component.html.HtmlForm,Id: j_id1952249420_2dcf46b5][Class: org.icefaces.ace.component.contextmenu.ContextMenu,Id: j_id1952249420_2dcf46ab][Class: org.icefaces.ace.component.menuitem.MenuItem,Id: _1952249420_2dcf4681]} (component-family=org.icefaces.ace.component.Menu, renderer-type=javax.faces.Button) created from: /resources/examples/ace/contextMenu/contextMenu.xhtml at line 47 and column 73

        Issue Links

          Activity

          Hide
          Deryk Sinotte added a comment -

          I thought this might be caused by an empty renderer type. For example the MenuItemBase that is built by our generator.

          public class MenuItemBase extends javax.faces.component.UICommand{

          public static final String COMPONENT_TYPE = "org.icefaces.ace.component.MenuItem";
          public static final String RENDERER_TYPE = "";

          I consulted the component team as to whether this should be an empty string or something else (like null). Mark said he thought it should be null so I tried adjusting the ComponentArtifact.startComponentClass method to check for empty Strings and use null in those situations:

          writer.append("\n\tpublic static final String COMPONENT_TYPE = \""+ component.componentType() + "\";");
          String rendererType = component.rendererType();
          if( null != rendererType ){
          if("null".equals(rendererType.trim()) || "".equals(rendererType.trim()))

          { rendererType = null; }

          else

          { rendererType = "\"" + rendererType + "\""; }

          }

          That didn't appear to help so I created this JIRA to capture the issue. Because it's a warning and because it appears not to interfere with functionality as near as I could tell, the priority is not high.

          Assigning to Ken for component team assignment.

          Show
          Deryk Sinotte added a comment - I thought this might be caused by an empty renderer type. For example the MenuItemBase that is built by our generator. public class MenuItemBase extends javax.faces.component.UICommand{ public static final String COMPONENT_TYPE = "org.icefaces.ace.component.MenuItem"; public static final String RENDERER_TYPE = ""; I consulted the component team as to whether this should be an empty string or something else (like null). Mark said he thought it should be null so I tried adjusting the ComponentArtifact.startComponentClass method to check for empty Strings and use null in those situations: writer.append("\n\tpublic static final String COMPONENT_TYPE = \""+ component.componentType() + "\";"); String rendererType = component.rendererType(); if( null != rendererType ){ if("null".equals(rendererType.trim()) || "".equals(rendererType.trim())) { rendererType = null; } else { rendererType = "\"" + rendererType + "\""; } } That didn't appear to help so I created this JIRA to capture the issue. Because it's a warning and because it appears not to interfere with functionality as near as I could tell, the priority is not high. Assigning to Ken for component team assignment.
          Hide
          Ken Fyten added a comment -

          This is generating a tonne of output in the log. Let's get it cleaned up for RC1.

          Show
          Ken Fyten added a comment - This is generating a tonne of output in the log. Let's get it cleaned up for RC1.
          Hide
          Mark Collette added a comment -

          Components that do not render themselves needed to set their rendererType to null, not an empty string, for MyFaces to not try to lookup the renderer and fail and print an error. This was fixed in the ACE generator.

          icefaces3
          Subversion 26767

          Show
          Mark Collette added a comment - Components that do not render themselves needed to set their rendererType to null, not an empty string, for MyFaces to not try to lookup the renderer and fail and print an error. This was fixed in the ACE generator. icefaces3 Subversion 26767
          Hide
          Mark Collette added a comment -

          MyFaces doesn't like certain attributes to be left unspecified when certain components are used. Specifically, the 'alt' attribute on h:graphicImage and the 'for' attribute on h:outputLabel. Examining the MyFaces TLD shows that those are not required attributes, so are technically not necessary. Yet they are incessantly logged as missing, when omitted. Updated the showcase app to provide them.

          icefaces3
          Subversion 26815

          Show
          Mark Collette added a comment - MyFaces doesn't like certain attributes to be left unspecified when certain components are used. Specifically, the 'alt' attribute on h:graphicImage and the 'for' attribute on h:outputLabel. Examining the MyFaces TLD shows that those are not required attributes, so are technically not necessary. Yet they are incessantly logged as missing, when omitted. Updated the showcase app to provide them. icefaces3 Subversion 26815

            People

            • Assignee:
              Mark Collette
              Reporter:
              Deryk Sinotte
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: