in validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/DateIsStrategy.java [55:115]
public boolean isViolation(Object object1, Object object2, DateIs annotation)
{
boolean violationFound = false;
switch (annotation.type())
{
case before:
violationFound = object1 != null && object2 != null &&
(!new Date(((Date) object1).getTime()).before((Date) object2) || object1.equals(object2));
if (violationFound)
{
this.violationResultStorage.put(RESULT_KEY, TOO_LATE);
}
break;
case after:
violationFound = object1 != null && object2 != null &&
(!new Date(((Date) object1).getTime()).after((Date) object2) || object1.equals(object2));
if (violationFound)
{
this.violationResultStorage.put(RESULT_KEY, TOO_EARLY);
}
break;
case same:
violationFound = object1 != null && !object1.equals(object2);
if (violationFound)
{
this.violationResultStorage.put(RESULT_KEY, NOT_EQUAL_DATE_TIME);
}
break;
case beforeOrSame:
violationFound = object1 != null && object2 != null &&
new Date(((Date) object1).getTime()).after((Date) object2);
if (violationFound)
{
this.violationResultStorage.put(RESULT_KEY, TOO_LATE_SAME);
}
break;
case afterOrSame:
violationFound = object1 != null && object2 != null &&
new Date(((Date) object1).getTime()).before((Date) object2);
if (violationFound)
{
this.violationResultStorage.put(RESULT_KEY, TOO_EARLY_SAME);
}
break;
default:
// Nothing to do.
}
if (violationFound)
{
this.violationResultStorage.put(COMPARED_VALUE_KEY, object1);
this.violationResultStorage.put(REVERSE_COMPARED_VALUE_KEY, object2);
}
return violationFound;
}