Author: craigmcc
Date: Wed Mar  8 18:25:34 2006
New Revision: 384404

URL: http://svn.apache.org/viewcvs?rev=384404&view=rev
Log:
Fix MockRenderKitFactory to address issue 38294 in a way that preserves
backwards compatibility.

* Remove automatic creation of the default HTML BASIC RenderKit from
  the constructor of MockRenderKitFactory.

* Change AbstractJsfTestCase to create a MockRenderKit instance,
  and add it to the factory.

* To preserve backwards compatibility for users of MockRenderKitFactory
  that do not use AbstractJsfTestCase, make getRenderKit() create a
  MockRenderKit on the fly (if necessary) for the HTML BASIC render kit.

PR:  Bugzilla #38294
Submitted by:  Dennic C Byrne <dennis AT dbyrne.net>

Modified:
    
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java
    
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java

Modified: 
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java?rev=384404&r1=384403&r2=384404&view=diff
==============================================================================
--- 
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java
 (original)
+++ 
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java
 Wed Mar  8 18:25:34 2006
@@ -136,8 +136,8 @@
         facesContext.setApplication(application);
         RenderKitFactory renderKitFactory = (RenderKitFactory)
             FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY);
-        renderKit = (MockRenderKit)
-          renderKitFactory.getRenderKit(null, 
RenderKitFactory.HTML_BASIC_RENDER_KIT);
+        renderKit = new MockRenderKit();
+        renderKitFactory.addRenderKit(RenderKitFactory.HTML_BASIC_RENDER_KIT, 
renderKit);
 
     }
 

Modified: 
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java?rev=384404&r1=384403&r2=384404&view=diff
==============================================================================
--- 
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java
 (original)
+++ 
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java
 Wed Mar  8 18:25:34 2006
@@ -42,8 +42,6 @@
     public MockRenderKitFactory() {
     
         renderKits = new HashMap();
-        renderKits.put(RenderKitFactory.HTML_BASIC_RENDER_KIT,
-                       new MockRenderKit());
 
     }
 
@@ -80,6 +78,18 @@
         }
         RenderKit renderKit = (RenderKit) renderKits.get(renderKitId);
         if (renderKit == null) {
+            // Issue 38294 -- We removed the automatic creation of the
+            // default renderkit in the constructor, allowing it to be
+            // added by AbstractJsfTestCase in the usual case.  To preserve
+            // backwards compatibility, however, create one on the fly
+            // if the user asks for the default HTML renderkit and it has
+            // not been manually added yet
+            if (RenderKitFactory.HTML_BASIC_RENDER_KIT.equals(renderKitId)) {
+                renderKit = new MockRenderKit();
+                renderKits.put(RenderKitFactory.HTML_BASIC_RENDER_KIT,
+                               renderKit);
+                return renderKit;
+            }
             throw new IllegalArgumentException(renderKitId);
         }
         return renderKit;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to