You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ja...@apache.org on 2009/07/06 20:10:16 UTC
svn commit: r791555 -
/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java
Author: jankeesvanandel
Date: Mon Jul 6 18:10:15 2009
New Revision: 791555
URL: http://svn.apache.org/viewvc?rev=791555&view=rev
Log:
MYFACES-2098 Added binding property and modified Validator creation to use Application.createValidator()
Modified:
myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java
Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java?rev=791555&r1=791554&r2=791555&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java Mon Jul 6 18:10:15 2009
@@ -20,6 +20,7 @@
import javax.el.ELContext;
import javax.el.ValueExpression;
+import javax.faces.application.Application;
import javax.faces.context.FacesContext;
import javax.faces.validator.RegexValidator;
import javax.faces.validator.Validator;
@@ -38,35 +39,73 @@
private ValueExpression _pattern;
+ private ValueExpression _binding;
+
@Override
protected Validator createValidator() throws JspException
{
- RegexValidator validator = new RegexValidator();
+ FacesContext fc = FacesContext.getCurrentInstance();
+ ELContext elc = fc.getELContext();
+ if (_binding != null)
+ {
+ Object validator;
+ try
+ {
+ validator = _binding.getValue(elc);
+ }
+ catch (Exception e)
+ {
+ throw new JspException("Error while creating the Validator", e);
+ }
+ if (validator instanceof RegexValidator)
+ {
+ return (Validator)validator;
+ }
+ }
if (null != _pattern)
{
- FacesContext fc = FacesContext.getCurrentInstance();
- ELContext elc = fc.getELContext();
+ Application appl = fc.getApplication();
+ RegexValidator validator = (RegexValidator) appl.createValidator(RegexValidator.VALIDATOR_ID);
String pattern = (String)_pattern.getValue(elc);
validator.setPattern(pattern);
+
+ if (_binding != null)
+ {
+ _binding.setValue(elc, validator);
+ }
+
+ return validator;
}
else
{
throw new AssertionError("pattern may not be null");
}
- return validator;
}
- public ValueExpression getPattern() {
+ public ValueExpression getBinding()
+ {
+ return _binding;
+ }
+
+ public void setBinding(ValueExpression binding)
+ {
+ _binding = binding;
+ }
+
+ public ValueExpression getPattern()
+ {
return _pattern;
}
- public void setPattern(ValueExpression pattern) {
- this._pattern = pattern;
+ public void setPattern(ValueExpression pattern)
+ {
+ _pattern = pattern;
}
@Override
public void release()
{
- this._pattern = null;
+ _pattern = null;
+ _binding = null;
}
}