Revision 10626 trunk/extensions/extCAD/src/com/iver/cit/gvsig/project/documents/table/operators/Field.java

View differences:

Field.java
5 5
import org.apache.bsf.BSFException;
6 6
import org.apache.bsf.BSFManager;
7 7

  
8
import bsh.EvalError;
9

  
10
import com.hardcode.gdbms.engine.data.driver.DriverException;
8
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
11 9
import com.hardcode.gdbms.engine.values.BooleanValue;
12 10
import com.hardcode.gdbms.engine.values.DateValue;
13 11
import com.hardcode.gdbms.engine.values.NumericValue;
......
35 33
		interpreter.declareBean(fd.getFieldAlias(),this,Field.class);
36 34
		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"java.lang.Object "+ fd.getFieldAlias()+ "(){return "+fd.getFieldAlias()+".getValue(indexRow,sds);};");
37 35
	}
38
	public Object getValue(Index indexRow,SelectableDataSource sds) {
39
		try {
40
			int index=sds.getFieldIndexByName(fd.getFieldName());
41
			Value value=sds.getFieldValue(indexRow.get(),index);
42
			if (value instanceof NumericValue) {
43
				double dv=((NumericValue)value).doubleValue();
44
				return new Double(dv);
45
			}else if (value instanceof DateValue) {
46
				Date date=((DateValue)value).getValue();
47
				return date;
48
			}else if (value instanceof BooleanValue){
49
				boolean b=((BooleanValue)value).getValue();
50
				return new Boolean(b);
51
			}else {
52
				return value.toString();
53
			}
54
		} catch (DriverException e) {
55
			new EvalError(e.getMessage(),null,null);
36
	public Object getValue(Index indexRow,SelectableDataSource sds) throws ReadDriverException {
37
		int index=sds.getFieldIndexByName(fd.getFieldName());
38
		Value value=sds.getFieldValue(indexRow.get(),index);
39
		if (value instanceof NumericValue) {
40
			double dv=((NumericValue)value).doubleValue();
41
			return new Double(dv);
42
		}else if (value instanceof DateValue) {
43
			Date date=((DateValue)value).getValue();
44
			return date;
45
		}else if (value instanceof BooleanValue){
46
			boolean b=((BooleanValue)value).getValue();
47
			return new Boolean(b);
48
		}else {
49
			return value.toString();
56 50
		}
57
		return null;
58 51
	}
59 52
	public String toString() {
60 53
		return fd.getFieldAlias();

Also available in: Unified diff