Coverage Report - pt.digitalis.dif.dem.objects.parameters.constraints.impl.ParameterConstraintMaxSizeImpl
 
Classes in this File Line Coverage Branch Coverage Complexity
ParameterConstraintMaxSizeImpl
0%
0/14
0%
0/6
1,4
ParameterConstraintMaxSizeImpl$1
0%
0/3
N/A
1,4
 
 1  0
 /**
 2  
  * 2007, Digitalis Informatica. All rights reserved. Distribuicao e Gestao de Informatica, Lda. Estrada de Paco de Arcos
 3  
  * num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999 http://www.digitalis.pt
 4  
  */
 5  
 package pt.digitalis.dif.dem.objects.parameters.constraints.impl;
 6  
 
 7  
 import java.util.ArrayList;
 8  
 import java.util.HashMap;
 9  
 import java.util.List;
 10  
 import java.util.Map;
 11  
 
 12  
 import pt.digitalis.dif.dem.interfaces.IStageInstance;
 13  
 import pt.digitalis.dif.dem.objects.parameters.constraints.AbstractParameterConstraint;
 14  
 
 15  
 /**
 16  
  * Max parameter constraint implementation
 17  
  * 
 18  
  * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a>
 19  
  * @created Nov 16, 2007
 20  
  */
 21  0
 public class ParameterConstraintMaxSizeImpl extends AbstractParameterConstraint {
 22  
 
 23  
     /** Supported classes by numeric constraints */
 24  
     @SuppressWarnings("serial")
 25  0
     final static private List<String> supportedClasses = new ArrayList<String>() {
 26  
 
 27  
         {
 28  0
             add(String.class.getCanonicalName());
 29  
         }
 30  
     };
 31  
 
 32  
     /** Last tested value */
 33  
     String lastTestedValue;
 34  
 
 35  
     /** Max size to validate */
 36  
     Integer maxSize;
 37  
 
 38  
     /**
 39  
      * @see pt.digitalis.dif.dem.objects.parameters.constraints.IParameterConstraint#configureConstraint(java.lang.String)
 40  
      */
 41  
     public void configureConstraint(String configurationString)
 42  
     {
 43  
 
 44  0
         String value = configurationString.substring(configurationString.indexOf("=") + 1);
 45  
 
 46  0
         maxSize = new Integer(value.trim());
 47  0
     }
 48  
 
 49  
     /**
 50  
      * @see pt.digitalis.dif.dem.objects.parameters.constraints.AbstractParameterConstraint#getErrorMessageValues(boolean)
 51  
      */
 52  
     @Override
 53  
     protected Map<String, String> getErrorMessageValues(boolean parseValues)
 54  
     {
 55  0
         Map<String, String> substitutions = new HashMap<String, String>();
 56  
 
 57  0
         if (parseValues)
 58  
         {
 59  0
             substitutions.put("value", lastTestedValue);
 60  
         }
 61  0
         substitutions.put("max", maxSize.toString());
 62  
 
 63  0
         return substitutions;
 64  
     }
 65  
 
 66  
     /**
 67  
      * @see pt.digitalis.dif.dem.objects.parameters.constraints.IParameterConstraint#getJavaScriptValidationCondition()
 68  
      */
 69  
     public String getJavaScriptValidationCondition()
 70  
     {
 71  0
         return "(new String(value).length <= " + maxSize + ")";
 72  
     }
 73  
 
 74  
     /**
 75  
      * @see pt.digitalis.dif.dem.objects.parameters.constraints.IParameterConstraint#isSupportedClass(java.lang.Class)
 76  
      */
 77  
     public boolean isSupportedClass(Class<?> clazz)
 78  
     {
 79  0
         return supportedClasses.contains(clazz.getCanonicalName());
 80  
     }
 81  
 
 82  
     /**
 83  
      * @see pt.digitalis.dif.dem.objects.parameters.constraints.IParameterConstraint#validateConstraint(java.lang.String,
 84  
      *      pt.digitalis.dif.dem.interfaces.IStageInstance)
 85  
      */
 86  
     public boolean validateConstraint(String value, IStageInstance stageInstance)
 87  
     {
 88  0
         lastTestedValue = value;
 89  
 
 90  0
         return (value == null || value.length() <= maxSize);
 91  
     }
 92  
 }