validate(Object,Errors)   A
last analyzed

Complexity

Conditions 4

Size

Total Lines 10
Code Lines 9

Duplication

Lines 9
Ratio 90 %

Importance

Changes 0
Metric Value
eloc 9
dl 9
loc 10
rs 9.95
c 0
b 0
f 0
cc 4
1
package com.osomapps.pt.admin.certificate;
2
3
import java.util.regex.Matcher;
4
import java.util.regex.Pattern;
5
import org.springframework.stereotype.Component;
6
import org.springframework.validation.Errors;
7
import org.springframework.validation.Validator;
8
9 View Code Duplication
@Component
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
10
class CertificateValidator implements Validator {
11
    private static final Pattern CERTIFICATE_PATTERN = Pattern.compile("^[A-Z]{4}[0-9]{4}$");
12
13
    @Override
14
    public boolean supports(final Class<?> aClass) {
15
        return String.class.equals(aClass);
16
    }
17
18
    @Override
19
    public void validate(final Object obj, final Errors errors) {
20
        final String certificate = (String) obj;
21
        if (certificate == null || certificate.trim().isEmpty()) {
22
            errors.reject("certificate", "Invalid empty certificate");
23
            return;
24
        }
25
        final Matcher matcher = CERTIFICATE_PATTERN.matcher(certificate);
26
        if (!matcher.matches()) {
27
            errors.reject("certificate", "Invalid certificate code (" + certificate + ")");
28
        }
29
    }
30
}
31