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 @ 43377

History | View | Annotate | Download (6.51 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 FetchFeatureTypeOperation createFetchFeatureType(
42
//            EditableFeatureType type, 
43
//            String defaultGeometryField, 
44
//            IProjection crs
45
//        ) {
46
//        return new FetchFeatureTypeOperation(helper, type, defaultGeometryField, crs);
47
//    }
48

    
49
    @Override
50
    public FetchFeatureProviderByReferenceOperation createFetchFeatureProviderByReference(
51
            FeatureReferenceProviderServices reference, 
52
            FeatureType featureType, 
53
            String database,
54
            String schema, 
55
            String table
56
        ) {
57
        return new FetchFeatureProviderByReferenceOperation(helper, reference, 
58
                featureType, database, schema, table);
59
    }
60

    
61
    @Override
62
    public CalculateEnvelopeOfColumnOperation createCalculateEnvelopeOfColumn(
63
            String subquery, 
64
            String database,
65
            String schema, 
66
            String table, 
67
            String columnName, 
68
            String baseFilter, 
69
            Envelope workingArea, 
70
            IProjection crs
71
        ) {
72
        return new CalculateEnvelopeOfColumnOperation(helper, subquery, database, schema, 
73
                table, columnName, baseFilter, workingArea, crs);
74
    }
75

    
76
    @Override
77
    public PerformChangesOperation createPerformChanges(
78
            String database,
79
            String schema, 
80
            String table, 
81
            FeatureType type, 
82
            Iterator deleteds, 
83
            Iterator inserteds, 
84
            Iterator updateds, 
85
            Iterator featureTypesChanged
86
        ) {
87
        return new PerformChangesOperation(helper, database,schema, table, type, 
88
                deleteds, inserteds, updateds, featureTypesChanged);
89
    }
90

    
91
    @Override
92
    public AppendOperation createAppend(
93
            String database,
94
            String schema, 
95
            String table, 
96
            FeatureType type
97
        ) {
98
        return new AppendOperation(helper, database,schema, table, type);
99
    }
100

    
101
    @Override
102
    public CountOperation createCount(
103
            String database,
104
            String schema, 
105
            String table, 
106
            String sql, 
107
            String baseFilter, 
108
            String filter
109
        ) {
110
        return new CountOperation(helper, database, schema, table, sql, 
111
                baseFilter, filter);
112
    }
113

    
114
    @Override
115
    public TableIsEmptyOperation createTableIsEmpty(
116
            String database,
117
            String schema, 
118
            String table,
119
            String sql, 
120
            String baseFilter, 
121
            String filter
122
        ) {
123
        return new TableIsEmptyOperation(helper, database, schema, table, sql, 
124
                baseFilter, filter);
125
    }
126

    
127
    @Override
128
    public ResultSetForSetProviderOperation createResultSetForSetProvider(
129
            String database,
130
            String schema, 
131
            String table, 
132
            String subquery, 
133
            String baseFilter, 
134
            String baseOrder, 
135
            FeatureQuery query, 
136
            FeatureType storeType, 
137
            FeatureType setType, 
138
            long limit, 
139
            long offset, 
140
            int fetchSize
141
        ) {
142
        return new ResultSetForSetProviderOperation(helper, database, schema, table, 
143
                subquery, baseFilter, baseOrder, query, storeType, setType, 
144
                limit, offset, fetchSize);
145
    }
146

    
147
    @Override
148
    public ListTablesOperation createListTables(
149
            int mode,
150
            JDBCStoreParameters baseParameters, 
151
            boolean informationTables
152
        ) {
153
        return new ListTablesOperation(
154
                helper, mode, baseParameters, informationTables );
155
    }
156
    
157
    @Override
158
    public DropTableOperation createDropTable( 
159
            String dbName,
160
            String schemaName,
161
            String tableName            
162
        ) {
163
        return new DropTableOperation(helper, dbName, schemaName, tableName);
164
    }
165
    
166
    @Override
167
    public CreateTableOperation createTable(
168
            String dbName,
169
            String schemaName, 
170
            String tableName, 
171
            FeatureType type, 
172
            List<Pair<String, SQLBuilder.Privilege>> userAndPrivileges, 
173
            List<String> additionalSQLs
174
        ) throws DataException {
175
        return new CreateTableOperation(
176
                helper, dbName, schemaName, tableName, type, 
177
                userAndPrivileges, additionalSQLs
178
        );
179
    }
180

    
181
    @Override
182
    public CanCreateTablesOperation createCanCreateTables() {
183
        return new CanCreateTablesOperation(helper);
184
    }
185

    
186
    @Override
187
    public UpdateTableStatisticsOperation createUpdateTableStatistics(
188
            String dbName,
189
            String schemaName, 
190
            String tableName
191
        ) {
192
        return new UpdateTableStatisticsOperation(helper, dbName, schemaName, tableName);
193
    }
194
    
195
    @Override
196
    public CanModifyTableOperation createCanModifyTableOperation(
197
            String dbName,
198
            String schemaName, 
199
            String tableName
200
        ) {
201
        return new CanModifyTableOperation(helper, dbName, schemaName, tableName);
202
    }
203
    
204
    @Override
205
    public ExecuteOperation createExecute(String sql) {
206
        return new ExecuteOperation(helper, sql);
207
    }
208
    
209
}