Revision 31408 trunk/extensions/extSymbology/src/org/gvsig/symbology/fmap/rendering/filter/operations/DivOperator.java

View differences:

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

  

Also available in: Unified diff