Revision 44198 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc2/spi/operations/CountOperation.java

View differences:

CountOperation.java
5 5
import java.sql.SQLException;
6 6
import java.sql.Statement;
7 7
import org.apache.commons.lang3.StringUtils;
8
import org.gvsig.expressionevaluator.ExpressionBuilder;
8 9
import org.gvsig.fmap.dal.exception.DataException;
9 10
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
10 11
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
11 12
import org.gvsig.fmap.dal.store.jdbc.exception.JDBCSQLException;
12 13
import org.gvsig.fmap.dal.store.jdbc2.JDBCUtils;
13 14
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
15
import static org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase.PROP_FEATURE_TYPE;
16
import static org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase.PROP_TABLE;
14 17

  
15 18
public class CountOperation extends AbstractConnectionOperation {
16 19

  
......
47 50
            String filter) throws DataException {
48 51

  
49 52
        JDBCSQLBuilderBase sqlbuilder = this.createSQLBuilder();
53
        ExpressionBuilder expbuilder = sqlbuilder.expression();
50 54

  
51 55
        sqlbuilder.select().column().value(sqlbuilder.count().all());
52 56
        sqlbuilder.select().from().table()
......
55 59
                .name(this.table.getTable());
56 60
        sqlbuilder.select().from().subquery(this.table.getSubquery());
57 61
        if (!StringUtils.isEmpty(baseFilter)) {
58
            sqlbuilder.select().where().set( sqlbuilder.custom(baseFilter) );
62
            sqlbuilder.select().where().set( expbuilder.custom(baseFilter) );
59 63
        }
60 64
        if (!StringUtils.isEmpty(filter)) {
61 65
            // El and() hace un set() si no hay un filtro previo
62
            sqlbuilder.select().where().and(sqlbuilder.custom(filter));
66
            sqlbuilder.select().where().and(expbuilder.custom(filter));
63 67
        }
64

  
68
        sqlbuilder.setProperties(
69
                ExpressionBuilder.Variable.class, 
70
                PROP_TABLE, table
71
        );
65 72
        String sql = sqlbuilder.select().toString();
66 73

  
67 74
        Statement st = null;

Also available in: Unified diff