You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2008/01/19 23:17:13 UTC

svn commit: r613471 - in /myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago: component/UISelectBoolean.java taglib/component/SelectBooleanCheckboxTagDeclaration.java taglib/extension/SelectBooleanCheckboxExtensionTag.java

Author: bommel
Date: Sat Jan 19 14:17:12 2008
New Revision: 613471

URL: http://svn.apache.org/viewvc?rev=613471&view=rev
Log:
(TOBAGO-277) Attribute "required" for <tx:selectBooleanCheckbox> and tc

Modified:
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java?rev=613471&r1=613470&r2=613471&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java Sat Jan 19 14:17:12 2008
@@ -18,9 +18,11 @@
  */
 
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
+import org.apache.myfaces.tobago.util.MessageFactory;
 
 import javax.faces.context.FacesContext;
 import javax.faces.el.ValueBinding;
+import javax.faces.application.FacesMessage;
 
 /*
  * Date: Jan 30, 2007
@@ -75,5 +77,17 @@
 
   public void setTabIndex(Integer tabIndex) {
     this.tabIndex = tabIndex;
+  }
+
+  protected void validateValue(FacesContext context, Object convertedValue) {
+    if (isRequired() && convertedValue instanceof Boolean && !((Boolean) convertedValue)) {
+      FacesMessage facesMessage = MessageFactory.createFacesMessage(context,
+          REQUIRED_MESSAGE_ID, FacesMessage.SEVERITY_ERROR, new Object[]{getId()});
+      context.addMessage(getClientId(context), facesMessage);
+      setValid(false);
+      return;
+    }
+    super.validateValue(context, convertedValue);
+
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java?rev=613471&r1=613470&r2=613471&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java Sat Jan 19 14:17:12 2008
@@ -33,6 +33,8 @@
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
+import org.apache.myfaces.tobago.taglib.decl.IsRequired;
+//import org.apache.myfaces.tobago.taglib.decl.IsImmediateComponent;
 
 /*
  * Created: Aug 5, 2005 5:18:50 PM
@@ -61,6 +63,6 @@
 
 public interface SelectBooleanCheckboxTagDeclaration extends BeanTagDeclaration, HasValidator,
     HasOnchange, HasValueChangeListener, HasIdBindingAndRendered, HasLabelAndAccessKey, HasBooleanValue, IsDisabled,
-    IsInline, HasTip, IsReadonly, HasMarkup, HasTabIndex /*, IsRequired */ {
+    IsInline, HasTip, IsReadonly, HasMarkup, HasTabIndex, IsRequired/*, IsImmediateComponent */{
 
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java?rev=613471&r1=613470&r2=613471&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java Sat Jan 19 14:17:12 2008
@@ -34,6 +34,7 @@
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsFocus;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
+import org.apache.myfaces.tobago.taglib.decl.IsRequired;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.BodyTagSupport;
@@ -49,7 +50,7 @@
 @ExtensionTag(baseClassName = "org.apache.myfaces.tobago.taglib.component.SelectBooleanCheckboxTag")
 public class SelectBooleanCheckboxExtensionTag extends BodyTagSupport implements TobagoTagDeclaration,
     HasValidator, HasOnchange, HasValueChangeListener, HasIdBindingAndRendered, HasLabel,
-    HasBooleanValue, HasLabelWidth, IsDisabled, HasTip, IsReadonly, HasMarkup, HasTabIndex, //IsRequired
+    HasBooleanValue, HasLabelWidth, IsDisabled, HasTip, IsReadonly, HasMarkup, HasTabIndex, IsRequired,
     IsFocus {
 
   private String value;
@@ -66,7 +67,7 @@
   private String labelWidth;
   private String markup;
   private String tabIndex;
-  //private String required;
+  private String required;
   private String focus;
 
   private LabelExtensionTag labelTag;
@@ -135,9 +136,9 @@
       selectBooleanCheckboxTag.setFocus(focus);
     }
 
-    //if (required != null) {
-    //  selectBooleanCheckboxTag.setRequired(required);
-    //}
+    if (required != null) {
+      selectBooleanCheckboxTag.setRequired(required);
+    }
     // TODO item Label
     //if (itemLabel != null) {
     //  selectOneRadioTag.setLabel(itemLabel);
@@ -180,7 +181,7 @@
     markup = null;
     tabIndex = null;
     focus = null;
-    //required = null;
+    required = null;
     selectBooleanCheckboxTag = null;
     labelTag = null;
   }
@@ -245,7 +246,7 @@
     this.focus = focus;
   }
 
-  //public void setRequired(String required) {
-  //  this.required = required;
-  //}
+  public void setRequired(String required) {
+    this.required = required;
+  }
 }