You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2012/02/02 21:01:26 UTC
svn commit: r1239800 [3/8] - in
/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared:
application/ config/ context/flash/ renderkit/ renderkit/html/
renderkit/html/util/ resource/ taglib/ taglib/core/ util/ util/io/ util/xml/
Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java?rev=1239800&r1=1239799&r2=1239800&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java Thu Feb 2 20:01:25 2012
@@ -24,6 +24,7 @@ import java.net.URLEncoder;
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import java.util.RandomAccess;
import javax.faces.application.ViewHandler;
import javax.faces.component.UICommand;
@@ -244,13 +245,39 @@ public abstract class HtmlLinkRendererBa
{
HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
}
- HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, component, behaviors);
- HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
- facesContext, writer, component, behaviors);
+ long commonPropertiesMarked = 0L;
+ if (isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ commonPropertiesMarked = CommonPropertyUtils.getCommonPropertiesMarked(component);
+ }
+ if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ CommonPropertyUtils.renderEventProperties(writer,
+ commonPropertiesMarked, component);
+ CommonPropertyUtils.renderFocusBlurEventProperties(writer,
+ commonPropertiesMarked, component);
+ }
+ else
+ {
+ if (isCommonEventsOptimizationEnabled(facesContext))
+ {
+ Long commonEventsMarked = CommonEventUtils.getCommonEventsMarked(component);
+ CommonEventUtils.renderBehaviorizedEventHandlers(facesContext, writer,
+ commonPropertiesMarked, commonEventsMarked, component, behaviors);
+ CommonEventUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, commonPropertiesMarked, commonEventsMarked, component, behaviors);
+ }
+ else
+ {
+ HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, component, behaviors);
+ HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, component, behaviors);
+ }
+ }
if (isCommonPropertiesOptimizationEnabled(facesContext))
{
CommonPropertyUtils.renderAnchorPassthroughPropertiesWithoutEvents(writer,
- CommonPropertyUtils.getCommonPropertiesMarked(component), component);
+ commonPropertiesMarked, component);
}
else
{
@@ -290,14 +317,29 @@ public abstract class HtmlLinkRendererBa
{
HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
}
- HtmlRendererUtils.renderBehaviorizedEventHandlersWithoutOnclick(
- facesContext, writer, component, behaviors);
- HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
- facesContext, writer, component, behaviors);
+ long commonPropertiesMarked = 0L;
+ if (isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ commonPropertiesMarked = CommonPropertyUtils.getCommonPropertiesMarked(component);
+ }
+ if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ CommonPropertyUtils.renderEventPropertiesWithoutOnclick(writer,
+ commonPropertiesMarked, component);
+ CommonPropertyUtils.renderFocusBlurEventProperties(writer,
+ commonPropertiesMarked, component);
+ }
+ else
+ {
+ HtmlRendererUtils.renderBehaviorizedEventHandlersWithoutOnclick(
+ facesContext, writer, component, behaviors);
+ HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, component, behaviors);
+ }
if (isCommonPropertiesOptimizationEnabled(facesContext))
{
CommonPropertyUtils.renderAnchorPassthroughPropertiesWithoutStyleAndEvents(writer,
- CommonPropertyUtils.getCommonPropertiesMarked(component), component);
+ commonPropertiesMarked, component);
}
else
{
@@ -368,7 +410,7 @@ public abstract class HtmlLinkRendererBa
UIComponent nestingForm = formInfo.getForm();
String formName = formInfo.getFormName();
- StringBuffer onClick = new StringBuffer();
+ StringBuilder onClick = new StringBuilder();
String commandOnclick;
if (component instanceof HtmlCommandLink)
@@ -400,7 +442,7 @@ public abstract class HtmlLinkRendererBa
{
HtmlRendererUtils.renderFormSubmitScript(facesContext);
- StringBuffer params = addChildParameters(facesContext, component, nestingForm);
+ StringBuilder params = addChildParameters(facesContext, component, nestingForm);
String target = getTarget(component);
@@ -511,11 +553,28 @@ public abstract class HtmlLinkRendererBa
List<ClientBehavior> eventBehaviors = clientBehaviors.get(eventName);
if (eventBehaviors != null && !eventBehaviors.isEmpty())
{
- for (ClientBehavior behavior : eventBehaviors)
+ // perf: in 99% cases is eventBehaviors javax.faces.component._DeltaList._DeltaList(int) = RandomAccess
+ // instance created in javax.faces.component.UIComponentBase.addClientBehavior(String, ClientBehavior), but
+ // component libraries can provide own implementation
+ if (eventBehaviors instanceof RandomAccess)
{
- if (behavior.getHints().contains(ClientBehaviorHint.SUBMITTING))
+ for (int i = 0, size = eventBehaviors.size(); i < size; i++)
{
- return true;
+ ClientBehavior behavior = eventBehaviors.get(i);
+ if (behavior.getHints().contains(ClientBehaviorHint.SUBMITTING))
+ {
+ return true;
+ }
+ }
+ }
+ else
+ {
+ for (ClientBehavior behavior : eventBehaviors)
+ {
+ if (behavior.getHints().contains(ClientBehaviorHint.SUBMITTING))
+ {
+ return true;
+ }
}
}
}
@@ -528,7 +587,7 @@ public abstract class HtmlLinkRendererBa
UIComponent nestingForm = formInfo.getForm();
String formName = formInfo.getFormName();
- StringBuffer onClick = new StringBuffer();
+ StringBuilder onClick = new StringBuilder();
if (RendererUtils.isAdfOrTrinidadForm(formInfo.getForm()))
{
@@ -542,7 +601,7 @@ public abstract class HtmlLinkRendererBa
{
HtmlRendererUtils.renderFormSubmitScript(facesContext);
- StringBuffer params = addChildParameters(facesContext, component, nestingForm);
+ StringBuilder params = addChildParameters(facesContext, component, nestingForm);
String target = getTarget(component);
@@ -594,16 +653,17 @@ public abstract class HtmlLinkRendererBa
return target;
}
- private StringBuffer addChildParameters(FacesContext context, UIComponent component, UIComponent nestingForm)
+ private StringBuilder addChildParameters(FacesContext context, UIComponent component, UIComponent nestingForm)
{
//add child parameters
- StringBuffer params = new StringBuffer();
+ StringBuilder params = new StringBuilder();
params.append("[");
List<UIParameter> validParams = HtmlRendererUtils.getValidUIParameterChildren(
FacesContext.getCurrentInstance(), getChildren(component), false, false);
- for (UIParameter param : validParams)
+ for (int j = 0, size = validParams.size(); j < size; j++)
{
+ UIParameter param = validParams.get(j);
String name = param.getName();
//Not necessary, since we are using oamSetHiddenInput to create hidden fields
@@ -628,7 +688,7 @@ public abstract class HtmlLinkRendererBa
if (value != null)
{
strParamValue = value.toString();
- StringBuffer buff = null;
+ StringBuilder buff = null;
for (int i = 0; i < strParamValue.length(); i++)
{
char c = strParamValue.charAt(i);
@@ -636,7 +696,7 @@ public abstract class HtmlLinkRendererBa
{
if (buff == null)
{
- buff = new StringBuffer();
+ buff = new StringBuilder();
buff.append(strParamValue.substring(0,i));
}
buff.append('\\');
@@ -701,7 +761,7 @@ public abstract class HtmlLinkRendererBa
boolean strictXhtmlLinks
= MyfacesConfig.getCurrentInstance(facesContext.getExternalContext()).isStrictXhtmlLinks();
- StringBuffer hrefBuf = new StringBuffer(path);
+ StringBuilder hrefBuf = new StringBuilder(path);
//add clientId parameter for decode
@@ -741,7 +801,7 @@ public abstract class HtmlLinkRendererBa
private void addChildParametersToHref(FacesContext facesContext,
UIComponent linkComponent,
- StringBuffer hrefBuf,
+ StringBuilder hrefBuf,
boolean firstParameter,
String charEncoding)
throws IOException
@@ -751,8 +811,10 @@ public abstract class HtmlLinkRendererBa
List<UIParameter> validParams = HtmlRendererUtils.getValidUIParameterChildren(
facesContext, getChildren(linkComponent), false, false);
- for (UIParameter param : validParams)
+
+ for (int i = 0, size = validParams.size(); i < size; i++)
{
+ UIParameter param = validParams.get(i);
String name = param.getName();
Object value = param.getValue();
addParameterToHref(name, value, hrefBuf, firstParameter, charEncoding, strictXhtmlLinks);
@@ -781,13 +843,40 @@ public abstract class HtmlLinkRendererBa
{
HtmlRendererUtils.writeIdIfNecessary(writer, output, facesContext);
}
- HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
- HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
- facesContext, writer, output, behaviors);
+ long commonPropertiesMarked = 0L;
+ if (isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ commonPropertiesMarked = CommonPropertyUtils.getCommonPropertiesMarked(output);
+ }
+
+ if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ CommonPropertyUtils.renderEventProperties(writer,
+ commonPropertiesMarked, output);
+ CommonPropertyUtils.renderFocusBlurEventProperties(writer,
+ commonPropertiesMarked, output);
+ }
+ else
+ {
+ if (isCommonEventsOptimizationEnabled(facesContext))
+ {
+ Long commonEventsMarked = CommonEventUtils.getCommonEventsMarked(output);
+ CommonEventUtils.renderBehaviorizedEventHandlers(facesContext, writer,
+ commonPropertiesMarked, commonEventsMarked, output, behaviors);
+ CommonEventUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, commonPropertiesMarked, commonEventsMarked, output, behaviors);
+ }
+ else
+ {
+ HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
+ HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, output, behaviors);
+ }
+ }
if (isCommonPropertiesOptimizationEnabled(facesContext))
{
CommonPropertyUtils.renderAnchorPassthroughPropertiesWithoutEvents(writer,
- CommonPropertyUtils.getCommonPropertiesMarked(output), output);
+ commonPropertiesMarked, output);
}
else
{
@@ -826,7 +915,7 @@ public abstract class HtmlLinkRendererBa
}
if (getChildCount(output) > 0)
{
- StringBuffer hrefBuf = new StringBuffer(href);
+ StringBuilder hrefBuf = new StringBuilder(href);
addChildParametersToHref(facesContext, output, hrefBuf,
(href.indexOf('?') == -1), //first url parameter?
writer.getCharacterEncoding());
@@ -867,13 +956,39 @@ public abstract class HtmlLinkRendererBa
{
HtmlRendererUtils.writeIdAndNameIfNecessary(writer, output, facesContext);
}
- HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
- HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
- facesContext, writer, output, behaviors);
+ long commonPropertiesMarked = 0L;
+ if (isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ commonPropertiesMarked = CommonPropertyUtils.getCommonPropertiesMarked(output);
+ }
+ if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ CommonPropertyUtils.renderEventProperties(writer,
+ commonPropertiesMarked, output);
+ CommonPropertyUtils.renderFocusBlurEventProperties(writer,
+ commonPropertiesMarked, output);
+ }
+ else
+ {
+ if (isCommonEventsOptimizationEnabled(facesContext))
+ {
+ Long commonEventsMarked = CommonEventUtils.getCommonEventsMarked(output);
+ CommonEventUtils.renderBehaviorizedEventHandlers(facesContext, writer,
+ commonPropertiesMarked, commonEventsMarked, output, behaviors);
+ CommonEventUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, commonPropertiesMarked, commonEventsMarked, output, behaviors);
+ }
+ else
+ {
+ HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
+ HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, output, behaviors);
+ }
+ }
if (isCommonPropertiesOptimizationEnabled(facesContext))
{
CommonPropertyUtils.renderAnchorPassthroughPropertiesWithoutEvents(writer,
- CommonPropertyUtils.getCommonPropertiesMarked(output), output);
+ commonPropertiesMarked, output);
}
else
{
@@ -923,13 +1038,39 @@ public abstract class HtmlLinkRendererBa
{
HtmlRendererUtils.writeIdIfNecessary(writer, output, facesContext);
}
- HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
- HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
- facesContext, writer, output, behaviors);
+ long commonPropertiesMarked = 0L;
+ if (isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ commonPropertiesMarked = CommonPropertyUtils.getCommonPropertiesMarked(output);
+ }
+ if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ CommonPropertyUtils.renderEventProperties(writer,
+ commonPropertiesMarked, output);
+ CommonPropertyUtils.renderFocusBlurEventProperties(writer,
+ commonPropertiesMarked, output);
+ }
+ else
+ {
+ if (isCommonEventsOptimizationEnabled(facesContext))
+ {
+ Long commonEventsMarked = CommonEventUtils.getCommonEventsMarked(output);
+ CommonEventUtils.renderBehaviorizedEventHandlers(facesContext, writer,
+ commonPropertiesMarked, commonEventsMarked, output, behaviors);
+ CommonEventUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, commonPropertiesMarked, commonEventsMarked, output, behaviors);
+ }
+ else
+ {
+ HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
+ HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, output, behaviors);
+ }
+ }
if (isCommonPropertiesOptimizationEnabled(facesContext))
{
CommonPropertyUtils.renderAnchorPassthroughPropertiesWithoutEvents(writer,
- CommonPropertyUtils.getCommonPropertiesMarked(output), output);
+ commonPropertiesMarked, output);
}
else
{
@@ -975,13 +1116,39 @@ public abstract class HtmlLinkRendererBa
{
HtmlRendererUtils.writeIdAndNameIfNecessary(writer, output, facesContext);
}
- HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
- HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
- facesContext, writer, output, behaviors);
+ long commonPropertiesMarked = 0L;
+ if (isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ commonPropertiesMarked = CommonPropertyUtils.getCommonPropertiesMarked(output);
+ }
+ if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ CommonPropertyUtils.renderEventProperties(writer,
+ commonPropertiesMarked, output);
+ CommonPropertyUtils.renderFocusBlurEventProperties(writer,
+ commonPropertiesMarked, output);
+ }
+ else
+ {
+ if (isCommonEventsOptimizationEnabled(facesContext))
+ {
+ Long commonEventsMarked = CommonEventUtils.getCommonEventsMarked(output);
+ CommonEventUtils.renderBehaviorizedEventHandlers(facesContext, writer,
+ commonPropertiesMarked, commonEventsMarked, output, behaviors);
+ CommonEventUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, commonPropertiesMarked, commonEventsMarked, output, behaviors);
+ }
+ else
+ {
+ HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
+ HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
+ facesContext, writer, output, behaviors);
+ }
+ }
if (isCommonPropertiesOptimizationEnabled(facesContext))
{
CommonPropertyUtils.renderAnchorPassthroughPropertiesWithoutEvents(writer,
- CommonPropertyUtils.getCommonPropertiesMarked(output), output);
+ commonPropertiesMarked, output);
}
else
{
@@ -1011,7 +1178,7 @@ public abstract class HtmlLinkRendererBa
private void renderLinkParameter(String name,
Object value,
- StringBuffer onClick,
+ StringBuilder onClick,
String jsForm,
UIComponent nestingForm)
{
@@ -1031,7 +1198,7 @@ public abstract class HtmlLinkRendererBa
private static void addParameterToHref(String name,
Object value,
- StringBuffer hrefBuf,
+ StringBuilder hrefBuf,
boolean firstParameter,
String charEncoding,
boolean strictXhtmlLinks) throws UnsupportedEncodingException
Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlListboxRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlListboxRendererBase.java?rev=1239800&r1=1239799&r2=1239800&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlListboxRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlListboxRendererBase.java Thu Feb 2 20:01:25 2012
@@ -43,7 +43,7 @@ import java.util.Map;
* @version $Revision$ $Date$
*/
public class HtmlListboxRendererBase
- extends HtmlRenderer
+ extends HtmlSelectableRendererBase
{
public void encodeEnd(FacesContext facesContext, UIComponent uiComponent)
throws IOException
@@ -69,14 +69,14 @@ public class HtmlListboxRendererBase
if (uiComponent instanceof UISelectMany)
{
- HtmlRendererUtils.renderListbox(facesContext,
+ renderListbox(facesContext,
(UISelectMany)uiComponent,
isDisabled(facesContext, uiComponent),
size, getConverter(facesContext, uiComponent));
}
else if (uiComponent instanceof HtmlSelectOneListbox)
{
- HtmlRendererUtils.renderListbox(facesContext,
+ renderListbox(facesContext,
(UISelectOne)uiComponent,
isDisabled(facesContext, uiComponent),
size, getConverter(facesContext, uiComponent));
@@ -86,6 +86,22 @@ public class HtmlListboxRendererBase
throw new IllegalArgumentException("Unsupported component class " + uiComponent.getClass().getName());
}
}
+
+ protected void renderListbox(FacesContext facesContext,
+ UISelectOne selectOne, boolean disabled, int size,
+ Converter converter) throws IOException
+ {
+ internalRenderSelect(facesContext, selectOne, disabled, size, false,
+ converter);
+ }
+
+ protected void renderListbox(FacesContext facesContext,
+ UISelectMany selectMany, boolean disabled, int size,
+ Converter converter) throws IOException
+ {
+ internalRenderSelect(facesContext, selectMany, disabled, size, true,
+ converter);
+ }
protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
{
Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMenuRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMenuRendererBase.java?rev=1239800&r1=1239799&r2=1239800&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMenuRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMenuRendererBase.java Thu Feb 2 20:01:25 2012
@@ -44,7 +44,7 @@ import org.apache.myfaces.shared.renderk
* @version $Revision$ $Date$
*/
public class HtmlMenuRendererBase
- extends HtmlRenderer
+ extends HtmlSelectableRendererBase
{
//private static final Log log = LogFactory.getLog(HtmlMenuRenderer.class);
@@ -66,14 +66,14 @@ public class HtmlMenuRendererBase
if (component instanceof UISelectMany)
{
- HtmlRendererUtils.renderMenu(facesContext,
+ renderMenu(facesContext,
(UISelectMany)component,
isDisabled(facesContext, component),
getConverter(facesContext, component));
}
else if (component instanceof UISelectOne)
{
- HtmlRendererUtils.renderMenu(facesContext,
+ renderMenu(facesContext,
(UISelectOne)component,
isDisabled(facesContext, component),
getConverter(facesContext, component));
@@ -83,6 +83,22 @@ public class HtmlMenuRendererBase
throw new IllegalArgumentException("Unsupported component class " + component.getClass().getName());
}
}
+
+ protected void renderMenu(FacesContext facesContext,
+ UISelectOne selectOne, boolean disabled, Converter converter)
+ throws IOException
+ {
+ internalRenderSelect(facesContext, selectOne, disabled, 1, false,
+ converter);
+ }
+
+ protected void renderMenu(FacesContext facesContext,
+ UISelectMany selectMany, boolean disabled, Converter converter)
+ throws IOException
+ {
+ internalRenderSelect(facesContext, selectMany, disabled, 1, true,
+ converter);
+ }
protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
{
Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessageRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessageRendererBase.java?rev=1239800&r1=1239799&r2=1239800&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessageRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessageRendererBase.java Thu Feb 2 20:01:25 2012
@@ -109,8 +109,8 @@ public abstract class HtmlMessageRendere
ResponseWriter writer = facesContext.getResponseWriter();
writer.startElement(HTML.SPAN_ELEM, null);
writer.writeAttribute(HTML.ID_ATTR, clientId + "_msgFor", null);
- HtmlRendererUtils.renderHTMLAttribute(writer, message, JSFAttr.STYLE_ATTR, HTML.STYLE_ATTR);
- HtmlRendererUtils.renderHTMLAttribute(writer, message, JSFAttr.STYLE_CLASS_ATTR, HTML.CLASS_ATTR);
+ HtmlRendererUtils.renderHTMLStringAttribute(writer, message, JSFAttr.STYLE_ATTR, HTML.STYLE_ATTR);
+ HtmlRendererUtils.renderHTMLStringAttribute(writer, message, JSFAttr.STYLE_CLASS_ATTR, HTML.CLASS_ATTR);
writer.endElement(HTML.SPAN_ELEM);
}
else if (renderDivWhenNoMessagesAndIdSet && message.getId() != null &&
@@ -247,7 +247,24 @@ public abstract class HtmlMessageRendere
facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) message).getClientBehaviors();
- HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, message, behaviors);
+ if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ CommonPropertyUtils.renderEventProperties(writer,
+ CommonPropertyUtils.getCommonPropertiesMarked(message), message);
+ }
+ else
+ {
+ if (isCommonEventsOptimizationEnabled(facesContext))
+ {
+ CommonEventUtils.renderBehaviorizedEventHandlers(facesContext, writer,
+ CommonPropertyUtils.getCommonPropertiesMarked(message),
+ CommonEventUtils.getCommonEventsMarked(message), message, behaviors);
+ }
+ else
+ {
+ HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, message, behaviors);
+ }
+ }
HtmlRendererUtils.renderHTMLAttributes(writer, message,
HTML.UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE_AND_TITLE);
}
Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlOutcomeTargetButtonRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlOutcomeTargetButtonRendererBase.java?rev=1239800&r1=1239799&r2=1239800&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlOutcomeTargetButtonRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlOutcomeTargetButtonRendererBase.java Thu Feb 2 20:01:25 2012
@@ -119,7 +119,7 @@ public class HtmlOutcomeTargetButtonRend
}
else
{
- StringBuffer onClick = new StringBuffer();
+ StringBuilder onClick = new StringBuilder();
if (commandOnClick != null)
{
@@ -162,7 +162,7 @@ public class HtmlOutcomeTargetButtonRend
writer, commonPropertiesMarked, uiComponent);
if ((commonPropertiesMarked & CommonPropertyConstants.ALT_PROP) != 0)
{
- CommonPropertyUtils.renderHTMLStringAttribute(writer, uiComponent,
+ HtmlRendererUtils.renderHTMLStringAttribute(writer, uiComponent,
HTML.ALT_ATTR, HTML.ALT_ATTR);
}
}
@@ -186,7 +186,7 @@ public class HtmlOutcomeTargetButtonRend
}
HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
HTML.COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS);
- HtmlRendererUtils.renderHTMLAttribute(writer, uiComponent,
+ HtmlRendererUtils.renderHTMLStringAttribute(writer, uiComponent,
HTML.ALT_ATTR, HTML.ALT_ATTR);
}
Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java?rev=1239800&r1=1239799&r2=1239800&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java Thu Feb 2 20:01:25 2012
@@ -355,10 +355,38 @@ public class HtmlRadioRendererBase
{
behaviors = ((ClientBehaviorHolder) uiComponent).getClientBehaviors();
- HtmlRendererUtils.renderBehaviorizedOnchangeEventHandler(facesContext, writer, uiComponent, behaviors);
- HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, uiComponent, behaviors);
- HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchange(
- facesContext, writer, uiComponent, behaviors);
+ long commonPropertiesMarked = 0L;
+ if (isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ commonPropertiesMarked = CommonPropertyUtils.getCommonPropertiesMarked(uiComponent);
+ }
+ if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
+ {
+ CommonPropertyUtils.renderChangeEventProperty(writer,
+ commonPropertiesMarked, uiComponent);
+ CommonPropertyUtils.renderEventProperties(writer,
+ commonPropertiesMarked, uiComponent);
+ CommonPropertyUtils.renderFieldEventPropertiesWithoutOnchange(writer,
+ commonPropertiesMarked, uiComponent);
+ }
+ else
+ {
+ HtmlRendererUtils.renderBehaviorizedOnchangeEventHandler(facesContext, writer, uiComponent, behaviors);
+ if (isCommonEventsOptimizationEnabled(facesContext))
+ {
+ Long commonEventsMarked = CommonEventUtils.getCommonEventsMarked(uiComponent);
+ CommonEventUtils.renderBehaviorizedEventHandlers(facesContext, writer,
+ commonPropertiesMarked, commonEventsMarked, uiComponent, behaviors);
+ CommonEventUtils.renderBehaviorizedFieldEventHandlersWithoutOnchange(
+ facesContext, writer, commonPropertiesMarked, commonEventsMarked, uiComponent, behaviors);
+ }
+ else
+ {
+ HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, uiComponent, behaviors);
+ HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchange(
+ facesContext, writer, uiComponent, behaviors);
+ }
+ }
HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
HTML.INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_STYLE_AND_EVENTS);
}
Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRenderer.java?rev=1239800&r1=1239799&r2=1239800&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRenderer.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRenderer.java Thu Feb 2 20:01:25 2012
@@ -160,4 +160,9 @@ public abstract class HtmlRenderer
{
return false;
}
+
+ protected boolean isCommonEventsOptimizationEnabled(FacesContext facesContext)
+ {
+ return false;
+ }
}