[richfaces-svn-commits] JBoss Rich Faces SVN: r6118 - in trunk/ui/message/src/main/java/org/richfaces/renderkit: html and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Feb 15 10:34:56 EST 2008


Author: abelevich
Date: 2008-02-15 10:34:56 -0500 (Fri, 15 Feb 2008)
New Revision: 6118

Modified:
   trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
   trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessageRenderer.java
   trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java
Log:
RF-2265, fix summary detail tooltip behavior according to the standart message behavior 

Modified: trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
===================================================================
--- trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java	2008-02-15 14:46:20 UTC (rev 6117)
+++ trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java	2008-02-15 15:34:56 UTC (rev 6118)
@@ -18,6 +18,7 @@
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.richfaces.component.UIRichMessages;
 import org.richfaces.renderkit.html.HtmlRichMessageRenderer;
 
 /**
@@ -260,6 +261,17 @@
 		
 	}
 	
+	protected boolean isAcceptableMessagesPresent(Iterator messagesIter) {
+		while(messagesIter.hasNext()){
+			FacesMessage message = (FacesMessage)(messagesIter.next());
+			boolean exist = isAcceptableMessage(message); 
+			if (exist) {
+				return true;
+			}
+		}
+		return false;
+	}
+	
 	protected boolean isAcceptableMessage(FacesMessage message){
 		
 		boolean accept = false;

Modified: trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessageRenderer.java
===================================================================
--- trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessageRenderer.java	2008-02-15 14:46:20 UTC (rev 6117)
+++ trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessageRenderer.java	2008-02-15 15:34:56 UTC (rev 6118)
@@ -150,34 +150,30 @@
 		getUtils().writeAttribute(writer, HTML.class_ATTRIBUTE,classes);
 		getUtils().writeAttribute(writer, HTML.style_ATTRIBUTE, labelStyle);
 		
+		title = (String) component.getAttributes().get("title");
+		if(title != null) {
+			writer.writeAttribute("title", title, "title");
+		}
+		
 		if(facesMsg != null){
-			if(isTooltip){
-				title = (String) uiMsg.getAttributes().get("title");
-				if(title != null){
-					getUtils().writeAttribute(writer, HTML.title_ATTRIBUTE, title);
-				}else{
-					getUtils().writeAttribute(writer, HTML.title_ATTRIBUTE, summary); 
+			boolean wroteTooltip = false;
+			if (showSummary && showDetail && isTooltip) {
+				if (title == null || title.length() == 0) {
+					writer.writeAttribute("title", summary, "title");
 				}
+				wroteTooltip = true;
+			} 
+
+			if (!wroteTooltip && showSummary) {
+				writer.writeText(summary, component, null);
 			}
-		   
-			if(showSummary && !isTooltip){
-				writer.writeText(summary, null);
-				writer.writeText("\t", null);
-			}
 			
-			if(showDetail){
-				writer.writeText(detail, null);
-				writer.writeText("\t", null);
-			}
-			   
-			
-		}else {    
-			   
-			if(passLabel != null){
+			if (showDetail) {
+				writer.writeText(detail, component, null);
+			}	
+		} else if(passLabel != null){
 				writer.writeText(passLabel, null);
 				writer.writeText("\t", null);
-			}
-		   	   
 		}
 		   
 		writer.endElement(HTML.SPAN_ELEM);

Modified: trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java
===================================================================
--- trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java	2008-02-15 14:46:20 UTC (rev 6117)
+++ trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java	2008-02-15 15:34:56 UTC (rev 6118)
@@ -25,36 +25,27 @@
 	private boolean isWroteTable = false;
 	
 	protected void doEncodeEnd(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
+		UIRichMessages uiMessages = (UIRichMessages)component;
 		
+		String layout = null;
 		String forIds = null;
-		Iterator messagesIter = null;
 		
-		
-		UIRichMessages uiMessages = (UIRichMessages)component;
-		
 		if(uiMessages.isGlobalOnly()){
 			forIds = "";
 		}
-		
-		messagesIter = getMessageIterator(context, forIds, component);
-		
-		renderComponentUI(writer, context, component, messagesIter);
-	}
-	
-	public void renderComponentUI(ResponseWriter writer, FacesContext context, UIComponent component, Iterator messagesIter) throws IOException{
-		
-		String layout = null;
-		
 
-		UIRichMessages uiMessages = (UIRichMessages)component;
-		 
-		boolean isDisplayNone = !messagesIter.hasNext(); 
-		
+		Iterator messagesIter = getMessageIterator(context, forIds, component); 
+		boolean isDisplayNone = !messagesIter.hasNext();
+				
 		if(!isDisplayNone){
 			String [] levels = uiMessages.getLevel().split(","); 
 			acceptLevels = creatAcceptLevels(levels);
-		}
-				
+			
+			if (!isAcceptableMessagesPresent(messagesIter)) {
+				isDisplayNone = true;
+			}	
+		} 
+						
 		layout = (String)uiMessages.getAttributes().get("layout");
 		if((layout != null) && (layout.equals("table"))){
 			 
@@ -74,7 +65,9 @@
 			renderComponentOuterStyles(uiMessages, context, writer, isDisplayNone);
 		
 		}
-				
+		
+		messagesIter = getMessageIterator(context, forIds, component);
+		
 		if(!messagesIter.hasNext()){
 			renderBody(uiMessages, context, writer, null);
 		}else{
@@ -93,11 +86,8 @@
 		}else{
 			writer.endElement("dl");
 		}
-	
 	}
 	
-	
-	
 	public void renderLabelHtml(UIComponent component, FacesContext context, ResponseWriter writer, 
 								FacesMessage facesMsg, String labelClass, String labelStyle, String passLabel) throws IOException {
 		
@@ -129,37 +119,31 @@
 		writer.startElement(HTML.SPAN_ELEM, uiMessages);
 		getUtils().writeAttribute(writer, HTML.class_ATTRIBUTE,labelClass);
 		getUtils().writeAttribute(writer, HTML.style_ATTRIBUTE, labelStyle);
-		
+
+		title = (String) component.getAttributes().get("title");
+		if(title != null) {
+			writer.writeAttribute("title", title, "title");
+		}
+
 		if(facesMsg != null){
-			
-			if(isTooltip){
-					
-				title = (String) uiMessages.getAttributes().get("title");
-				if(title != null){
-					getUtils().writeAttribute(writer, HTML.title_ATTRIBUTE, title);
-				}else{
-					getUtils().writeAttribute(writer, HTML.title_ATTRIBUTE, summary); 
+			boolean wroteTooltip = false;
+			if (showSummary && showDetail && isTooltip) {
+				if (title == null || title.length() == 0) {
+					writer.writeAttribute("title", summary, "title");
 				}
-				
+				wroteTooltip = true;
+			} 
+
+			if (!wroteTooltip && showSummary) {
+				writer.writeText(summary, component, null);
 			}
-		   
-			if(showDetail){
-				writer.writeText(detail, null);
-				writer.writeText("\t", null);
-			}
-			   
-			if(showSummary){
-				writer.writeText(summary, null);
-				writer.writeText("\t", null);
-			}
 			
-		}else {    
-			   
-			if(passLabel != null){
+			if (showDetail) {
+				writer.writeText(detail, component, null);
+			}	
+		} else if(passLabel != null){
 				writer.writeText(passLabel, null);
 				writer.writeText("\t", null);
-			}
-			
 		}
 		
 		writer.endElement(HTML.SPAN_ELEM);




More information about the richfaces-svn-commits mailing list