Author: konstantin.mishin
Date: 2010-04-27 10:07:01 -0400 (Tue, 27 Apr 2010)
New Revision: 16819
Modified:
branches/enterprise/3.3.X/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
Log:
RFPL-553
Modified:
branches/enterprise/3.3.X/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
===================================================================
---
branches/enterprise/3.3.X/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2010-04-27
13:32:45 UTC (rev 16818)
+++
branches/enterprise/3.3.X/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2010-04-27
14:07:01 UTC (rev 16819)
@@ -48,6 +48,9 @@
public class ToolTipRenderer extends AjaxComponentRendererBase {
+ private ToolTipRenderer blockRenderer;
+ private ToolTipRenderer nonblockRenderer;
+
private static final String AJAX_MODE = "ajax";
private final InternetResource[] styles = {
getResource("/org/richfaces/renderkit/html/css/tooltip.xcss") };
@@ -399,15 +402,21 @@
}
private ToolTipRenderer getRenderer(UIToolTip toolTip) throws ClassNotFoundException,
InstantiationException, IllegalAccessException{
- Class<?> rendererClass;
- if ("block".equals(toolTip.getLayout())) {
- rendererClass =
Class.forName("org.richfaces.renderkit.html.HtmlToolTipRendererBlock");
- } else {
- rendererClass =
Class.forName("org.richfaces.renderkit.html.HtmlToolTipRenderer");
+ synchronized (this) {
+ if ("block".equals(toolTip.getLayout())) {
+ if (blockRenderer==null){
+ blockRenderer =
(ToolTipRenderer)Class.forName("org.richfaces.renderkit.html.HtmlToolTipRendererBlock").newInstance();
+ }
+ return blockRenderer;
+
+ } else {
+ if (nonblockRenderer==null){
+ nonblockRenderer =
(ToolTipRenderer)Class.forName("org.richfaces.renderkit.html.HtmlToolTipRenderer").newInstance();
+ }
+ return nonblockRenderer;
+
+ }
}
-
- return (ToolTipRenderer) rendererClass.newInstance();
-
}
}
Show replies by date