You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mb...@apache.org on 2005/09/29 16:48:11 UTC

svn commit: r292442 - /myfaces/tomahawk/branches/1_1_1/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java

Author: mbr
Date: Thu Sep 29 07:48:07 2005
New Revision: 292442

URL: http://svn.apache.org/viewcvs?rev=292442&view=rev
Log:
patch from Jamie Cash for MYFACES-636

Modified:
    myfaces/tomahawk/branches/1_1_1/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java

Modified: myfaces/tomahawk/branches/1_1_1/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/branches/1_1_1/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java?rev=292442&r1=292441&r2=292442&view=diff
==============================================================================
--- myfaces/tomahawk/branches/1_1_1/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java (original)
+++ myfaces/tomahawk/branches/1_1_1/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java Thu Sep 29 07:48:07 2005
@@ -15,6 +15,8 @@
  */
 package org.apache.myfaces.component.html.ext;
 
+import java.util.Iterator;
+
 import javax.faces.application.FacesMessage;
 import javax.faces.component.UIInput;
 import javax.faces.context.FacesContext;
@@ -25,6 +27,7 @@
 import javax.faces.validator.ValidatorException;
 
 import org.apache.myfaces.component.DisplayValueOnlyCapable;
+
 import org.apache.myfaces.component.UserRoleAware;
 import org.apache.myfaces.component.UserRoleUtils;
 import org.apache.myfaces.component.html.util.HtmlComponentUtils;
@@ -38,7 +41,7 @@
         extends javax.faces.component.html.HtmlSelectOneRadio
         implements UserRoleAware, DisplayValueOnlyCapable
 {
-    public String getClientId(FacesContext context)
+		public String getClientId(FacesContext context)
     {
         String clientId = HtmlComponentUtils.getClientId(this, getRenderer(context), context);
         if (clientId == null)
@@ -78,9 +81,20 @@
             //Check required and empty
             if (isRequired() && empty)
             {
-                MessageUtils.addMessage(FacesMessage.SEVERITY_WARN, REQUIRED_MESSAGE_ID,
-                        new Object[] {getId()});
+              //Only add this message once, not for every radio button in set
+            	String clientId = this.getClientId(context);
+            	Iterator messages = context.getMessages(clientId);
+            	boolean messageExists = messages.hasNext();
+            	
+            	if(!messageExists)
+            	{
+            		//Add message
+            		FacesMessage message = MessageUtils.getMessage(REQUIRED_MESSAGE_ID, new Object[]{clientId});
+            		message.setSeverity(FacesMessage.SEVERITY_WARN);
+            		context.addMessage(clientId, message);
+            		
                 setValid(false);
+            	}
                 return;
             }
 
@@ -91,7 +105,7 @@
             }
         }
     }
-
+		
     private static void callValidators(FacesContext context, UIInput input, Object convertedValue)
     {
         Validator[] validators = input.getValidators();