Revision 46505 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/expressionevaluator/TestExpressionBuilder.java
TestExpressionBuilder.java | ||
---|---|---|
4 | 4 |
import org.gvsig.expressionevaluator.impl.expressionbuilder.formatters.DALFormatter; |
5 | 5 |
import org.gvsig.fmap.dal.DALLocator; |
6 | 6 |
import org.gvsig.fmap.dal.DataManager; |
7 |
import org.gvsig.fmap.dal.SQLBuilder; |
|
7 | 8 |
import org.gvsig.fmap.dal.expressionevaluator.DALExpressionBuilder; |
8 | 9 |
import org.gvsig.fmap.dal.expressionevaluator.DALExpressionBuilder.SelectBuilder; |
10 |
import org.gvsig.fmap.dal.feature.spi.SQLBuilderBase; |
|
9 | 11 |
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer; |
10 | 12 |
|
11 | 13 |
/** |
... | ... | |
64 | 66 |
|
65 | 67 |
public void testUseCase1() { |
66 | 68 |
DataManager dataManager = DALLocator.getDataManager(); |
67 |
DALExpressionBuilder builder = dataManager.createDALExpressionBuilder(); |
|
69 |
DALExpressionBuilder builder1 = dataManager.createDALExpressionBuilder(); |
|
70 |
SQLBuilderBase builder = new SQLBuilderBase(); |
|
68 | 71 |
|
69 |
SelectBuilder select = builder.select() |
|
70 |
.column("LID_ACCIDENTE") |
|
71 |
.from("ARENA2_VEHICULOS") |
|
72 |
.where( |
|
73 |
builder.expression().and( |
|
74 |
builder.expression().eq( |
|
75 |
builder.expression().getattr("ARENA2_VEHICULOS","ID_ACCIDENTE"), |
|
76 |
builder.expression().getattr("ARENA2_ACCIDENTES","LID_ACCIDENTE") |
|
77 |
), |
|
78 |
builder.expression().eq( |
|
79 |
builder.expression().column("MODELO"), |
|
80 |
builder.expression().constant("307") |
|
81 |
) |
|
82 |
) |
|
83 |
) |
|
84 |
.limit(1); |
|
85 |
ExpressionBuilder.Value exists = builder.exists(select.toValue(), "EXISTS123"); |
|
72 |
SQLBuilder.SelectBuilder select = builder.select(); |
|
73 |
select.column().name("LID_ACCIDENTE"); |
|
74 |
select.from().table().name("ARENA2_VEHICULOS"); |
|
75 |
select.where().value( |
|
76 |
builder.expression().and( |
|
77 |
builder.expression().eq( |
|
78 |
builder.expression().getattr("ARENA2_VEHICULOS","ID_ACCIDENTE"), |
|
79 |
builder.expression().getattr("ARENA2_ACCIDENTES","LID_ACCIDENTE") |
|
80 |
), |
|
81 |
builder.expression().eq( |
|
82 |
builder.expression().column("MODELO"), |
|
83 |
builder.expression().constant("307") |
|
84 |
) |
|
85 |
) |
|
86 |
); |
|
87 |
select.limit(1); |
|
88 |
|
|
89 |
|
|
90 |
|
|
91 |
ExpressionBuilder.Value exists = builder1.exists(select, "EXISTS123"); |
|
86 | 92 |
|
87 | 93 |
String filter = exists.toString(new DALFormatter()); |
88 | 94 |
|
89 |
assertEquals("EXISTS((SELECT \"LID_ACCIDENTE\" FROM \"ARENA2_VEHICULOS\" WHERE (( (\"ARENA2_VEHICULOS\".\"ID_ACCIDENTE\") = (\"ARENA2_ACCIDENTES\".\"LID_ACCIDENTE\") ) AND ( (\"MODELO\") = ('307') )) LIMIT 1), 'EXISTS123')", filter);
|
|
95 |
assertEquals("EXISTS(SELECT \"LID_ACCIDENTE\" FROM \"ARENA2_VEHICULOS\" WHERE (( (\"ARENA2_VEHICULOS\".\"ID_ACCIDENTE\") = (\"ARENA2_ACCIDENTES\".\"LID_ACCIDENTE\") ) AND ( (\"MODELO\") = ('307') )) LIMIT 1, 'EXISTS123')", filter);
|
|
90 | 96 |
|
91 | 97 |
// Comprobamos que con el formatter por defecto obtenemos lo mismo. |
92 | 98 |
assertEquals(filter, exists.toString()); |
Also available in: Unified diff