Statistics
| Revision:

svn-gvsig-desktop / 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 / OperationsFactoryBase.java @ 43020

History | View | Annotate | Download (6.08 KB)

1
package org.gvsig.fmap.dal.store.jdbc2.spi.operations;
2

    
3
import java.util.Iterator;
4
import java.util.List;
5
import org.apache.commons.lang3.tuple.Pair;
6
import org.cresques.cts.IProjection;
7
import org.gvsig.fmap.dal.exception.DataException;
8
import org.gvsig.fmap.dal.feature.EditableFeatureType;
9
import org.gvsig.fmap.dal.feature.FeatureQuery;
10
import org.gvsig.fmap.dal.feature.FeatureType;
11
import org.gvsig.fmap.dal.SQLBuilder;
12
import org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices;
13
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters;
14
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
15
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
16
import org.gvsig.fmap.geom.primitive.Envelope;
17

    
18
public class OperationsFactoryBase implements OperationsFactory {
19

    
20
    protected final JDBCHelper helper;
21

    
22
    public OperationsFactoryBase(JDBCHelper helper) {
23
        this.helper = helper;
24
    }
25

    
26
    @Override
27
    public FetchFeatureTypeOperation createFetchFeatureType(
28
            EditableFeatureType type, 
29
            String database,
30
            String schema, 
31
            String table, 
32
            List<String> primaryKeys, 
33
            String defaultGeometryField, 
34
            IProjection crs
35
        ) {
36
        return new FetchFeatureTypeOperation(helper, type, database, schema, table, 
37
                primaryKeys, defaultGeometryField, crs);
38
    }
39

    
40
    @Override
41
    public FetchFeatureProviderByReferenceOperation createFetchFeatureProviderByReference(
42
            FeatureReferenceProviderServices reference, 
43
            FeatureType featureType, 
44
            String database,
45
            String schema, 
46
            String table
47
        ) {
48
        return new FetchFeatureProviderByReferenceOperation(helper, reference, 
49
                featureType, database, schema, table);
50
    }
51

    
52
    @Override
53
    public CalculateEnvelopeOfColumnOperation createCalculateEnvelopeOfColumn(
54
            String subquery, 
55
            String database,
56
            String schema, 
57
            String table, 
58
            String columnName, 
59
            String baseFilter, 
60
            Envelope workingArea, 
61
            IProjection crs
62
        ) {
63
        return new CalculateEnvelopeOfColumnOperation(helper, subquery, database, schema, 
64
                table, columnName, baseFilter, workingArea, crs);
65
    }
66

    
67
    @Override
68
    public PerformChangesOperation createPerformChanges(
69
            String database,
70
            String schema, 
71
            String table, 
72
            FeatureType type, 
73
            Iterator deleteds, 
74
            Iterator inserteds, 
75
            Iterator updateds, 
76
            Iterator featureTypesChanged
77
        ) {
78
        return new PerformChangesOperation(helper, database,schema, table, type, 
79
                deleteds, inserteds, updateds, featureTypesChanged);
80
    }
81

    
82
    @Override
83
    public AppendOperation createAppend(
84
            String database,
85
            String schema, 
86
            String table, 
87
            FeatureType type
88
        ) {
89
        return new AppendOperation(helper, database,schema, table, type);
90
    }
91

    
92
    @Override
93
    public CountOperation createCount(
94
            String database,
95
            String schema, 
96
            String table, 
97
            String sql, 
98
            String baseFilter, 
99
            String filter
100
        ) {
101
        return new CountOperation(helper, database, schema, table, sql, 
102
                baseFilter, filter);
103
    }
104

    
105
    @Override
106
    public TableIsEmptyOperation createTableIsEmpty(
107
            String database,
108
            String schema, 
109
            String table,
110
            String sql, 
111
            String baseFilter, 
112
            String filter
113
        ) {
114
        return new TableIsEmptyOperation(helper, database, schema, table, sql, 
115
                baseFilter, filter);
116
    }
117

    
118
    @Override
119
    public ResultSetForSetProviderOperation createResultSetForSetProvider(
120
            String database,
121
            String schema, 
122
            String table, 
123
            String subquery, 
124
            String baseFilter, 
125
            String baseOrder, 
126
            FeatureQuery query, 
127
            FeatureType storeType, 
128
            FeatureType setType, 
129
            long limit, 
130
            long offset, 
131
            int fetchSize
132
        ) {
133
        return new ResultSetForSetProviderOperation(helper, database, schema, table, 
134
                subquery, baseFilter, baseOrder, query, storeType, setType, 
135
                limit, offset, fetchSize);
136
    }
137

    
138
    @Override
139
    public ListTablesOperation createListTables(
140
            int mode,
141
            JDBCStoreParameters baseParameters, 
142
            boolean informationTables
143
        ) {
144
        return new ListTablesOperation(
145
                helper, mode, baseParameters, informationTables );
146
    }
147
    
148
    @Override
149
    public DropTableOperation createDropTable( 
150
            String dbName,
151
            String schemaName,
152
            String tableName            
153
        ) {
154
        return new DropTableOperation(helper, dbName, schemaName, tableName);
155
    }
156
    
157
    @Override
158
    public CreateTableOperation createTable(
159
            String dbName,
160
            String schemaName, 
161
            String tableName, 
162
            FeatureType type, 
163
            List<Pair<String, SQLBuilder.Privilege>> userAndPrivileges, 
164
            List<String> additionalSQLs
165
        ) throws DataException {
166
        return new CreateTableOperation(
167
                helper, dbName, schemaName, tableName, type, 
168
                userAndPrivileges, additionalSQLs
169
        );
170
    }
171

    
172
    @Override
173
    public CanCreateTablesOperation createCanCreateTables() {
174
        return new CanCreateTablesOperation(helper);
175
    }
176

    
177
    @Override
178
    public UpdateTableStatisticsOperation createUpdateTableStatistics(
179
            String dbName,
180
            String schemaName, 
181
            String tableName
182
        ) {
183
        return new UpdateTableStatisticsOperation(helper, dbName, schemaName, tableName);
184
    }
185
    
186
    @Override
187
    public CanModifyTableOperation createCanModifyTableOperation(
188
            String dbName,
189
            String schemaName, 
190
            String tableName
191
        ) {
192
        return new CanModifyTableOperation(helper, dbName, schemaName, tableName);
193
    }
194
    
195
}