Revision 44951 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.mdb/src/main/java/org/gvsig/fmap/dal/store/mdb/expressionbuilderformatter/Constant.java
Constant.java | ||
---|---|---|
17 | 17 |
* @author jjdelcerro |
18 | 18 |
*/ |
19 | 19 |
public class Constant implements Formatter<Value> { |
20 |
|
|
21 |
private static final String FORMAT_ST_GEOMFROMWKB = "ST_GeomFromWKB(({0}), ({1}))"; |
|
22 |
private static final String FORMAT_ST_GEOMFROMEWKB = "ST_GeomFromEWKB(({0}), ({1}))"; |
|
23 | 20 |
|
24 | 21 |
private final SQLBuilder sqlbuilder; |
25 | 22 |
private final Formatter<Value> formatter; |
... | ... | |
48 | 45 |
Object x = ((ExpressionBuilder.Constant)constant).value(); |
49 | 46 |
GeometryExpressionBuilder builder = this.sqlbuilder.expression(); |
50 | 47 |
if( x instanceof byte[] ) { |
51 |
return builder.bytearray_x((byte[]) x); |
|
48 |
return builder.bytearray_0x((byte[]) x);
|
|
52 | 49 |
} |
53 | 50 |
if( x instanceof Geometry ) { |
54 | 51 |
Geometry geometry = (Geometry) x; |
55 | 52 |
switch (builder.geometry_support_type()) { |
56 | 53 |
case EWKB: |
57 |
return MessageFormat.format( |
|
58 |
FORMAT_ST_GEOMFROMEWKB, |
|
59 |
builder.bytearray_x(GeometryUtils.toEWKB(geometry)), |
|
60 |
String.valueOf(builder.srs_id(geometry.getProjection())) |
|
61 |
); |
|
54 |
return builder.bytearray_x(GeometryUtils.toEWKB(geometry)); |
|
62 | 55 |
case WKB: |
63 |
return MessageFormat.format( |
|
64 |
FORMAT_ST_GEOMFROMWKB, |
|
65 |
builder.bytearray_x(GeometryUtils.toWKB(geometry)), |
|
66 |
String.valueOf(builder.srs_id(geometry.getProjection())) |
|
67 |
); |
|
56 |
return builder.bytearray_x(GeometryUtils.toWKB(geometry)); |
|
68 | 57 |
case WKT: |
69 | 58 |
default: |
70 |
return constant.toString(null);
|
|
59 |
return builder.string(GeometryUtils.toWKT(geometry));
|
|
71 | 60 |
} |
72 | 61 |
|
73 | 62 |
} |
Also available in: Unified diff