Author: alexsmirnov
Date: 2010-03-02 19:08:19 -0500 (Tue, 02 Mar 2010)
New Revision: 16517
Modified:
branches/community/3.3.X/ui/message/src/main/java/org/richfaces/component/UIRichMessages.java
branches/community/3.3.X/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java
branches/community/3.3.X/ui/message/src/test/java/org/richfaces/component/UIMessagesTest.java
Log:
RESOLVED - issue RF-8432: messages: messages not rendered if not ajaxRendered but
explicitly reRendered and level used
https://jira.jboss.org/jira/browse/RF-8432
Modified:
branches/community/3.3.X/ui/message/src/main/java/org/richfaces/component/UIRichMessages.java
===================================================================
---
branches/community/3.3.X/ui/message/src/main/java/org/richfaces/component/UIRichMessages.java 2010-03-02
18:52:59 UTC (rev 16516)
+++
branches/community/3.3.X/ui/message/src/main/java/org/richfaces/component/UIRichMessages.java 2010-03-03
00:08:19 UTC (rev 16517)
@@ -52,7 +52,6 @@
private String forVal = null;
private boolean updated = false;
- private boolean ajaxRendered = true;
private List<FacesMessageWithId> renderedMessages;
/**
@@ -99,14 +98,6 @@
return updated;
}
- public boolean isAjaxRendered() {
- return ajaxRendered;
- }
-
- public void setAjaxRendered(boolean ajaxRendered) {
- this.ajaxRendered = ajaxRendered;
- }
-
public Iterator<FacesMessage> getMessages(FacesContext context) {
String forInputId = getFor();
if (null == this.renderedMessages || null != forInputId) {
@@ -181,8 +172,7 @@
Iterator<FacesMessage> messages = context.getMessages(forId);
while (messages.hasNext()) {
FacesMessage message = messages.next();
- if (severenities.size() == 0 || severenities.contains("ALL")
- || isApplicableMessage(severenities, message)) {
+ if (isApplicableMessage(severenities, message)) {
renderedMessages.add(new FacesMessageWithId(forId, message));
}
}
@@ -198,10 +188,11 @@
if (severenities.size() == 0 || severenities.contains("ALL")) {
return true;
}
- AjaxContext ac = AjaxContext.getCurrentInstance(FacesContext.getCurrentInstance());
- if(ac.isAjaxRequest() && !this.isAjaxRendered()){
- return false;
- }
+// AjaxContext ac = AjaxContext.getCurrentInstance(FacesContext.getCurrentInstance());
+ //
https://jira.jboss.org/jira/browse/RF-8432
+// if(ac.isAjaxRequest() && !this.isAjaxRendered()){
+// return false;
+// }
Severity severity = message.getSeverity();
for (Object key : FacesMessage.VALUES_MAP.keySet()) {
Severity sev = (Severity) FacesMessage.VALUES_MAP.get(key);
@@ -220,6 +211,10 @@
super.encodeBegin(context);
}
+ public abstract boolean isAjaxRendered();
+
+ public abstract void setAjaxRendered(boolean ajaxRendered);
+
public abstract String getLevel();
public abstract void setLevel(String level);
@@ -237,13 +232,12 @@
public Object saveState(FacesContext context) {
if (values == null) {
- values = new Object[4];
+ values = new Object[3];
}
values[0] = super.saveState(context);
values[1] = this.forVal;
- values[2] = this.ajaxRendered;
- values[3] = saveAttachedState(context, getRenderedMessages());
+ values[2] = saveAttachedState(context, getRenderedMessages());
return (values);
}
@@ -254,9 +248,8 @@
values = (Object[]) state;
super.restoreState(context, values[0]);
forVal = (String) values[1];
- ajaxRendered = (Boolean) values[2];
setRenderedMessages((List<FacesMessageWithId>) restoreAttachedState(
- context, values[3]));
+ context, values[2]));
}
/**
Modified:
branches/community/3.3.X/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java
===================================================================
---
branches/community/3.3.X/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java 2010-03-02
18:52:59 UTC (rev 16516)
+++
branches/community/3.3.X/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java 2010-03-03
00:08:19 UTC (rev 16517)
@@ -44,23 +44,11 @@
UIRichMessages uiMessages = (UIRichMessages)component;
String layout = null;
- String forIds = null;
- String forClientId = uiMessages.getFor();
- if(null != forClientId){
- forIds = forClientId;
- }
- if(uiMessages.isGlobalOnly()){
- if(null == forClientId){
- forIds = "";
- }else{
- throw new FacesException("The rich:messages component must specify only one of
'for' or 'globalOnly' atribbute");
- }
- }
Iterator<FacesMessage> messagesIter = uiMessages.getMessages(context);
boolean isDisplayNone = !messagesIter.hasNext();
boolean isWroteTable = false;
layout = (String)uiMessages.getAttributes().get("layout");
- if((layout != null) && (layout.equals("table"))){
+ if("table".equals(layout)){
writer.startElement("table", uiMessages);
getUtils().writeAttribute(writer,HTML.id_ATTRIBUTE ,uiMessages.getClientId(context));
@@ -70,13 +58,15 @@
writer.startElement("tbody", uiMessages);
isWroteTable = true;
- }else if((layout != null) && (layout.equals("list"))){
+ } else if("list".equals(layout)){
isWroteTable = false;
writer.startElement(HTML.DL_ELEMENT, uiMessages);
getUtils().writeAttribute(writer,HTML.id_ATTRIBUTE ,uiMessages.getClientId(context));
renderComponentOuterStyles(uiMessages, context, writer, isDisplayNone);
+ } else {
+ throw new FacesException("unknown messages layout "+layout);
}
// messagesIter = getMessageIterator(context, forIds, component);
Modified:
branches/community/3.3.X/ui/message/src/test/java/org/richfaces/component/UIMessagesTest.java
===================================================================
---
branches/community/3.3.X/ui/message/src/test/java/org/richfaces/component/UIMessagesTest.java 2010-03-02
18:52:59 UTC (rev 16516)
+++
branches/community/3.3.X/ui/message/src/test/java/org/richfaces/component/UIMessagesTest.java 2010-03-03
00:08:19 UTC (rev 16517)
@@ -56,6 +56,17 @@
public void setMinLevel(String level) {
this.minLevel = level;
}
+
+ @Override
+ public boolean isAjaxRendered() {
+ return true;
+ }
+
+ @Override
+ public void setAjaxRendered(boolean ajaxRendered) {
+ // TODO Auto-generated method stub
+
+ }
}
private static final String INPUT_ID = "input";