@Test
public void testFuture() {
Set<ConstraintViolation<ObjectWithValidation>> violations = validator.validate(obj,Future.class);
assertNotNull(violations);
assertEquals(violations.size(),1);
if (runPeformance) {
long time = System.currentTimeMillis();
for (int index = 0; index < 10000; index++) {
validator.validate(obj,Future.class);
}
long used = System.currentTimeMillis() - time;
System.out.println("Hibernate Validator [Future] check used " + used + "ms,avg. " + ((double) used)
/ 10000 + "ms.");
}
}
private void convert(MetaDataEntry MetaData,Map<String,Object> result) {
if (NotNull.class.getName().equals(MetaData.getKey())) {
result.put(CommonMetaDataKeys.required.getKey(),Boolean.TRUE);
}
if (Size.class.getName().equals(MetaData.getKey())) {
Size size = (Size) MetaData.getValue();
if (size.max() < Integer.MAX_VALUE) {
result.put(CommonMetaDataKeys.SIZE.getKey(),size.max());
}
}
if (Past.class.getName().equals(MetaData.getKey())) {
result.put(CommonMetaDataKeys.PAST.getKey(),Boolean.TRUE);
}
if (Future.class.getName().equals(MetaData.getKey())) {
result.put(CommonMetaDataKeys.FUTURE.getKey(),Boolean.TRUE);
}
}
private static boolean isValidSimpleConstraint(String cName,String field,Object actual,LinkedList<String> err) {
if ("required".equals(cName) && !required().isValid(actual)) {
err.add(Utils.formatMessage("{0} is required.",field));
return false;
} else if (matches(AssertFalse.class,cName) && !falsy().isValid(actual)) {
err.add(Utils.formatMessage("{0} must be false.",field));
return false;
} else if (matches(AssertTrue.class,cName) && !truthy().isValid(actual)) {
err.add(Utils.formatMessage("{0} must be true.",field));
return false;
} else if (matches(Future.class,cName) && !future().isValid(actual)) {
err.add(Utils.formatMessage("{0} must be in the future.",field));
return false;
} else if (matches(Past.class,cName) && !past().isValid(actual)) {
err.add(Utils.formatMessage("{0} must be in the past.",field));
return false;
} else if (matches(URL.class,cName) && !url().isValid(actual)) {
err.add(Utils.formatMessage("{0} is not a valid URL.",field));
return false;
} else if (matches(Email.class,cName) && !email().isValid(actual)) {
err.add(Utils.formatMessage("{0} is not a valid email.",field));
return false;
}
return true;
}
项目:randomito-all
文件:FutureAnnotationPostProcessor.java
@Override
public Object process(AnnotationInfo ctx,Object value) throws Exception {
if (!ctx.isAnnotationPresent(Future.class)) {
return value;
}
return DateUtils.addDays(new Date(),2);
}
项目:webpedidos
文件:Pedido.java
@Future
@NotNull
@Temporal(TemporalType.DATE)
@Column(name = "data_entrega",nullable = false)
public Date getDataEntrega() {
return this.dataEntrega;
}
项目:Conference
文件:Conference.java
/**
* Getter for the conference start date.
*
* @return the start date
*/
@Future
@NotNull
@Temporal(value = TemporalType.DATE)
@Column(nullable = false)
public Date getStartDate() {
return startDate;
}
项目:Conference
文件:Conference.java
/**
* Getter for the conference end date.
*
* @return the end date
*/
@Future
@NotNull
@Temporal(value = TemporalType.DATE)
@Column(nullable = false)
public Date getEndDate() {
return endDate;
}
项目:SpringPrimeFacesShowcase
文件:Booking.java
@Basic
@Temporal(TemporalType.DATE)
@Future
@NotNull
public Date getCheckinDate() {
return checkinDate;
}
项目:SpringPrimeFacesShowcase
文件:Booking.java
@Basic
@Temporal(TemporalType.DATE)
@Future
@NotNull
public Date getCheckoutDate() {
return checkoutDate;
}
项目:benerator
文件:AnnotationMapper.java
private static void mapBeanValidationParameter(Annotation annotation,InstanceDescriptor element) {
SimpleTypeDescriptor typeDescriptor = (SimpleTypeDescriptor) element.getLocalType(false);
if (annotation instanceof AssertFalse)
typeDescriptor.setTrueQuota(0.);
else if (annotation instanceof AssertTrue)
typeDescriptor.setTrueQuota(1.);
else if (annotation instanceof DecimalMax)
typeDescriptor.setMax(String.valueOf(DescriptorUtil.convertType(((DecimalMax) annotation).value(),typeDescriptor)));
else if (annotation instanceof DecimalMin)
typeDescriptor.setMin(String.valueOf(DescriptorUtil.convertType(((DecimalMin) annotation).value(),typeDescriptor)));
else if (annotation instanceof Digits) {
Digits digits = (Digits) annotation;
typeDescriptor.setGranularity(String.valueOf(Math.pow(10,- digits.fraction())));
} else if (annotation instanceof Future)
typeDescriptor.setMin(new SimpleDateFormat("yyyy-MM-dd").format(TimeUtil.tomorrow()));
else if (annotation instanceof Max)
typeDescriptor.setMax(String.valueOf(((Max) annotation).value()));
else if (annotation instanceof Min)
typeDescriptor.setMin(String.valueOf(((Min) annotation).value()));
else if (annotation instanceof NotNull) {
element.setNullable(false);
element.setNullQuota(0.);
} else if (annotation instanceof Null) {
element.setNullable(true);
element.setNullQuota(1.);
} else if (annotation instanceof Past)
typeDescriptor.setMax(new SimpleDateFormat("yyyy-MM-dd").format(TimeUtil.yesterday()));
else if (annotation instanceof Pattern)
typeDescriptor.setPattern(String.valueOf(((Pattern) annotation).regexp()));
else if (annotation instanceof Size) {
Size size = (Size) annotation;
typeDescriptor.setMinLength(size.min());
typeDescriptor.setMaxLength(size.max());
}
}
项目:geeMVC-Java-MVC-Framework
文件:FutureValidationAdapter.java
@Override
public boolean incudeInValidation(Future futureAnnotation,RequestHandler requestHandler,ValidationContext validationCtx) {
return true;
}
项目:geeMVC-Java-MVC-Framework
文件:FutureValidationAdapter.java
@Override
public void validate(Future futureAnnotation,String name,ValidationContext validationCtx,Errors errors) {
Object value = validationCtx.value(name);
if (value == null)
return;
if (!(value instanceof Date))
errors.add(name,futureAnnotation.message(),value);
LocalDate inputDate = ((Date) value).toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
if (tomorrow().isBefore(inputDate) || tomorrow().isEqual(inputDate))
errors.add(name,value);
}
项目:common-libraries
文件:FutureValidatorForLocalDate.java
@Override
public void initialize(Future constraintAnnotation) {
}
项目:common-libraries
文件:FutureValidatorForLocalDateTime.java
@Override
public void initialize(Future constraintAnnotation) {
}
项目:gwt-bean-validators
文件:FutureValidatorForCalendar.java
@Override
public void initialize(final Future constraintAnnotation) {}
项目:gwt-bean-validators
文件:FutureValidatorForDate.java
@Override
public void initialize(final Future constraintAnnotation) {}
项目:JavaIncrementalParser
文件:MyBean.java
@Future
public Date showDate(boolean correct) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH,correct ? 5 : -5);
return cal.getTime();
}
项目:putnami-web-toolkit
文件:ModelCreator.java
private void appendFutureValidator(SourceWriter w,JField field) {
Future futureAnnotation = field.getAnnotation(Future.class);
if (futureAnnotation != null) {
w.println(",new FutureValidator(\"%s\")",futureAnnotation.message());
}
}
项目:hibernate-demos
文件:FutureYearQuarterValidator.java
@Override
public void initialize(Future constraintAnnotation) {
}
项目:hibernate-demos
文件:FutureYearWeekValidator.java
@Override
public void initialize(Future constraintAnnotation) {
}
项目:wisdom
文件:RentalStation.java
public void rentCar(
@NotNull String customer,@NotNull @Future Date startDate,@Min(1) int durationInDays) {
//...
}
项目:ocelot
文件:ValidationCdiDataService.java
public void methodWithArgumentFuture(@Future Date date0) {}