Skip to content

Commit 699cf9d

Browse files
lor6pivovarit
authored andcommitted
Bael 736 (eugenp#1685)
* dynamic validation * small fixes * remove set property * fix conflicts * fix conflicts * add optional * small fix * update get
1 parent 54d2452 commit 699cf9d

File tree

3 files changed

+16
-17
lines changed

3 files changed

+16
-17
lines changed

spring-boot/src/main/java/com/baeldung/dynamicvalidation/ContactInfoValidator.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.baeldung.dynamicvalidation.dao.ContactInfoExpressionRepository;
44
import com.baeldung.dynamicvalidation.model.ContactInfoExpression;
5+
import org.apache.log4j.Logger;
56
import org.springframework.beans.factory.annotation.Autowired;
67
import org.springframework.beans.factory.annotation.Value;
78
import org.thymeleaf.util.StringUtils;
@@ -12,27 +13,34 @@
1213

1314
public class ContactInfoValidator implements ConstraintValidator<ContactInfo, String> {
1415

16+
private static final Logger LOG = Logger.getLogger(ContactInfoValidator.class);
17+
1518
@Autowired
1619
private ContactInfoExpressionRepository expressionRepository;
1720

1821
@Value("${contactInfoType}")
1922
String expressionType;
2023

24+
private String pattern;
25+
2126
@Override
2227
public void initialize(final ContactInfo contactInfo) {
28+
if (StringUtils.isEmptyOrWhitespace(expressionType)) {
29+
LOG.error("Contact info type missing!");
30+
} else {
31+
pattern = expressionRepository.findOne(expressionType)
32+
.map(ContactInfoExpression::getPattern)
33+
.orElse("");
34+
}
2335
}
2436

2537
@Override
2638
public boolean isValid(final String value, final ConstraintValidatorContext context) {
27-
if (StringUtils.isEmptyOrWhitespace(expressionType)) {
28-
return false;
39+
if (!StringUtils.isEmptyOrWhitespace(pattern)) {
40+
return Pattern.matches(pattern, value);
2941
}
30-
31-
return expressionRepository
32-
.findOne(expressionType)
33-
.map(ContactInfoExpression::getPattern)
34-
.map(p -> Pattern.matches(p, value))
35-
.orElse(false);
42+
LOG.error("Contact info pattern missing!");
43+
return false;
3644
}
3745

3846
}

spring-boot/src/main/java/com/baeldung/dynamicvalidation/config/CustomerController.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package com.baeldung.dynamicvalidation.config;
22

3-
import java.util.List;
4-
53
import javax.validation.Valid;
64

7-
import org.springframework.beans.factory.annotation.Autowired;
85
import org.springframework.stereotype.Controller;
96
import org.springframework.ui.Model;
107
import org.springframework.validation.BindingResult;

spring-boot/src/main/java/com/baeldung/dynamicvalidation/config/PersistenceConfig.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import org.springframework.context.annotation.Bean;
77
import org.springframework.context.annotation.Configuration;
88
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
9-
import org.springframework.jdbc.core.JdbcTemplate;
109
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
1110
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
1211
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
@@ -16,11 +15,6 @@
1615
@Configuration
1716
public class PersistenceConfig {
1817

19-
@Bean
20-
public JdbcTemplate getJdbcTemplate() {
21-
return new JdbcTemplate(dataSource());
22-
}
23-
2418
@Bean
2519
public DataSource dataSource() {
2620
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();

0 commit comments

Comments
 (0)