diff --git a/pom.xml b/pom.xml
index 40c9f1b..90f3c21 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,6 +55,10 @@
false
+
+ maven-central
+ http://repo1.maven.org/maven2
+
Akaza Dev Repository
http://svn.akazaresearch.com/ocrepository/repository
@@ -330,6 +334,21 @@
tiles-jsp
2.2.1
+
+ org.apache.tiles
+ tiles-api
+ 2.2.1
+
+
+ org.apache.tiles
+ tiles-servlet
+ 2.2.1
+
+
+ org.apache.tiles
+ tiles-template
+ 2.2.1
+
org.springframework
spring-web
@@ -493,6 +512,11 @@
compile
+
+ org.codehaus.jackson
+ jackson-core-asl
+ 1.5.3
+
org.codehaus.jackson
jackson-mapper-asl
@@ -515,21 +539,41 @@
commons-httpclient
3.1
+
+ commons-validator
+ commons-validator
+ 1.4.1
+
org.springframework.security.oauth
spring-security-oauth
1.0.0.M2
-
+
org.apache.httpcomponents
httpclient
4.1
+
+ org.apache.httpcomponents
+ httpcore
+ 4.1
+
+
+ org.ow2.asm
+ asm
+ 3.2
+
org.codehaus.groovy
groovy
1.8.0
+
+ commons-beanutils
+ commons-beanutils-core
+ 1.8.3
+
diff --git a/src/main/java/org/akaza/openclinica/designer/web/controller/RulesCommandValidator.java b/src/main/java/org/akaza/openclinica/designer/web/controller/RulesCommandValidator.java
index dd981af..562e3d1 100644
--- a/src/main/java/org/akaza/openclinica/designer/web/controller/RulesCommandValidator.java
+++ b/src/main/java/org/akaza/openclinica/designer/web/controller/RulesCommandValidator.java
@@ -1,5 +1,6 @@
package org.akaza.openclinica.designer.web.controller;
+import org.apache.commons.validator.routines.EmailValidator;
import org.openclinica.ns.rules.v31.DiscrepancyNoteActionType;
import org.openclinica.ns.rules.v31.EmailActionType;
import org.openclinica.ns.rules.v31.HideActionType;
@@ -82,17 +83,15 @@ private void validateEmailAction(LazyRuleRefType2 action, Errors e) {
if (emailAction.getTo() == null || emailAction.getTo().trim().length() == 0) {
e.rejectValue("ruleRef.lazyEmailActions[" + action.getEmailAction().indexOf(emailAction) + "].to", "email.to.empty");
} else {
- Pattern pattern = Pattern.compile("^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
+ EmailValidator validator = EmailValidator.getInstance();
StringTokenizer tokenizer = new StringTokenizer(emailAction.getTo(), ",");
if (tokenizer.countTokens() == 0) {
- Matcher matcher = pattern.matcher(emailAction.getTo());
- if (!matcher.matches()) {
+ if (!validator.isValid(emailAction.getTo())) {
e.rejectValue("ruleRef.lazyEmailActions[" + action.getEmailAction().indexOf(emailAction) + "].to", "email.to.not.valid");
}
} else {
while (tokenizer.hasMoreTokens()) {
- Matcher matcher = pattern.matcher(tokenizer.nextToken().trim());
- if (!matcher.matches()) {
+ if (!validator.isValid(tokenizer.nextToken().trim())) {
e.rejectValue("ruleRef.lazyEmailActions[" + action.getEmailAction().indexOf(emailAction) + "].to", "email.to.not.valid");
break;
}