Revision 31408 trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/IsBetweenOperator.java
IsBetweenOperator.java | ||
---|---|---|
66 | 66 |
} |
67 | 67 |
|
68 | 68 |
public Object evaluate()throws ExpressionException { |
69 |
|
|
70 |
|
|
71 | 69 |
if(arguments.size() != 3) |
72 | 70 |
throw new ExpressionException(ExpressionException.INCORRECT_NUMBER_OF_ARGUMENTS); |
73 |
else { |
|
74 |
Double middle = new Double(((Expression)arguments.get(0)).evaluate().toString()); |
|
75 |
Double lower = new Double(((Expression)arguments.get(1)).evaluate().toString()); |
|
76 |
Double upper = new Double(((Expression)arguments.get(2)).evaluate().toString()); |
|
71 |
Object eval1=((Expression)arguments.get(0)).evaluate(); |
|
72 |
Object eval2=((Expression)arguments.get(1)).evaluate(); |
|
73 |
Object eval3=((Expression)arguments.get(2)).evaluate(); |
|
74 |
if (eval1==null || eval2==null || eval3==null){ |
|
75 |
return false; |
|
76 |
} |
|
77 | 77 |
|
78 |
if(lower <= upper) { |
|
79 |
if((middle >= lower) && (middle <= upper)) |
|
80 |
return true; |
|
81 |
else return false; |
|
82 |
} |
|
83 |
else { |
|
84 |
if((middle >= upper) && (middle <= lower)) |
|
85 |
return true; |
|
86 |
else return false; |
|
87 |
} |
|
78 |
|
|
79 |
Double middle = new Double(eval1.toString()); |
|
80 |
Double lower = new Double(eval2.toString()); |
|
81 |
Double upper = new Double(eval3.toString()); |
|
82 |
if(lower <= upper) { |
|
83 |
if((middle >= lower) && (middle <= upper)) |
|
84 |
return true; |
|
85 |
else return false; |
|
88 | 86 |
} |
89 |
|
|
87 |
else { |
|
88 |
if((middle >= upper) && (middle <= lower)) |
|
89 |
return true; |
|
90 |
else return false; |
|
91 |
} |
|
90 | 92 |
} |
91 | 93 |
|
92 | 94 |
public void addArgument(int i, Expression arg) { |
... | ... | |
102 | 104 |
public String getPattern() { |
103 | 105 |
return OperationTags.ISBETWEEN_OP + "(" +Messages.getString(OperationTags.OPERAND) |
104 | 106 |
+" , "+Messages.getString(OperationTags.OPERAND) |
105 |
+" , "+Messages.getString(OperationTags.OPERAND)+ ")\n"+
|
|
107 |
+" , "+Messages.getString(OperationTags.OPERAND)+ ")\n"+ |
|
106 | 108 |
Messages.getString(OperationTags.OPERAND) +" = "+ |
107 |
Messages.getString(OperationTags.NUMERIC_VALUE);
|
|
109 |
Messages.getString(OperationTags.NUMERIC_VALUE); |
|
108 | 110 |
} |
109 | 111 |
|
110 | 112 |
public ArrayList<Expression> getArguments() { |
Also available in: Unified diff