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; }