You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2008/02/27 18:04:43 UTC

svn commit: r631647 - in /myfaces/trinidad/trunk_1.2.x/trinidad-impl/src: main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java

Author: matzew
Date: Wed Feb 27 09:04:41 2008
New Revision: 631647

URL: http://svn.apache.org/viewvc?rev=631647&view=rev
Log:
TRINIDAD-973
-make CoreRenderKit a decorator and only adds the h:form, commandLink/button renderers
-setting up the HTML_BASIC for testing

Modified:
    myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java
    myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java

Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java?rev=631647&r1=631646&r2=631647&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java Wed Feb 27 09:04:41 2008
@@ -72,9 +72,9 @@
 import org.apache.myfaces.trinidadinternal.io.IndentingResponseWriter;
 import org.apache.myfaces.trinidadinternal.io.XhtmlResponseWriter;
 import org.apache.myfaces.trinidadinternal.renderkit.RenderKitBase;
+import org.apache.myfaces.trinidadinternal.renderkit.RenderKitDecorator;
 import org.apache.myfaces.trinidadinternal.renderkit.core.ppr.PPRResponseWriter;
 import org.apache.myfaces.trinidadinternal.renderkit.core.ppr.PartialPageContextImpl;
-import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PartialPageUtils;
 import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlRenderer;
 import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlUtils;
 import org.apache.myfaces.trinidadinternal.renderkit.htmlBasic.HtmlCommandButtonRenderer;
@@ -87,7 +87,7 @@
  * <p>
  * @version $Name:  $ ($Revision: adfrt/faces/adf-faces-impl/src/main/java/oracle/adfinternal/view/faces/renderkit/core/CoreRenderKit.java#0 $) $Date: 10-nov-2005.19:01:18 $
  */
-public class CoreRenderKit extends RenderKitBase
+public class CoreRenderKit extends RenderKitDecorator
                           implements DialogRenderKitService,
                                      ExtendedRenderKitService
 {
@@ -170,9 +170,15 @@
   
   public CoreRenderKit()
   {
-    _addBasicHTMLRenderKit();
+    _modifyBasicHTMLRenderKit();
   }
 
+  protected String getDecoratedRenderKitId()
+  {
+    return RenderKitFactory.HTML_BASIC_RENDER_KIT;
+  }
+
+  
   @Override
   protected String getRenderKitMap()
   {
@@ -632,57 +638,25 @@
   }
 
   //
-  // Copy most of the known Basic HTML RenderKit over to ourselves
-  // to improve the efficiency of common lookups.  Also, register
-  // the Renderers that we explicitly override.
-  //
-  private void _addBasicHTMLRenderKit()
-  {
-    RenderKitFactory rkf = (RenderKitFactory)
-      FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY);
-    RenderKit basic = rkf.getRenderKit(null,
-                                       RenderKitFactory.HTML_BASIC_RENDER_KIT);
-    if (basic == null)
-    {
-      _LOG.warning("CANNOT_LOCATE_HTMLRENDERKIT");
-    }
-    else
-    {
-      for (int i = 0; i < _BASIC_HTML_RENDERERS.length; i += 2)
-      {
-        String componentFamily = _BASIC_HTML_RENDERERS[i];
-        String rendererType = _BASIC_HTML_RENDERERS[i + 1];
-        Renderer renderer = basic.getRenderer(componentFamily, rendererType);
-        if (renderer == null)
-        {
-          _LOG.warning("CANNOT_FIND_HTML_RENDERER", new Object[]{componentFamily, rendererType});
-        }
-        else
-        {
-          addRenderer(componentFamily, rendererType, renderer);
-        }
-      }
-
-      // But we render UIForms with our own renderer
-      addRenderer(UIForm.COMPONENT_FAMILY,
-                  "javax.faces.Form",
-                  new HtmlFormRenderer());
-      // And we render UICommandLink with our own renderer
-      addRenderer(UICommand.COMPONENT_FAMILY,
-                  "javax.faces.Link",
-                  new HtmlCommandLinkRenderer());
-      // In jsf 1.1_02 the ri FormRenderer writes out script used by
-      // h:commandButton. Since we override the RI FormRenderer, we also
-      // need to override the commandButton renderer:
-      addRenderer(UICommand.COMPONENT_FAMILY,
-                  "javax.faces.Button",
-                  new HtmlCommandButtonRenderer());
-
-    }
-
-    // And, generally speaking, aggregate in anything else found
-    // in the Basic HTML RenderKit
-    attachAggregatedRenderKit(basic);
+  // This RenderKit decorates the standard BASIC_HTML, 
+  // but we need to replace some renderers with our own.
+  //
+  private void _modifyBasicHTMLRenderKit()
+  {
+    // We render UIForms with our own renderer
+    addRenderer(UIForm.COMPONENT_FAMILY,
+                "javax.faces.Form",
+                new HtmlFormRenderer());
+    // And we render UICommandLink with our own renderer
+    addRenderer(UICommand.COMPONENT_FAMILY,
+                "javax.faces.Link",
+                new HtmlCommandLinkRenderer());
+    // In jsf 1.1_02 the ri FormRenderer writes out script used by
+    // h:commandButton. Since we override the RI FormRenderer, we also
+    // need to override the commandButton renderer:
+    addRenderer(UICommand.COMPONENT_FAMILY,
+                "javax.faces.Button",
+                new HtmlCommandButtonRenderer());
   }
 
 

Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java?rev=631647&r1=631646&r2=631647&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/RenderKitBootstrap.java Wed Feb 27 09:04:41 2008
@@ -81,6 +81,8 @@
     RenderKitFactory factory = (RenderKitFactory)
       FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY);
 
+    factory.addRenderKit(RenderKitFactory.HTML_BASIC_RENDER_KIT, new BasicHtmlRenderKit());
+
     String renderKitId = null;
     if (context.getViewRoot() != null)
       renderKitId = context.getViewRoot().getRenderKitId();