View Javadoc

1   package pt.digitalis.dif.dem.objects.parameters.constraints.impl;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import pt.digitalis.dif.dem.interfaces.IStageInstance;
7   import pt.digitalis.utils.common.StringUtils;
8   
9   /**
10   * @author Galaio da Silva <a href="mailto:jgalaio@digitalis.pt">jgalaio@digitalis.pt</a><br/>
11   * @created Jul 27, 2010
12   */
13  public class ParameterConstraintEmailImpl extends ParameterConstraintRegexImpl {
14  
15      /** */
16      private static final String MAIL_REGEX_JAVA = "^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$";
17  
18      /** */
19      private static final String MAIL_REGEX_JAVASCRIPT = "/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/";
20  
21      /**
22       * @see pt.digitalis.dif.dem.objects.parameters.constraints.impl.ParameterConstraintRegexImpl#configureConstraint(java.lang.String)
23       */
24      @Override
25      public void configureConstraint(String configurationString)
26      {
27          this.regexJava = MAIL_REGEX_JAVA;
28          this.regexJavaScript = MAIL_REGEX_JAVASCRIPT;
29      }
30  
31      /**
32       * @see pt.digitalis.dif.dem.objects.parameters.constraints.impl.ParameterConstraintRegexImpl#getErrorMessageValues(boolean)
33       */
34      @Override
35      protected Map<String, String> getErrorMessageValues(boolean parseValues)
36      {
37          Map<String, String> substitutions = new HashMap<String, String>();
38  
39          if (parseValues)
40          {
41              substitutions.put("value", lastTestedValue);
42          }
43  
44          return substitutions;
45      }
46  
47      /**
48       * @see pt.digitalis.dif.dem.objects.parameters.constraints.impl.ParameterConstraintRegexImpl#validateConstraint(java.lang.String,
49       *      pt.digitalis.dif.dem.interfaces.IStageInstance)
50       */
51      @Override
52      public boolean validateConstraint(String value, IStageInstance stageInstance)
53      {
54          boolean result = super.validateConstraint(value, stageInstance);
55  
56          return result && (StringUtils.isBlank(value) || ((value.indexOf(".") > 2) && (value.indexOf("@") > 0)));
57      }
58  
59  }