Revision 10626 trunk/extensions/extCAD/src/com/iver/cit/gvsig/project/documents/table/operators/Field.java
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