Revision 31408
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/GreaterThanOrEqualsOperator.java | ||
---|---|---|
66 | 66 |
} |
67 | 67 |
|
68 | 68 |
public Object evaluate()throws ExpressionException { |
69 |
Double left = new Double(((Expression)arguments.get(0)).evaluate().toString()); |
|
70 |
Double right = new Double(((Expression)arguments.get(1)).evaluate().toString()); |
|
69 |
Object eval1=((Expression)arguments.get(0)).evaluate(); |
|
70 |
Object eval2=((Expression)arguments.get(1)).evaluate(); |
|
71 |
if (eval1==null || eval2==null){ |
|
72 |
return false; |
|
73 |
} |
|
74 |
Double left = new Double(eval1.toString()); |
|
75 |
Double right = new Double(eval2.toString()); |
|
71 | 76 |
|
72 | 77 |
if (left >= right) |
73 | 78 |
return true; |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/MultOperator.java | ||
---|---|---|
75 | 75 |
try { |
76 | 76 |
|
77 | 77 |
intResult = (Integer)((Expression)arguments.get(0)).evaluate(); |
78 |
if (intResult==null) |
|
79 |
return new Integer(0); |
|
78 | 80 |
if (arguments.size() == 1) |
79 | 81 |
return intResult; |
80 | 82 |
|
81 | 83 |
for (int i = 1; i < arguments.size(); i++){ |
82 | 84 |
Expression function = (Expression)arguments.get(i); |
83 |
intResult *= ((Integer)function.evaluate()); |
|
85 |
Integer eval=(Integer)function.evaluate(); |
|
86 |
if (eval==null) |
|
87 |
eval=new Integer(0); |
|
88 |
intResult *= eval; |
|
84 | 89 |
} |
85 | 90 |
|
86 | 91 |
return intResult; |
... | ... | |
89 | 94 |
} catch (ClassCastException e) { |
90 | 95 |
|
91 | 96 |
doubleResult = new Double(((Expression)arguments.get(0)).evaluate().toString()); |
97 |
if (doubleResult==null) |
|
98 |
return new Double(0); |
|
92 | 99 |
if(arguments.size() == 1) |
93 | 100 |
return doubleResult; |
94 | 101 |
for (int i = 1; i < arguments.size(); i++){ |
95 | 102 |
Expression function = (Expression)arguments.get(i); |
96 |
doubleResult *= new Double(((Expression)function).evaluate().toString()); |
|
103 |
Object eval=function.evaluate(); |
|
104 |
if (eval==null) |
|
105 |
eval=new Double(0); |
|
106 |
doubleResult *= new Double(eval.toString()); |
|
97 | 107 |
} |
98 | 108 |
|
99 | 109 |
return doubleResult; |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/LessThanOperator.java | ||
---|---|---|
66 | 66 |
} |
67 | 67 |
|
68 | 68 |
public Object evaluate()throws ExpressionException { |
69 |
Object eval1=((Expression)arguments.get(0)).evaluate(); |
|
70 |
Object eval2=((Expression)arguments.get(1)).evaluate(); |
|
71 |
if (eval1==null || eval2==null){ |
|
72 |
return false; |
|
73 |
} |
|
74 |
Double left = new Double(eval1.toString()); |
|
75 |
Double right =new Double(eval2.toString()); |
|
69 | 76 |
|
70 |
Double left = new Double(((Expression)arguments.get(0)).evaluate().toString()); |
|
71 |
Double right =new Double(((Expression)arguments.get(1)).evaluate().toString()); |
|
72 |
|
|
73 | 77 |
if (left < right) |
74 | 78 |
return true; |
75 | 79 |
else |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/DivOperator.java | ||
---|---|---|
75 | 75 |
try { |
76 | 76 |
|
77 | 77 |
intResult = (Integer)((Expression)arguments.get(0)).evaluate(); |
78 |
if (intResult==null) |
|
79 |
return new Integer(0); |
|
78 | 80 |
if (arguments.size() == 1) |
79 | 81 |
return intResult; |
80 | 82 |
|
81 | 83 |
for (int i = 1; i < arguments.size(); i++){ |
82 | 84 |
Expression function = (Expression)arguments.get(i); |
83 |
intResult /= ((Integer)function.evaluate()); |
|
85 |
Integer value2=((Integer)function.evaluate()); |
|
86 |
if (value2==null) |
|
87 |
value2=new Integer(1); |
|
88 |
intResult /= value2; |
|
84 | 89 |
} |
85 | 90 |
|
86 | 91 |
return intResult; |
87 | 92 |
|
88 | 93 |
|
89 | 94 |
} catch (ClassCastException e) { |
90 |
|
|
91 |
doubleResult = new Double(((Expression)arguments.get(0)).evaluate().toString()); |
|
95 |
Object value1=((Expression)arguments.get(0)).evaluate(); |
|
96 |
if (value1==null) |
|
97 |
return new Double(0); |
|
98 |
doubleResult = new Double(value1.toString()); |
|
92 | 99 |
if(arguments.size() == 1) |
93 | 100 |
return doubleResult; |
94 | 101 |
for (int i = 1; i < arguments.size(); i++){ |
95 | 102 |
Expression function = (Expression)arguments.get(i); |
103 |
Object value2=((Expression)function).evaluate(); |
|
104 |
if (value2==null){ |
|
105 |
value2=new Double(1); |
|
106 |
} |
|
96 | 107 |
doubleResult /= new Double(((Expression)function).evaluate().toString()); |
97 | 108 |
} |
98 | 109 |
|
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/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() { |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/AddOperator.java | ||
---|---|---|
74 | 74 |
try { |
75 | 75 |
|
76 | 76 |
intResult = (Integer)((Expression)arguments.get(0)).evaluate(); |
77 |
if (intResult==null){ |
|
78 |
intResult=new Integer(0); |
|
79 |
} |
|
77 | 80 |
if (arguments.size() == 1) |
78 | 81 |
return intResult; |
79 | 82 |
|
80 | 83 |
for (int i = 1; i < arguments.size(); i++){ |
81 | 84 |
Expression function = (Expression)arguments.get(i); |
82 |
intResult += ((Integer)function.evaluate()); |
|
85 |
Integer integer=((Integer)function.evaluate()); |
|
86 |
if (integer==null){ |
|
87 |
integer=new Integer(0); |
|
88 |
} |
|
89 |
intResult += integer; |
|
83 | 90 |
} |
84 | 91 |
|
85 | 92 |
return intResult; |
86 | 93 |
|
87 | 94 |
|
88 | 95 |
} catch (ClassCastException e) { |
89 |
|
|
90 |
doubleResult = new Double(((Expression)arguments.get(0)).evaluate().toString()); |
|
96 |
Object value1=((Expression)arguments.get(0)).evaluate(); |
|
97 |
if (value1==null) |
|
98 |
value1=new Double(0); |
|
99 |
doubleResult = new Double(value1.toString()); |
|
91 | 100 |
if(arguments.size() == 1) |
92 | 101 |
return doubleResult; |
93 | 102 |
for (int i = 1; i < arguments.size(); i++){ |
94 | 103 |
Expression function = (Expression)arguments.get(i); |
95 |
doubleResult += new Double(((Expression)function).evaluate().toString()); |
|
104 |
Object value2=((Expression)function).evaluate(); |
|
105 |
if (value2==null){ |
|
106 |
value2=new Double(0); |
|
107 |
} |
|
108 |
doubleResult += new Double(value2.toString()); |
|
96 | 109 |
} |
97 | 110 |
|
98 | 111 |
return doubleResult; |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/MinusOperator.java | ||
---|---|---|
78 | 78 |
try { |
79 | 79 |
|
80 | 80 |
intResult = (Integer)((Expression)arguments.get(0)).evaluate(); |
81 |
if (intResult == null){ |
|
82 |
intResult=new Integer(0); |
|
83 |
} |
|
81 | 84 |
if (arguments.size() == 1) |
82 | 85 |
return -1*intResult; |
83 | 86 |
|
84 | 87 |
for (int i = 1; i < arguments.size(); i++){ |
85 | 88 |
Expression function = (Expression)arguments.get(i); |
86 |
intResult -= ((Integer)function.evaluate()); |
|
89 |
Integer eval=((Integer)function.evaluate()); |
|
90 |
if (eval==null) |
|
91 |
eval=new Integer(0); |
|
92 |
intResult -= eval; |
|
87 | 93 |
} |
88 | 94 |
|
89 | 95 |
return intResult; |
... | ... | |
92 | 98 |
} catch (ClassCastException e) { |
93 | 99 |
|
94 | 100 |
doubleResult = new Double(((Expression)arguments.get(0)).evaluate().toString()); |
101 |
if (doubleResult == null){ |
|
102 |
doubleResult=new Double(0); |
|
103 |
} |
|
95 | 104 |
if(arguments.size() == 1) |
96 | 105 |
return -1*doubleResult; |
97 | 106 |
for (int i = 1; i < arguments.size(); i++){ |
98 | 107 |
Expression function = (Expression)arguments.get(i); |
99 |
doubleResult -= new Double(((Expression)function).evaluate().toString()); |
|
108 |
Double eval=(Double)((Expression)function).evaluate(); |
|
109 |
if (eval==null) |
|
110 |
eval=new Double(0); |
|
111 |
doubleResult -= new Double(eval.toString()); |
|
100 | 112 |
} |
101 | 113 |
|
102 | 114 |
return doubleResult; |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/LessThanOrEqualsOperator.java | ||
---|---|---|
65 | 65 |
} |
66 | 66 |
|
67 | 67 |
public Object evaluate() throws ExpressionException{ |
68 |
Double left = new Double(((Expression)arguments.get(0)).evaluate().toString()); |
|
69 |
Double right =new Double(((Expression)arguments.get(1)).evaluate().toString()); |
|
68 |
Object eval1=((Expression)arguments.get(0)).evaluate(); |
|
69 |
Object eval2=((Expression)arguments.get(1)).evaluate(); |
|
70 |
if (eval1==null || eval2==null){ |
|
71 |
return false; |
|
72 |
} |
|
73 |
Double left = new Double(eval1.toString()); |
|
74 |
Double right =new Double(eval2.toString()); |
|
70 | 75 |
|
71 | 76 |
if (left <= right) |
72 | 77 |
return true; |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/NotOperator.java | ||
---|---|---|
70 | 70 |
|
71 | 71 |
if(arguments.size() > 1) |
72 | 72 |
throw new ExpressionException(ExpressionException.INCORRECT_NUMBER_OF_ARGUMENTS); |
73 |
|
|
74 |
boolean result = ((Boolean)((Expression)arguments.get(0)).evaluate()).booleanValue(); |
|
73 |
Object eval=((Expression)arguments.get(0)).evaluate(); |
|
74 |
if (eval==null) |
|
75 |
return false; |
|
76 |
boolean result = ((Boolean)eval).booleanValue(); |
|
75 | 77 |
if (result) |
76 | 78 |
return false; |
77 | 79 |
else |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/AndOperator.java | ||
---|---|---|
68 | 68 |
} |
69 | 69 |
|
70 | 70 |
public Object evaluate()throws ExpressionException { |
71 |
Object value1=((Expression)arguments.get(0)).evaluate(); |
|
72 |
if (value1 ==null) |
|
73 |
return false; |
|
74 |
Boolean result = ((Boolean)value1).booleanValue(); |
|
71 | 75 |
|
72 |
Boolean result = ((Boolean)((Expression)arguments.get(0)).evaluate()).booleanValue(); |
|
73 |
|
|
74 | 76 |
for (int i = 1; i < arguments.size(); i++){ |
75 | 77 |
Expression function = (Expression)arguments.get(i); |
76 |
result = result && ((Boolean)((Expression)function).evaluate()).booleanValue(); |
|
78 |
Object value2=function.evaluate(); |
|
79 |
if (value2 ==null) |
|
80 |
return false; |
|
81 |
result = result && ((Boolean)value2).booleanValue(); |
|
77 | 82 |
} |
78 | 83 |
return result; |
79 | 84 |
} |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/NeOperator.java | ||
---|---|---|
73 | 73 |
Object value1 = ((Expression)arguments.get(0)).evaluate(); |
74 | 74 |
Object value2 = ((Expression)arguments.get(1)).evaluate(); |
75 | 75 |
|
76 |
if (value1==null || value2==null){ |
|
77 |
return false; |
|
78 |
} |
|
76 | 79 |
if (value1.equals(value2)) |
77 | 80 |
return false; |
78 | 81 |
else |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/FieldExpressionOperator.java | ||
---|---|---|
71 | 71 |
|
72 | 72 |
for (int i = arguments.size()-1; i >= 0; i--) { |
73 | 73 |
Expression function = (Expression)arguments.get(i); |
74 |
result += ((String) (function.evaluate().toString())); |
|
74 |
Object value1=function.evaluate(); |
|
75 |
if (value1==null) |
|
76 |
value1=""; |
|
77 |
result += ((String) (value1.toString())); |
|
75 | 78 |
} |
76 | 79 |
return result; |
77 | 80 |
} |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/GreaterThanOperator.java | ||
---|---|---|
67 | 67 |
} |
68 | 68 |
|
69 | 69 |
public Object evaluate()throws ExpressionException { |
70 |
Object eval1=((Expression)arguments.get(0)).evaluate(); |
|
71 |
Object eval2=((Expression)arguments.get(1)).evaluate(); |
|
72 |
if (eval1==null || eval2==null){ |
|
73 |
return false; |
|
74 |
} |
|
75 |
Double left = new Double(eval1.toString()); |
|
76 |
Double right = new Double(eval2.toString()); |
|
70 | 77 |
|
71 |
Double left = new Double(((Expression)arguments.get(0)).evaluate().toString()); |
|
72 |
Double right = new Double(((Expression)arguments.get(1)).evaluate().toString()); |
|
73 |
|
|
74 | 78 |
if (left > right) |
75 | 79 |
return true; |
76 | 80 |
else |
trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/EqOperator.java | ||
---|---|---|
70 | 70 |
|
71 | 71 |
Object value1 = ((Expression)arguments.get(0)).evaluate(); |
72 | 72 |
Object value2 = ((Expression)arguments.get(1)).evaluate(); |
73 |
|
|
73 |
if (value1 ==null || value2 == null) |
|
74 |
return false; |
|
74 | 75 |
if (value1.equals(value2)) |
75 | 76 |
return true; |
76 | 77 |
else |
Also available in: Unified diff