Revision 44644 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/SQLBuilderBase.java
SQLBuilderBase.java | ||
---|---|---|
17 | 17 |
import org.gvsig.expressionevaluator.ExpressionBuilder.AbstractValue; |
18 | 18 |
import org.gvsig.expressionevaluator.ExpressionBuilder.ClassVisitorFilter; |
19 | 19 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.EMPTY_FORMATTER; |
20 |
import org.gvsig.expressionevaluator.ExpressionBuilder.GeometrySupportType; |
|
20 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.PARAMETER_TYPE_CONSTANT; |
|
21 |
import static org.gvsig.expressionevaluator.ExpressionBuilder.PARAMETER_TYPE_VARIABLE; |
|
21 | 22 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Parameter; |
22 | 23 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Value; |
23 | 24 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Variable; |
24 | 25 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Visitable; |
25 | 26 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Visitor; |
26 | 27 |
import org.gvsig.expressionevaluator.ExpressionBuilder.VisitorFilter; |
27 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
|
28 | 28 |
import org.gvsig.expressionevaluator.Formatter; |
29 |
import org.gvsig.expressionevaluator.GeometryExpressionBuilder; |
|
30 |
import org.gvsig.expressionevaluator.GeometryExpressionBuilderHelper.GeometrySupportType; |
|
31 |
import org.gvsig.expressionevaluator.GeometryExpressionEvaluatorLocator; |
|
29 | 32 |
import org.gvsig.fmap.dal.DataStoreParameters; |
30 | 33 |
import org.gvsig.fmap.dal.DataTypes; |
31 | 34 |
import org.gvsig.fmap.dal.SQLBuilder; |
... | ... | |
300 | 303 |
|
301 | 304 |
public class ColumnBase extends AbstractValue implements Column { |
302 | 305 |
|
303 |
private String name; |
|
306 |
private final String name;
|
|
304 | 307 |
private TableNameBuilder table; |
305 | 308 |
|
306 | 309 |
public ColumnBase(TableNameBuilder table, String name) { |
... | ... | |
872 | 875 |
implements SelectBuilder { |
873 | 876 |
|
874 | 877 |
protected FromBuilder from; |
875 |
protected ExpressionBuilder where; |
|
878 |
protected GeometryExpressionBuilder where;
|
|
876 | 879 |
protected long limit = -1; |
877 | 880 |
protected long offset = -1; |
878 | 881 |
protected List<SelectColumnBuilder> columns; |
... | ... | |
938 | 941 |
} |
939 | 942 |
if (this.has_where()) { |
940 | 943 |
if( this.where == target ) { |
941 |
this.where = (ExpressionBuilder) replacement; |
|
944 |
this.where = (GeometryExpressionBuilder) replacement;
|
|
942 | 945 |
} else if( this.where.value() == target ) { |
943 | 946 |
this.where.value(replacement); |
944 | 947 |
} else { |
... | ... | |
1000 | 1003 |
} |
1001 | 1004 |
|
1002 | 1005 |
@Override |
1003 |
public ExpressionBuilder where() { |
|
1006 |
public GeometryExpressionBuilder where() {
|
|
1004 | 1007 |
if (this.where == null) { |
1005 | 1008 |
this.where = createExpressionBuilder(); |
1006 | 1009 |
} |
... | ... | |
1468 | 1471 |
extends AbstractStatement |
1469 | 1472 |
implements UpdateBuilder { |
1470 | 1473 |
|
1471 |
protected ExpressionBuilder where; |
|
1474 |
protected GeometryExpressionBuilder where;
|
|
1472 | 1475 |
protected List<UpdateColumnBuilder> columns; |
1473 | 1476 |
protected TableNameBuilder table; |
1474 | 1477 |
|
... | ... | |
1493 | 1496 |
} |
1494 | 1497 |
|
1495 | 1498 |
@Override |
1496 |
public ExpressionBuilder where() { |
|
1499 |
public GeometryExpressionBuilder where() {
|
|
1497 | 1500 |
if (this.where == null) { |
1498 | 1501 |
this.where = createExpressionBuilder(); |
1499 | 1502 |
} |
... | ... | |
1573 | 1576 |
extends AbstractStatement |
1574 | 1577 |
implements DeleteBuilder { |
1575 | 1578 |
|
1576 |
protected ExpressionBuilder where; |
|
1579 |
protected GeometryExpressionBuilder where;
|
|
1577 | 1580 |
protected TableNameBuilder table; |
1578 | 1581 |
|
1579 | 1582 |
public DeleteBuilderBase() { |
... | ... | |
1593 | 1596 |
} |
1594 | 1597 |
|
1595 | 1598 |
@Override |
1596 |
public ExpressionBuilder where() { |
|
1599 |
public GeometryExpressionBuilder where() {
|
|
1597 | 1600 |
if (this.where == null) { |
1598 | 1601 |
this.where = createExpressionBuilder(); |
1599 | 1602 |
} |
... | ... | |
2434 | 2437 |
} |
2435 | 2438 |
} |
2436 | 2439 |
|
2437 |
protected ExpressionBuilder expressionBuilder; |
|
2440 |
protected GeometryExpressionBuilder expressionBuilder;
|
|
2438 | 2441 |
|
2439 | 2442 |
protected String defaultSchema; |
2440 | 2443 |
protected boolean supportSchemas; |
... | ... | |
2482 | 2485 |
protected String STMT_GRANT_privileges_ON_table_TO_role = "GRANT {0} ON {1} TO {2}"; |
2483 | 2486 |
|
2484 | 2487 |
public SQLBuilderBase() { |
2485 |
this.expressionBuilder = ExpressionEvaluatorLocator.getManager().createExpressionBuilder(); |
|
2488 |
this.expressionBuilder = GeometryExpressionEvaluatorLocator.getManager().createExpressionBuilder();
|
|
2486 | 2489 |
|
2487 | 2490 |
this.hasSpatialFunctions = false; |
2488 | 2491 |
this.supportSchemas = true; |
... | ... | |
2575 | 2578 |
} |
2576 | 2579 |
|
2577 | 2580 |
@Override |
2578 |
public ExpressionBuilder expression() { |
|
2581 |
public GeometryExpressionBuilder expression() {
|
|
2579 | 2582 |
return this.expressionBuilder; |
2580 | 2583 |
} |
2581 | 2584 |
|
... | ... | |
2589 | 2592 |
return this.geometrySupportType; |
2590 | 2593 |
} |
2591 | 2594 |
|
2592 |
protected ExpressionBuilder createExpressionBuilder() { |
|
2593 |
return ExpressionEvaluatorLocator.getManager().createExpressionBuilder(); |
|
2595 |
protected GeometryExpressionBuilder createExpressionBuilder() {
|
|
2596 |
return GeometryExpressionEvaluatorLocator.getManager().createExpressionBuilder();
|
|
2594 | 2597 |
} |
2595 | 2598 |
|
2596 | 2599 |
@Override |
... | ... | |
3031 | 3034 |
for (Parameter param : parameters()) { |
3032 | 3035 |
String s; |
3033 | 3036 |
switch (param.type()) { |
3034 |
case Constant:
|
|
3037 |
case PARAMETER_TYPE_CONSTANT:
|
|
3035 | 3038 |
Object theValue = param.value(); |
3036 | 3039 |
if (theValue == null) { |
3037 | 3040 |
s = "null"; |
... | ... | |
3041 | 3044 |
s = theValue.toString(); |
3042 | 3045 |
} |
3043 | 3046 |
break; |
3044 |
case Geometry: |
|
3045 |
case Variable: |
|
3047 |
case PARAMETER_TYPE_VARIABLE: |
|
3046 | 3048 |
default: |
3047 | 3049 |
s = "\"" + param.name() + "\""; |
3048 | 3050 |
} |
Also available in: Unified diff