Revision 29932 branches/v2_0_0_prep/extensions/org.gvsig.oracle/src/org/gvsig/fmap/dal/store/oracle/OracleStoreProvider.java
OracleStoreProvider.java | ||
---|---|---|
27 | 27 |
|
28 | 28 |
package org.gvsig.fmap.dal.store.oracle; |
29 | 29 |
|
30 |
import java.util.ArrayList; |
|
30 | 31 |
import java.util.List; |
31 | 32 |
import java.util.regex.Matcher; |
32 | 33 |
import java.util.regex.Pattern; |
... | ... | |
61 | 62 |
.getLogger(OracleStoreProvider.class); |
62 | 63 |
|
63 | 64 |
public static String NAME = "OracleSpatial"; |
64 |
public static String DESCRIPTION = "OracleSpatial source";
|
|
65 |
private static final String DYNCLASS_NAME = "OracleSpatialStore";
|
|
65 |
public static String DESCRIPTION = "Oracle source"; |
|
66 |
private static final String DYNCLASS_NAME = "OracleStore"; |
|
66 | 67 |
private static DynClass DYNCLASS = null; |
67 | 68 |
|
68 | 69 |
|
... | ... | |
84 | 85 |
.createDynObject(DYNCLASS)); |
85 | 86 |
} |
86 | 87 |
|
87 |
private OracleStoreParameters getOSParameters() {
|
|
88 |
private OracleStoreParameters getOracleParameters() {
|
|
88 | 89 |
return (OracleStoreParameters) this.getParameters(); |
89 | 90 |
} |
90 | 91 |
|
91 | 92 |
protected JDBCHelper createHelper() throws InitializeException { |
92 |
return new OracleHelper(this, getOSParameters());
|
|
93 |
return new OracleHelper(this, getOracleParameters());
|
|
93 | 94 |
} |
94 | 95 |
|
95 | 96 |
protected String fixFilter(String filter) { |
... | ... | |
138 | 139 |
public DataServerExplorer getExplorer() throws ReadException { |
139 | 140 |
DataManager manager = DALLocator.getDataManager(); |
140 | 141 |
OracleServerExplorerParameters exParams; |
141 |
OracleStoreParameters params = getOSParameters();
|
|
142 |
OracleStoreParameters params = getOracleParameters();
|
|
142 | 143 |
try { |
143 | 144 |
exParams = (OracleServerExplorerParameters) manager |
144 | 145 |
.createServerExplorerParameters(OracleServerExplorer.NAME); |
... | ... | |
152 | 153 |
exParams.setSchema(params.getSchema()); |
153 | 154 |
exParams.setJDBCDriverClassName(params.getJDBCDriverClassName()); |
154 | 155 |
exParams.setUseSSL(params.getUseSSL()); |
156 |
exParams.setOraDriverType(params.getOraDriverType()); |
|
155 | 157 |
|
156 | 158 |
return manager.createServerExplorer(exParams); |
157 | 159 |
} catch (DataException e) { |
... | ... | |
171 | 173 |
return true; |
172 | 174 |
} |
173 | 175 |
|
174 |
// ************************************************************************************// |
|
175 | 176 |
|
176 | 177 |
|
177 |
// ************************************************************************************// |
|
178 | 178 |
|
179 |
|
|
180 |
|
|
181 | 179 |
protected OracleHelper getOSHelper() { |
182 | 180 |
return (OracleHelper) getHelper(); |
183 | 181 |
} |
182 |
|
|
184 | 183 |
|
185 |
// ************************************************************************************// |
|
186 | 184 |
|
187 |
// ************************************************************************************// |
|
188 |
|
|
189 |
|
|
190 |
|
|
191 | 185 |
public boolean canWriteGeometry(int geometryType, int geometrySubtype) |
192 | 186 |
throws DataException { |
193 | 187 |
FeatureType type = getFeatureStore().getDefaultFeatureType(); |
... | ... | |
262 | 256 |
protected String getSqlStatementAddField(FeatureAttributeDescriptor attr, |
263 | 257 |
List additionalStatement) throws DataException { |
264 | 258 |
if (attr.getDataType() == DataTypes.GEOMETRY) { |
265 |
OracleStoreParameters params = getOSParameters();
|
|
259 |
OracleStoreParameters params = getOracleParameters();
|
|
266 | 260 |
additionalStatement.add(((OracleHelper) helper) |
267 | 261 |
.getSqlGeometyFieldAdd(attr, params.getTable(), params |
268 | 262 |
.getSchema())); |
... | ... | |
273 | 267 |
} |
274 | 268 |
private Object getSqlGeometyFieldDrop(FeatureAttributeDescriptor attr) { |
275 | 269 |
StringBuilder strb = new StringBuilder(); |
276 |
OracleStoreParameters params = getOSParameters();
|
|
270 |
OracleStoreParameters params = getOracleParameters();
|
|
277 | 271 |
strb.append("Delete from geometry_columns where f_geometry_column = '"); |
278 | 272 |
strb.append(attr.getName()); |
279 | 273 |
strb.append("' and f_table_nam = '"); |
... | ... | |
312 | 306 |
List actions = super.getSqlStatementAlterField(attrOrg, attrTrg, |
313 | 307 |
additionalStatement); |
314 | 308 |
StringBuilder strb; |
315 |
OracleStoreParameters params = getOSParameters();
|
|
309 |
OracleStoreParameters params = getOracleParameters();
|
|
316 | 310 |
if (attrOrg.getDataType() != attrTrg.getDataType()) { |
317 | 311 |
if (attrOrg.getDataType() == DataTypes.GEOMETRY) { |
318 | 312 |
additionalStatement.add(getSqlGeometyFieldDrop(attrOrg)); |
... | ... | |
330 | 324 |
|
331 | 325 |
return actions; |
332 | 326 |
} |
327 |
|
|
328 |
public List getSqlGeometyFieldAdd(FeatureAttributeDescriptor attr, |
|
329 |
String table, String schema) { |
|
330 |
|
|
333 | 331 |
|
332 |
List sqls = new ArrayList(); |
|
333 |
|
|
334 |
StringBuilder strb = new StringBuilder(); |
|
335 |
strb.append("SELECT AddGeometryColumn('"); |
|
336 |
if (schema != null && schema.length() > 0) { |
|
337 |
strb.append(schema); |
|
338 |
strb.append("', '"); |
|
339 |
} |
|
340 |
strb.append(table); |
|
341 |
strb.append("', '"); |
|
342 |
strb.append(attr.getName()); |
|
343 |
strb.append("', "); |
|
344 |
// strb.append("-1"); |
|
345 |
strb.append(getProviderSRID(attr.getSRS())); |
|
346 |
strb.append(", '"); |
|
347 |
strb.append(getPostgisGeomType(attr.getGeometryType(), attr |
|
348 |
.getGeometrySubType())); |
|
349 |
strb.append("', "); |
|
350 |
strb.append(getPostgisGeomDimensions(attr.getGeometrySubType())); |
|
351 |
strb.append(")"); |
|
352 |
|
|
353 |
|
|
354 |
sqls.add(strb.toString()); |
|
355 |
|
|
356 |
/*ALTER TABLE muni10000_peq_test DROP CONSTRAINT enforce_srid_the_geom;*/ |
|
357 |
/* |
|
358 |
strb = new StringBuilder(); |
|
359 |
strb.append("Alter table "); |
|
360 |
if (schema != null && schema.length() > 0) { |
|
361 |
strb.append(schema); |
|
362 |
strb.append("."); |
|
363 |
} |
|
364 |
strb.append("f_table_name = '"); |
|
365 |
strb.append(table); |
|
366 |
strb.append("' AND f_geometry_column = '"); |
|
367 |
strb.append(attr.getName()); |
|
368 |
strb.append("' AND srid = -1"); |
|
369 |
|
|
370 |
|
|
371 |
sqls.add(strb.toString()); |
|
372 |
*/ |
|
373 |
return sqls; |
|
374 |
} |
|
375 |
|
|
334 | 376 |
} |
Also available in: Unified diff