1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.renderkit.html;
20
21 import java.io.IOException;
22 import java.util.List;
23 import java.util.Map;
24
25 import javax.faces.application.FacesMessage;
26 import javax.faces.component.UIComponent;
27 import javax.faces.component.behavior.ClientBehavior;
28 import javax.faces.component.behavior.ClientBehaviorHolder;
29 import javax.faces.context.FacesContext;
30
31 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
32 import org.apache.myfaces.shared.renderkit.html.util.ResourceUtils;
33 import org.apache.myfaces.shared.renderkit.html.HtmlMessageRendererBase;
34
35
36
37
38
39
40
41 @JSFRenderer(renderKitId = "HTML_BASIC", family = "javax.faces.Message", type = "javax.faces.Message")
42 public class HtmlMessageRenderer extends HtmlMessageRendererBase
43 {
44
45
46 @Override
47 public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
48 {
49 super.encodeEnd(facesContext, component);
50
51 Map<String, List<ClientBehavior>> behaviors = null;
52 if (component instanceof ClientBehaviorHolder)
53 {
54 behaviors = ((ClientBehaviorHolder) component).getClientBehaviors();
55 if (!behaviors.isEmpty())
56 {
57 ResourceUtils.renderDefaultJsfJsInlineIfNecessary(facesContext, facesContext.getResponseWriter());
58 }
59 }
60
61 renderMessage(facesContext, component, false, true);
62 }
63
64 @Override
65 protected String getSummary(FacesContext facesContext, UIComponent message, FacesMessage facesMessage,
66 String msgClientId)
67 {
68 return facesMessage.getSummary();
69 }
70
71 @Override
72 protected String getDetail(FacesContext facesContext, UIComponent message, FacesMessage facesMessage,
73 String msgClientId)
74 {
75 return facesMessage.getDetail();
76 }
77
78 @Override
79 protected boolean isCommonPropertiesOptimizationEnabled(FacesContext facesContext)
80 {
81 return true;
82 }
83
84 @Override
85 protected boolean isCommonEventsOptimizationEnabled(FacesContext facesContext)
86 {
87 return true;
88 }
89
90 }