You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by pr...@apache.org on 2005/11/18 23:39:31 UTC
svn commit: r345588 - in /myfaces/share/trunk/src/java/org/apache/myfaces:
renderkit/html/HtmlMessageRendererBase.java
renderkit/html/HtmlMessagesRendererBase.java
renderkit/html/HtmlResponseWriterImpl.java
taglib/html/HtmlMessageTagBase.java
Author: prophecy
Date: Fri Nov 18 14:39:26 2005
New Revision: 345588
URL: http://svn.apache.org/viewcvs?rev=345588&view=rev
Log:
- Made t:message elements work with Ajax errors
- fixed UIComponent.findComponent to actually work.
Modified:
myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessageRendererBase.java
myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererBase.java
myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java
myfaces/share/trunk/src/java/org/apache/myfaces/taglib/html/HtmlMessageTagBase.java
Modified: myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessageRendererBase.java
URL: http://svn.apache.org/viewcvs/myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessageRendererBase.java?rev=345588&r1=345587&r2=345588&view=diff
==============================================================================
--- myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessageRendererBase.java (original)
+++ myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessageRendererBase.java Fri Nov 18 14:39:26 2005
@@ -51,10 +51,21 @@
FacesMessage facesMessage,
String msgClientId);
+
protected void renderMessage(FacesContext facesContext,
UIComponent message)
throws IOException
{
+ renderMessage(facesContext, message, false);
+ }
+
+ /**
+ * @param facesContext
+ * @param message
+ * @param alwaysRenderSpan if true will render a span even if there is no message
+ */
+ protected void renderMessage(FacesContext facesContext, UIComponent message, boolean alwaysRenderSpan) throws IOException
+ {
String forAttr = getFor(message);
if (forAttr == null)
{
@@ -75,18 +86,25 @@
if (!messageIterator.hasNext())
{
// No associated message, nothing to render
+ if (alwaysRenderSpan)
+ {
+ // show span anyways in case there's a client side update, ie: ajax
+ ResponseWriter writer = facesContext.getResponseWriter();
+ writer.startElement(HTML.SPAN_ELEM, message);
+ writer.writeAttribute(HTML.ID_ATTR, message.getId(), null);
+ writer.endElement(HTML.SPAN_ELEM);
+ }
return;
}
// get first message
- FacesMessage facesMessage = (FacesMessage)messageIterator.next();
+ FacesMessage facesMessage = (FacesMessage) messageIterator.next();
// and render it
- renderSingleFacesMessage(facesContext, message, facesMessage,clientId);
+ renderSingleFacesMessage(facesContext, message, facesMessage, clientId);
}
-
protected void renderSingleFacesMessage(FacesContext facesContext,
UIComponent message,
FacesMessage facesMessage,
@@ -94,7 +112,7 @@
throws IOException
{
// determine style and style class
- String[] styleAndClass = getStyleAndStyleClass(message, facesMessage.getSeverity());
+ String[] styleAndClass = HtmlMessageRendererBase.getStyleAndStyleClass(message, facesMessage.getSeverity());
String style = styleAndClass[0];
String styleClass = styleAndClass[1];
@@ -114,7 +132,7 @@
boolean span = false;
- if(message.getId()!=null && !message.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
+ if (message.getId() != null && !message.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
{
span = true;
@@ -126,8 +144,8 @@
}
else
{
- span=HtmlRendererUtils.renderHTMLAttributesWithOptionalStartElement(
- writer, message, HTML.SPAN_ELEM, HTML.MESSAGE_PASSTHROUGH_ATTRIBUTES_WITHOUT_TITLE_STYLE_AND_STYLE_CLASS);
+ span = HtmlRendererUtils.renderHTMLAttributesWithOptionalStartElement(
+ writer, message, HTML.SPAN_ELEM, HTML.MESSAGE_PASSTHROUGH_ATTRIBUTES_WITHOUT_TITLE_STYLE_AND_STYLE_CLASS);
}
span |= HtmlRendererUtils.renderHTMLAttributeWithOptionalStartElement(writer, message, HTML.SPAN_ELEM, HTML.TITLE_ATTR, title, span);
@@ -159,8 +177,8 @@
}
- protected String[] getStyleAndStyleClass(UIComponent message,
- FacesMessage.Severity severity)
+ public static String[] getStyleAndStyleClass(UIComponent message,
+ FacesMessage.Severity severity)
{
String style = null;
String styleClass = null;
@@ -168,33 +186,33 @@
{
if (severity == FacesMessage.SEVERITY_INFO)
{
- style = ((HtmlMessage)message).getInfoStyle();
- styleClass = ((HtmlMessage)message).getInfoClass();
+ style = ((HtmlMessage) message).getInfoStyle();
+ styleClass = ((HtmlMessage) message).getInfoClass();
}
else if (severity == FacesMessage.SEVERITY_WARN)
{
- style = ((HtmlMessage)message).getWarnStyle();
- styleClass = ((HtmlMessage)message).getWarnClass();
+ style = ((HtmlMessage) message).getWarnStyle();
+ styleClass = ((HtmlMessage) message).getWarnClass();
}
else if (severity == FacesMessage.SEVERITY_ERROR)
{
- style = ((HtmlMessage)message).getErrorStyle();
- styleClass = ((HtmlMessage)message).getErrorClass();
+ style = ((HtmlMessage) message).getErrorStyle();
+ styleClass = ((HtmlMessage) message).getErrorClass();
}
else if (severity == FacesMessage.SEVERITY_FATAL)
{
- style = ((HtmlMessage)message).getFatalStyle();
- styleClass = ((HtmlMessage)message).getFatalClass();
+ style = ((HtmlMessage) message).getFatalStyle();
+ styleClass = ((HtmlMessage) message).getFatalClass();
}
if (style == null)
{
- style = ((HtmlMessage)message).getStyle();
+ style = ((HtmlMessage) message).getStyle();
}
if (styleClass == null)
{
- styleClass = ((HtmlMessage)message).getStyleClass();
+ styleClass = ((HtmlMessage) message).getStyleClass();
}
}
else
@@ -202,48 +220,48 @@
Map attr = message.getAttributes();
if (severity == FacesMessage.SEVERITY_INFO)
{
- style = (String)attr.get(JSFAttr.INFO_STYLE_ATTR);
- styleClass = (String)attr.get(JSFAttr.INFO_CLASS_ATTR);
+ style = (String) attr.get(JSFAttr.INFO_STYLE_ATTR);
+ styleClass = (String) attr.get(JSFAttr.INFO_CLASS_ATTR);
}
else if (severity == FacesMessage.SEVERITY_WARN)
{
- style = (String)attr.get(JSFAttr.WARN_STYLE_ATTR);
- styleClass = (String)attr.get(JSFAttr.WARN_CLASS_ATTR);
+ style = (String) attr.get(JSFAttr.WARN_STYLE_ATTR);
+ styleClass = (String) attr.get(JSFAttr.WARN_CLASS_ATTR);
}
else if (severity == FacesMessage.SEVERITY_ERROR)
{
- style = (String)attr.get(JSFAttr.ERROR_STYLE_ATTR);
- styleClass = (String)attr.get(JSFAttr.ERROR_CLASS_ATTR);
+ style = (String) attr.get(JSFAttr.ERROR_STYLE_ATTR);
+ styleClass = (String) attr.get(JSFAttr.ERROR_CLASS_ATTR);
}
else if (severity == FacesMessage.SEVERITY_FATAL)
{
- style = (String)attr.get(JSFAttr.FATAL_STYLE_ATTR);
- styleClass = (String)attr.get(JSFAttr.FATAL_CLASS_ATTR);
+ style = (String) attr.get(JSFAttr.FATAL_STYLE_ATTR);
+ styleClass = (String) attr.get(JSFAttr.FATAL_CLASS_ATTR);
}
if (style == null)
{
- style = (String)attr.get(JSFAttr.STYLE_CLASS_ATTR);
+ style = (String) attr.get(JSFAttr.STYLE_CLASS_ATTR);
}
if (styleClass == null)
{
- styleClass = (String)attr.get(JSFAttr.STYLE_CLASS_ATTR);
+ styleClass = (String) attr.get(JSFAttr.STYLE_CLASS_ATTR);
}
}
- return new String[] {style, styleClass};
+ return new String[]{style, styleClass};
}
protected String getFor(UIComponent component)
{
if (component instanceof UIMessage)
{
- return ((UIMessage)component).getFor();
+ return ((UIMessage) component).getFor();
}
else
{
- return (String)component.getAttributes().get(JSFAttr.FOR_ATTR);
+ return (String) component.getAttributes().get(JSFAttr.FOR_ATTR);
}
}
@@ -251,11 +269,11 @@
{
if (component instanceof HtmlMessage)
{
- return ((HtmlMessage)component).getTitle();
+ return ((HtmlMessage) component).getTitle();
}
else
{
- return (String)component.getAttributes().get(JSFAttr.TITLE_ATTR);
+ return (String) component.getAttributes().get(JSFAttr.TITLE_ATTR);
}
}
@@ -263,7 +281,7 @@
{
if (component instanceof HtmlMessage)
{
- return ((HtmlMessage)component).isTooltip();
+ return ((HtmlMessage) component).isTooltip();
}
else
{
@@ -275,7 +293,7 @@
{
if (component instanceof UIMessage)
{
- return ((UIMessage)component).isShowSummary();
+ return ((UIMessage) component).isShowSummary();
}
else
{
@@ -287,23 +305,13 @@
{
if (component instanceof UIMessage)
{
- return ((UIMessage)component).isShowDetail();
+ return ((UIMessage) component).isShowDetail();
}
else
{
return RendererUtils.getBooleanAttribute(component, JSFAttr.SHOW_DETAIL_ATTR, false);
}
}
-
-
-
-
-
-
-
-
-
-
}
Modified: myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererBase.java
URL: http://svn.apache.org/viewcvs/myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererBase.java?rev=345588&r1=345587&r2=345588&view=diff
==============================================================================
--- myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererBase.java (original)
+++ myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererBase.java Fri Nov 18 14:39:26 2005
@@ -129,7 +129,7 @@
}
- protected String[] getStyleAndStyleClass(UIComponent messages,
+ public static String[] getStyleAndStyleClass(UIComponent messages,
FacesMessage.Severity severity)
{
String style = null;
Modified: myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java
URL: http://svn.apache.org/viewcvs/myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java?rev=345588&r1=345587&r2=345588&view=diff
==============================================================================
--- myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java (original)
+++ myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java Fri Nov 18 14:39:26 2005
@@ -279,8 +279,12 @@
{
if (s_emptyHtmlElements.contains(name.toLowerCase()))
{
+ /*
+ Should this be here? It warns even when you have an x:htmlTag value="br", it should just close.
+
if (log.isWarnEnabled())
log.warn("HTML nesting warning on closing " + name + ": This element must not contain nested elements or text in HTML");
+ */
}
else
{
Modified: myfaces/share/trunk/src/java/org/apache/myfaces/taglib/html/HtmlMessageTagBase.java
URL: http://svn.apache.org/viewcvs/myfaces/share/trunk/src/java/org/apache/myfaces/taglib/html/HtmlMessageTagBase.java?rev=345588&r1=345587&r2=345588&view=diff
==============================================================================
--- myfaces/share/trunk/src/java/org/apache/myfaces/taglib/html/HtmlMessageTagBase.java (original)
+++ myfaces/share/trunk/src/java/org/apache/myfaces/taglib/html/HtmlMessageTagBase.java Fri Nov 18 14:39:26 2005
@@ -92,6 +92,11 @@
_for = aFor;
}
+ public String getFor()
+ {
+ return _for;
+ }
+
public void setShowSummary(String showSummary)
{
_showSummary = showSummary;