removed Apache Email Validator (#2945)
* removed Apache Email Validator * improvements Email Validator regex * refactored Email Validator
This commit is contained in:
		
							parent
							
								
									eaff2406db
								
							
						
					
					
						commit
						7a555fca8d
					
				@ -96,8 +96,8 @@
 | 
			
		||||
            <artifactId>commons-lang3</artifactId>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
			<groupId>commons-validator</groupId>
 | 
			
		||||
			<artifactId>commons-validator</artifactId>
 | 
			
		||||
            <groupId>commons-collections</groupId>
 | 
			
		||||
            <artifactId>commons-collections</artifactId>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>com.fasterxml.jackson.core</groupId>
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@ package org.thingsboard.server.dao.service;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.databind.JsonNode;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.apache.commons.validator.routines.EmailValidator;
 | 
			
		||||
import org.thingsboard.server.common.data.BaseData;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.dao.exception.DataValidationException;
 | 
			
		||||
@ -26,11 +25,13 @@ import java.util.HashSet;
 | 
			
		||||
import java.util.Iterator;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
import java.util.function.Function;
 | 
			
		||||
import java.util.regex.Matcher;
 | 
			
		||||
import java.util.regex.Pattern;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
public abstract class DataValidator<D extends BaseData<?>> {
 | 
			
		||||
 | 
			
		||||
    private static EmailValidator emailValidator = EmailValidator.getInstance();
 | 
			
		||||
    private static final Pattern EMAIL_PATTERN =
 | 
			
		||||
            Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
 | 
			
		||||
 | 
			
		||||
    public void validate(D data, Function<D, TenantId> tenantIdFunction) {
 | 
			
		||||
        try {
 | 
			
		||||
@ -64,11 +65,20 @@ public abstract class DataValidator<D extends BaseData<?>> {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected static void validateEmail(String email) {
 | 
			
		||||
        if (!emailValidator.isValid(email)) {
 | 
			
		||||
        if (!doValidateEmail(email)) {
 | 
			
		||||
            throw new DataValidationException("Invalid email address format '" + email + "'!");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static boolean doValidateEmail(String email) {
 | 
			
		||||
        if (email == null) {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Matcher emailMatcher = EMAIL_PATTERN.matcher(email);
 | 
			
		||||
        return emailMatcher.matches();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected static void validateJsonStructure(JsonNode expectedNode, JsonNode actualNode) {
 | 
			
		||||
        Set<String> expectedFields = new HashSet<>();
 | 
			
		||||
        Iterator<String> fieldsIterator = expectedNode.fieldNames();
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								pom.xml
									
									
									
									
									
								
							@ -55,7 +55,6 @@
 | 
			
		||||
        <guava.version>28.2-jre</guava.version>
 | 
			
		||||
        <caffeine.version>2.6.1</caffeine.version>
 | 
			
		||||
        <commons-lang3.version>3.4</commons-lang3.version>
 | 
			
		||||
        <commons-validator.version>1.6</commons-validator.version>
 | 
			
		||||
        <commons-io.version>2.5</commons-io.version>
 | 
			
		||||
        <commons-csv.version>1.4</commons-csv.version>
 | 
			
		||||
        <jackson.version>2.10.2</jackson.version>
 | 
			
		||||
@ -1075,11 +1074,6 @@
 | 
			
		||||
                <artifactId>commons-lang3</artifactId>
 | 
			
		||||
                <version>${commons-lang3.version}</version>
 | 
			
		||||
            </dependency>
 | 
			
		||||
            <dependency>
 | 
			
		||||
                <groupId>commons-validator</groupId>
 | 
			
		||||
                <artifactId>commons-validator</artifactId>
 | 
			
		||||
                <version>${commons-validator.version}</version>
 | 
			
		||||
            </dependency>
 | 
			
		||||
            <dependency>
 | 
			
		||||
                <groupId>commons-io</groupId>
 | 
			
		||||
                <artifactId>commons-io</artifactId>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user