You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2005/11/10 19:20:47 UTC

svn commit: r332346 - /myfaces/impl/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java

Author: mmarinschek
Date: Thu Nov 10 10:20:42 2005
New Revision: 332346

URL: http://svn.apache.org/viewcvs?rev=332346&view=rev
Log:
fix for MYFACES-795. Thanks to Simon Kitching.

Modified:
    myfaces/impl/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java

Modified: myfaces/impl/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java
URL: http://svn.apache.org/viewcvs/myfaces/impl/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java?rev=332346&r1=332345&r2=332346&view=diff
==============================================================================
--- myfaces/impl/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java (original)
+++ myfaces/impl/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java Thu Nov 10 10:20:42 2005
@@ -80,17 +80,36 @@
     {
         if(componentFamily == null)
         {
+            log.error("addRenderer: componentFamily = null is not allowed");
             throw new NullPointerException("component family must not be null.");
         }
         if(rendererType == null)
         {
+            log.error("addRenderer: rendererType = null is not allowed");
             throw new NullPointerException("renderer type must not be null.");
         }
         if(renderer == null)
         {
+            log.error("addRenderer: renderer = null is not allowed");
             throw new NullPointerException("renderer must not be null.");
         }
-        _renderers.put(key(componentFamily, rendererType), renderer);
+
+        String rendererKey = key(componentFamily, rendererType);
+        if (_renderers.get(rendererKey) != null) {
+            // this is not necessarily an error, but users do need to be
+            // very careful about jar processing order when overriding
+            // some component's renderer with an alternate renderer.
+            log.info("Overwriting renderer with family = " + componentFamily +
+               " rendererType = " + rendererType +
+               " renderer class = " + renderer.getClass().getName());
+        }
+
+        _renderers.put(rendererKey, renderer);
+
+        if (log.isTraceEnabled()) 
+            log.trace("add Renderer family = " + componentFamily +
+                " rendererType = " + rendererType +
+                " renderer class = " + renderer.getClass().getName());
     }
 
     public ResponseStateManager getResponseStateManager()