66 if (map.containsKey(id.getName())) {
67 return map.get(id.getName());
68 } else {
69 // cache the data values for coherency of the values over
70 // the life of this expression executer.
71 Monitor m = (Monitor)id.getValue();
72 Object v = m.getValue();
73 map.put(id.getName(), v);
74 return v;
75 }
76 }
77
78 Expression l = e.getLeft();
79 Expression r = e.getRight();
80
81 Operator op = e.getOperator();
82
83 if (op == null) {
84 return evaluate(l);
85 } else {
86 Double lval = new Double(((Number)evaluate(l)).doubleValue());
87 Double rval = new Double(((Number)evaluate(r)).doubleValue());
88 double result = op.eval(lval.doubleValue(), rval.doubleValue());
89 if (debug) {
90 System.out.println("Performed Operation: " + lval + op + rval
91 + " = " + result);
92 }
93 return new Double(result);
94 }
95 }
96 }
|
66 if (map.containsKey(id.getName())) {
67 return map.get(id.getName());
68 } else {
69 // cache the data values for coherency of the values over
70 // the life of this expression executer.
71 Monitor m = (Monitor)id.getValue();
72 Object v = m.getValue();
73 map.put(id.getName(), v);
74 return v;
75 }
76 }
77
78 Expression l = e.getLeft();
79 Expression r = e.getRight();
80
81 Operator op = e.getOperator();
82
83 if (op == null) {
84 return evaluate(l);
85 } else {
86 Double lval = Double.valueOf(((Number)evaluate(l)).doubleValue());
87 Double rval = Double.valueOf(((Number)evaluate(r)).doubleValue());
88 double result = op.eval(lval.doubleValue(), rval.doubleValue());
89 if (debug) {
90 System.out.println("Performed Operation: " + lval + op + rval
91 + " = " + result);
92 }
93 return Double.valueOf(result);
94 }
95 }
96 }
|