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.HtmlMessagesRendererBase;
33 import org.apache.myfaces.shared.renderkit.html.util.ResourceUtils;
34
35
36
37
38
39
40
41
42 @JSFRenderer(renderKitId = "HTML_BASIC", family = "javax.faces.Messages", type = "javax.faces.Messages")
43 public class HtmlMessagesRenderer extends HtmlMessagesRendererBase
44 {
45
46
47 @Override
48 public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
49 {
50 super.encodeEnd(facesContext, component);
51
52 Map<String, List<ClientBehavior>> behaviors = null;
53 if (component instanceof ClientBehaviorHolder)
54 {
55 behaviors = ((ClientBehaviorHolder) component).getClientBehaviors();
56 if (!behaviors.isEmpty())
57 {
58 ResourceUtils.renderDefaultJsfJsInlineIfNecessary(facesContext, facesContext.getResponseWriter());
59 }
60 }
61
62 renderMessages(facesContext, component, false, true);
63 }
64
65 @Override
66 protected String getSummary(FacesContext facesContext, UIComponent message, FacesMessage facesMessage,
67 String msgClientId)
68 {
69 return facesMessage.getSummary();
70 }
71
72 @Override
73 protected String getDetail(FacesContext facesContext, UIComponent message, FacesMessage facesMessage,
74 String msgClientId)
75 {
76 return facesMessage.getDetail();
77 }
78
79 @Override
80 protected boolean isCommonPropertiesOptimizationEnabled(FacesContext facesContext)
81 {
82 return true;
83 }
84
85 @Override
86 protected boolean isCommonEventsOptimizationEnabled(FacesContext facesContext)
87 {
88 return true;
89 }
90
91 }