[richfaces-svn-commits] JBoss Rich Faces SVN: r2329 - trunk/framework/impl/src/main/java/org/richfaces/renderkit.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Aug 17 18:43:26 EDT 2007


Author: nbelaevski
Date: 2007-08-17 18:43:26 -0400 (Fri, 17 Aug 2007)
New Revision: 2329

Modified:
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/TemplateEncoderRendererBase.java
Log:
http://jira.jboss.com/jira/browse/RF-631 fixed - lazy transformer factory initialization

Modified: trunk/framework/impl/src/main/java/org/richfaces/renderkit/TemplateEncoderRendererBase.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/TemplateEncoderRendererBase.java	2007-08-17 19:11:40 UTC (rev 2328)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/TemplateEncoderRendererBase.java	2007-08-17 22:43:26 UTC (rev 2329)
@@ -35,14 +35,18 @@
  *
  */
 public abstract class TemplateEncoderRendererBase extends HeaderResourcesRendererBase {
-	private TransformerFactory transformerFactory;
+	private static TransformerFactory transformerFactory;
 
-	public TemplateEncoderRendererBase() {
-		super();
+	private static TransformerFactory getTransformerFactory() {
+		synchronized (TemplateEncoderRendererBase.class) {
+			if (transformerFactory == null) {
+				transformerFactory = TransformerFactory.newInstance();
+			}
+		}
 
-		transformerFactory = TransformerFactory.newInstance();
+		return transformerFactory;
 	}
-
+	
 	public final boolean getRendersChildren() {
 		return true;
 	}
@@ -71,8 +75,10 @@
 		try {
 			Transformer transformer;
 
-			synchronized (transformerFactory) {
-				transformer = transformerFactory.newTransformer();
+			TransformerFactory factory = getTransformerFactory();
+			
+			synchronized (factory) {
+				transformer = factory.newTransformer();
 			}
 
 			transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");




More information about the richfaces-svn-commits mailing list