1
2
3
4
5 package pt.digitalis.dif.dem.objects.parameters.constraints.impl.numeric;
6
7 import java.text.DecimalFormat;
8 import java.util.HashMap;
9 import java.util.Map;
10
11 import pt.digitalis.dif.dem.interfaces.IStageInstance;
12
13
14
15
16
17
18
19 public class ParameterConstraintMinImpl extends AbstractNumericParameterConstraint {
20
21
22 Double lastTestedValue;
23
24
25 Double minValue;
26
27
28
29
30 public void configureConstraint(String configurationString)
31 {
32
33 String value = configurationString.substring(configurationString.indexOf("=") + 1);
34
35 minValue = new Double(value.trim());
36 }
37
38
39
40
41 @Override
42 protected Map<String, String> getErrorMessageValues(boolean parseValues)
43 {
44 Map<String, String> substitutions = new HashMap<String, String>();
45
46 DecimalFormat df = new DecimalFormat("0");
47
48 if (parseValues)
49 {
50 substitutions.put("value", df.format(lastTestedValue));
51 }
52 substitutions.put("min", df.format(minValue));
53
54 return substitutions;
55 }
56
57
58
59
60 public String getJavaScriptValidationCondition()
61 {
62 return "parseInt(value) >= " + minValue;
63 }
64
65
66
67
68
69 @Override
70 public boolean validateConstraint(Double value, IStageInstance stageInstance)
71 {
72
73 lastTestedValue = value;
74
75 return (value != null && value >= minValue);
76 }
77 }