You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ba...@apache.org on 2007/05/23 21:53:21 UTC

svn commit: r541047 - in /myfaces: core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/ shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/

Author: baranda
Date: Wed May 23 12:53:20 2007
New Revision: 541047

URL: http://svn.apache.org/viewvc?view=rev&rev=541047
Log:
Fixes MYFAECS-1642 (Id attribute not present in the rendered HTML for the commandLink, even if the id was provided)

Modified:
    myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlLinkRendererTest.java
    myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
    myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java

Modified: myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlLinkRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlLinkRendererTest.java?view=diff&rev=541047&r1=541046&r2=541047
==============================================================================
--- myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlLinkRendererTest.java (original)
+++ myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlLinkRendererTest.java Wed May 23 12:53:20 2007
@@ -81,7 +81,7 @@
 
         String output = writer.getWriter().toString();
 
-        assertEquals("<span target=\"testTarget\" class=\"linkClass\">HelloLink</span>", output);
+        assertEquals("<span id=\"" + link.getClientId(facesContext) + "\" target=\"testTarget\" class=\"linkClass\">HelloLink</span>", output);
     }
 
      public void testLinkPassthrough() throws Exception

Modified: myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java?view=diff&rev=541047&r1=541046&r2=541047
==============================================================================
--- myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java (original)
+++ myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java Wed May 23 12:53:20 2007
@@ -168,7 +168,7 @@
         if (HtmlRendererUtils.isDisabled(component))
         {
             writer.startElement(HTML.SPAN_ELEM, component);
-            HtmlRendererUtils.writeIdIfNecessary(writer, clientId);
+            HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
             HtmlRendererUtils.renderHTMLAttributes(writer, component, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES);
         }
         else
@@ -185,7 +185,7 @@
                 anchorAttrsToRender = HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_STYLE;
             }
 
-            HtmlRendererUtils.writeIdIfNecessary(writer, clientId);
+            HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
             HtmlRendererUtils.renderHTMLAttributes(writer, component,
                                                    anchorAttrsToRender);
             HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_ATTR, HTML.STYLE_ATTR,
@@ -408,11 +408,9 @@
         }
         href = facesContext.getExternalContext().encodeResourceURL(href);    //TODO: or encodeActionURL ?
 
-        String clientId = output.getClientId(facesContext);
-
         //write anchor
         writer.startElement(HTML.ANCHOR_ELEM, output);
-        HtmlRendererUtils.writeIdAndNameIfNecessary(writer, clientId);
+        HtmlRendererUtils.writeIdAndNameIfNecessary(writer, output, facesContext);
         writer.writeURIAttribute(HTML.HREF_ATTR, href, null);
         HtmlRendererUtils.renderHTMLAttributes(writer, output, org.apache.myfaces.shared.renderkit.html.HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES);
         writer.flush();

Modified: myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java?view=diff&rev=541047&r1=541046&r2=541047
==============================================================================
--- myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java (original)
+++ myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java Wed May 23 12:53:20 2007
@@ -612,27 +612,20 @@
                                           FacesContext facesContext)
             throws IOException
     {
-        if(component.getId()!=null)
+        if(component.getId()!=null && !component.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
         {
-            writeIdIfNecessary(writer, component.getClientId(facesContext));
+            writer.writeAttribute(HTML.ID_ATTR, component.getClientId(facesContext),null);
         }
     }
 
-    public static void writeIdIfNecessary(ResponseWriter writer, String clientId)
+    public static void writeIdAndNameIfNecessary(ResponseWriter writer, UIComponent component,
+                                                 FacesContext facesContext)
             throws IOException
     {
-        if(clientId!=null && !clientId.startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
+        if(component.getId()!=null && !!component.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
         {
-            writer.writeAttribute(HTML.ID_ATTR, clientId,null);
-        }
-    }
-
-    public static void writeIdAndNameIfNecessary(ResponseWriter writer, String clientId)
-            throws IOException
-    {
-        if(clientId!=null && !clientId.startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
-        {
-            writer.writeAttribute(HTML.ID_ATTR, clientId,null);
+            String clientId = component.getClientId(facesContext);
+            writer.writeAttribute(HTML.ID_ATTR, clientId, null);
             writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
         }
     }