You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2009/11/22 19:26:35 UTC
svn commit: r883118 -
/myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/RequiredIfStrategy.java
Author: gpetracek
Date: Sun Nov 22 18:26:35 2009
New Revision: 883118
URL: http://svn.apache.org/viewvc?rev=883118&view=rev
Log:
EXTVAL-72 implementation
Modified:
myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/RequiredIfStrategy.java
Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/RequiredIfStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/RequiredIfStrategy.java?rev=883118&r1=883117&r2=883118&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/RequiredIfStrategy.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/RequiredIfStrategy.java Sun Nov 22 18:26:35 2009
@@ -64,22 +64,38 @@
return annotation.validationErrorMsgKey();
}
- public boolean isViolation(Object object1, Object object2, RequiredIf annotation)
+ public boolean isViolation(Object source, Object target, RequiredIf annotation)
{
boolean violationFound = false;
if (annotation.is().equals(RequiredIfType.empty))
{
- violationFound = (object2 == null || object2.equals("")) && (object1 == null || object1.equals(""));
+ violationFound = (isTargetEmpty(target) || Boolean.FALSE.equals(target)) && isSourceEmpty(source);
}
else if (annotation.is().equals(RequiredIfType.not_empty))
{
- violationFound = (object2 != null && !object2.equals("")) && (object1 == null || object1.equals(""));
+ violationFound = (isTargetNotEmpty(target) && isSourceEmpty(source) && !(target instanceof Boolean)) ||
+ (Boolean.TRUE.equals(target) && isSourceEmpty(source));
}
return violationFound;
}
+ private boolean isTargetEmpty(Object target)
+ {
+ return target == null || target.equals("");
+ }
+
+ private boolean isSourceEmpty(Object source)
+ {
+ return source == null || source.equals("");
+ }
+
+ private boolean isTargetNotEmpty(Object target)
+ {
+ return target != null && !target.equals("");
+ }
+
public String[] getValidationTargets(RequiredIf annotation)
{
return annotation.valueOf();