Project

General

Profile

Download (1.64 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2009 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/ 
9

    
10
package eu.etaxonomy.cdm.validation.constraint;
11

    
12
import javax.validation.ConstraintValidator;
13
import javax.validation.ConstraintValidatorContext;
14

    
15
import eu.etaxonomy.cdm.model.taxon.Synonym;
16
import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
17
import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
18
import eu.etaxonomy.cdm.model.taxon.Taxon;
19
import eu.etaxonomy.cdm.validation.annotation.HomotypicSynonymsShouldBelongToGroup;
20

    
21
public class HomotypicSynonymsShouldBelongToGroupValidator implements
22
		ConstraintValidator<HomotypicSynonymsShouldBelongToGroup, SynonymRelationship> {
23

    
24
	public void initialize(HomotypicSynonymsShouldBelongToGroup homotypicSynonymsShouldBelongToGroup) { }
25

    
26
	public boolean isValid(SynonymRelationship synonymRelationship, ConstraintValidatorContext constraintContext) {
27
		boolean valid = true;
28
		if(synonymRelationship.getType().equals(SynonymRelationshipType.HOMOTYPIC_SYNONYM_OF())) {
29
			Taxon accepted = synonymRelationship.getAcceptedTaxon();
30
			Synonym synonym = synonymRelationship.getSynonym();
31
			
32
			
33
			if(!accepted.getName().getHomotypicalGroup().equals(synonym.getName().getHomotypicalGroup())) {
34
				valid = false;
35
				constraintContext.buildErrorWithMessageTemplate("{eu.etaxonomy.cdm.validation.annotation.HomotypicSynonymsShouldBelongToGroup.message}").addSubNode("tyoe").addError();				
36
			}
37
		}
38
		
39
		return valid;		
40
	}
41
}
(5-5/10)