1 package eu
.etaxonomy
.cdm
.validation
.constraint
;
3 import javax
.validation
.ConstraintValidator
;
4 import javax
.validation
.ConstraintValidatorContext
;
6 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
7 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceType
;
8 import eu
.etaxonomy
.cdm
.validation
.annotation
.InReference
;
9 import eu
.etaxonomy
.cdm
.validation
.annotation
.NullOrNotEmpty
;
10 import eu
.etaxonomy
.cdm
.validation
.annotation
.ReferenceCheck
;
12 public class ReferenceCheckValidator
implements
13 ConstraintValidator
<ReferenceCheck
, Reference
>{
16 public boolean isValid(Reference value
,
17 ConstraintValidatorContext constraintValidatorContext
) {
18 boolean isValid
= true;
20 isValid
&= validIsbn(value
, constraintValidatorContext
);
21 if (value
.getType() == ReferenceType
.Journal
&& value
.getDatePublished() != null) {
23 constraintValidatorContext
.buildConstraintViolationWithTemplate("{eu.etaxonomy.cdm.validation.annotation.InReference.JournalShouldNotHaveDatePublished.message}");
31 private boolean validIsbn(Reference value
, ConstraintValidatorContext constraintValidatorContext
){
32 boolean isValid
= true;
34 if ((value
.getType() != ReferenceType
.Book
&& value
.getType() != ReferenceType
.Proceedings
) ) {
35 if (value
.getIsbn()!= null){
37 constraintValidatorContext
.buildConstraintViolationWithTemplate("{eu.etaxonomy.cdm.validation.annotation.InReference.ReferenceShouldNotHaveIsbn.message}");
46 public void initialize(ReferenceCheck constraintAnnotation
) {
47 // TODO Auto-generated method stub