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

View differences:

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