1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.persistence.jpa.validation.entity;
20
21 import javax.validation.ConstraintValidatorContext;
22 import org.apache.syncope.common.lib.types.EntityViolationType;
23 import org.apache.syncope.core.persistence.api.entity.MembershipType;
24 import org.apache.syncope.core.persistence.api.entity.RelationshipType;
25
26 public class RelationshipTypeValidator extends AbstractValidator<RelationshipTypeCheck, RelationshipType> {
27
28 @Override
29 public boolean isValid(final RelationshipType relationShipType, final ConstraintValidatorContext context) {
30 context.disableDefaultConstraintViolation();
31
32 boolean isValid = true;
33
34 if (isHtml(relationShipType.getKey())) {
35 context.buildConstraintViolationWithTemplate(
36 getTemplate(EntityViolationType.InvalidKey, relationShipType.getKey())).
37 addPropertyNode("key").addConstraintViolation();
38
39 isValid = false;
40 }
41
42 if (MembershipType.getInstance().getKey().equalsIgnoreCase(relationShipType.getKey())) {
43 context.buildConstraintViolationWithTemplate(
44 getTemplate(EntityViolationType.InvalidKey, relationShipType.getKey())).
45 addPropertyNode("key").addConstraintViolation();
46
47 isValid = false;
48 }
49
50 return isValid;
51 }
52 }