Revision 45614
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/PerformChangesOperation.java | ||
---|---|---|
33 | 33 |
import org.apache.commons.collections.CollectionUtils; |
34 | 34 |
import org.apache.commons.lang3.StringUtils; |
35 | 35 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
36 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Parameter; |
|
36 | 37 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Variable; |
37 | 38 |
import org.gvsig.expressionevaluator.GeometryExpressionBuilder; |
38 | 39 |
import org.gvsig.fmap.dal.DataTypes; |
... | ... | |
43 | 44 |
import org.gvsig.fmap.dal.feature.FeatureType.FeatureTypeChanged; |
44 | 45 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider; |
45 | 46 |
import org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices; |
46 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
|
47 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper; |
|
48 | 47 |
import org.gvsig.fmap.dal.store.jdbc.exception.JDBCExecuteSQLException; |
49 | 48 |
import org.gvsig.fmap.dal.store.jdbc.exception.JDBCSQLException; |
50 | 49 |
import org.gvsig.fmap.dal.store.jdbc.exception.JDBCUpdateWithoutChangesException; |
51 |
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
|
|
50 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
|
|
52 | 51 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCUtils; |
53 | 52 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference; |
53 |
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase; |
|
54 | 54 |
import static org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase.PROP_FEATURE_TYPE; |
55 | 55 |
import static org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase.PROP_TABLE; |
56 | 56 |
import org.gvsig.tools.dispose.Disposable; |
... | ... | |
221 | 221 |
PROP_FEATURE_TYPE, featureType, |
222 | 222 |
PROP_TABLE, table |
223 | 223 |
); |
224 |
sqlbuilder.setProperties( |
|
225 |
Parameter.class, |
|
226 |
PROP_FEATURE_TYPE, featureType, |
|
227 |
PROP_TABLE, table |
|
228 |
); |
|
224 | 229 |
String sql = sqlbuilder.insert().toString(); |
225 | 230 |
return sql; |
226 | 231 |
} |
... | ... | |
302 | 307 |
PROP_FEATURE_TYPE, this.featureType, |
303 | 308 |
PROP_TABLE, table |
304 | 309 |
); |
310 |
sqlbuilder.setProperties( |
|
311 |
Parameter.class, |
|
312 |
PROP_FEATURE_TYPE, featureType, |
|
313 |
PROP_TABLE, table |
|
314 |
); |
|
315 |
|
|
305 | 316 |
String sql = sqlbuilder.update().toString(); |
306 | 317 |
return sql; |
307 | 318 |
} |
... | ... | |
409 | 420 |
Variable.class, |
410 | 421 |
PROP_TABLE, table |
411 | 422 |
); |
412 |
|
|
413 | 423 |
List<String> sqls = sqlbuilder.alter_table().toStrings(); |
414 | 424 |
sqls.addAll(buildCreateIndexSQL()); |
415 | 425 |
return sqls; |
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/JDBCServerExplorerBase.java | ||
---|---|---|
24 | 24 |
package org.gvsig.fmap.dal.store.jdbc2.spi; |
25 | 25 |
|
26 | 26 |
import java.io.File; |
27 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer; |
|
28 | 27 |
import java.util.ArrayList; |
29 | 28 |
import java.util.Arrays; |
30 | 29 |
import java.util.Collections; |
... | ... | |
53 | 52 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_CONFIGURATION_NAME; |
54 | 53 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_RESOURCES_NAME; |
55 | 54 |
import org.gvsig.fmap.dal.NewDataStoreParameters; |
55 |
import org.gvsig.fmap.dal.SQLBuilder; |
|
56 |
import org.gvsig.fmap.dal.SQLBuilder.Privilege; |
|
56 | 57 |
import org.gvsig.fmap.dal.exception.CloseException; |
57 | 58 |
import org.gvsig.fmap.dal.exception.DataException; |
58 | 59 |
import org.gvsig.fmap.dal.exception.InitializeException; |
59 | 60 |
import org.gvsig.fmap.dal.exception.OpenException; |
60 | 61 |
import org.gvsig.fmap.dal.exception.RemoveException; |
62 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
|
61 | 63 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
62 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
63 |
import org.gvsig.fmap.dal.SQLBuilder; |
|
64 |
import org.gvsig.fmap.dal.SQLBuilder.Privilege; |
|
65 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
|
66 | 64 |
import org.gvsig.fmap.dal.feature.Feature; |
67 | 65 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
66 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
68 | 67 |
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters; |
69 | 68 |
import org.gvsig.fmap.dal.resource.spi.ResourceProvider; |
70 | 69 |
import org.gvsig.fmap.dal.serverexplorer.db.spi.AbstractDBServerExplorer; |
... | ... | |
77 | 76 |
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters; |
78 | 77 |
import org.gvsig.fmap.dal.store.jdbc.exception.JDBCExecuteSQLException; |
79 | 78 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper; |
79 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer; |
|
80 | 80 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory; |
81 | 81 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.CanCreateTablesOperation; |
82 | 82 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.CreateTableOperation; |
83 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.DropTableOperation; |
|
84 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.ExecuteOperation; |
|
83 | 85 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.FetchFeatureTypeOperation; |
84 | 86 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.ListTablesOperation; |
85 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.DropTableOperation; |
|
86 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.ExecuteOperation; |
|
87 | 87 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.UpdateTableStatisticsOperation; |
88 | 88 |
import org.gvsig.json.Json; |
89 | 89 |
import org.gvsig.json.JsonObjectBuilder; |
... | ... | |
204 | 204 |
private final int mode; |
205 | 205 |
private final JDBCServerExplorerParameters serverParameters; |
206 | 206 |
private final boolean informationTables; |
207 |
private final JDBCHelper helper;
|
|
207 |
private JDBCHelper helper; |
|
208 | 208 |
|
209 | 209 |
public CachedTablesValue(JDBCHelper helper, int mode, JDBCServerExplorerParameters serverParameters, boolean informationTables) { |
210 | 210 |
this.mode = mode; |
... | ... | |
224 | 224 |
@Override |
225 | 225 |
protected void reload() { |
226 | 226 |
List<JDBCStoreParameters> tables = null; |
227 |
if(helper == null){ |
|
228 |
this.setValue(tables); |
|
229 |
return; |
|
230 |
} |
|
227 | 231 |
OperationsFactory operations = helper.getOperations(); |
228 | 232 |
if (operations == null) { |
229 | 233 |
this.setValue(null); |
... | ... | |
240 | 244 |
} |
241 | 245 |
this.setValue(tables); |
242 | 246 |
} |
247 |
|
|
248 |
public JDBCHelper getHelper(){ |
|
249 |
return this.helper; |
|
250 |
} |
|
251 |
|
|
252 |
public void dispose() { |
|
253 |
this.helper = null; |
|
254 |
} |
|
243 | 255 |
} |
244 | 256 |
|
245 | 257 |
public JDBCServerExplorerBase( |
... | ... | |
431 | 443 |
|
432 | 444 |
@Override |
433 | 445 |
protected void doDispose() throws BaseException { |
434 |
helper.dispose(); |
|
435 |
helper = null; |
|
446 |
synchronized (CACHED_TABLES) { |
|
447 |
List<String> toRemove = new ArrayList<>(); |
|
448 |
for (Map.Entry<String, CachedValue<List<JDBCStoreParameters>>> entry : CACHED_TABLES.entrySet()) { |
|
449 |
CachedTablesValue value = (CachedTablesValue) entry.getValue(); |
|
450 |
if (value.getHelper() == this.helper) { |
|
451 |
toRemove.add(entry.getKey()); |
|
452 |
value.dispose(); |
|
453 |
} |
|
454 |
} |
|
455 |
for (String key : toRemove) { |
|
456 |
CACHED_TABLES.remove(key); |
|
457 |
} |
|
458 |
helper.dispose(); |
|
459 |
helper = null; |
|
460 |
} |
|
436 | 461 |
} |
437 | 462 |
|
438 | 463 |
@Override |
... | ... | |
550 | 575 |
boolean informationTables = BooleanUtils.isTrue( |
551 | 576 |
this.getParameters().getShowInformationDBTables() |
552 | 577 |
); |
553 |
CACHED_TABLES.remove(buildKeyForCachedTables(MODE_ALL, this.getParameters(), informationTables)); |
|
554 |
CACHED_TABLES.remove(buildKeyForCachedTables(MODE_FEATURE, this.getParameters(), informationTables)); |
|
555 |
CACHED_TABLES.remove(buildKeyForCachedTables(MODE_GEOMETRY, this.getParameters(), informationTables)); |
|
578 |
synchronized(CACHED_TABLES){ |
|
579 |
CACHED_TABLES.remove(buildKeyForCachedTables(MODE_ALL, this.getParameters(), informationTables)); |
|
580 |
CACHED_TABLES.remove(buildKeyForCachedTables(MODE_FEATURE, this.getParameters(), informationTables)); |
|
581 |
CACHED_TABLES.remove(buildKeyForCachedTables(MODE_GEOMETRY, this.getParameters(), informationTables)); |
|
582 |
} |
|
556 | 583 |
} |
557 | 584 |
|
558 | 585 |
@Override |
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/JDBCStoreProviderBase.java | ||
---|---|---|
24 | 24 |
package org.gvsig.fmap.dal.store.jdbc2.spi; |
25 | 25 |
|
26 | 26 |
import java.text.MessageFormat; |
27 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCStoreProvider; |
|
28 | 27 |
import java.util.Arrays; |
29 | 28 |
import java.util.Collections; |
30 | 29 |
import java.util.Iterator; |
... | ... | |
65 | 64 |
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters; |
66 | 65 |
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters; |
67 | 66 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper; |
67 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCStoreProvider; |
|
68 | 68 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCUtils; |
69 | 69 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory; |
70 | 70 |
import org.gvsig.fmap.dal.store.jdbc2.ResulSetControler; |
... | ... | |
92 | 92 |
extends AbstractFeatureStoreProvider |
93 | 93 |
implements ResourceConsumer, JDBCStoreProvider { |
94 | 94 |
|
95 |
final static private Logger LOGGER = LoggerFactory.getLogger(JDBCStoreProviderBase.class);
|
|
95 |
final static protected Logger LOGGER = LoggerFactory.getLogger(JDBCStoreProviderBase.class);
|
|
96 | 96 |
|
97 | 97 |
public class CountValue implements CalculatedValue<Long> { |
98 | 98 |
|
... | ... | |
527 | 527 |
List<FeatureType> types = Collections.singletonList(defaultType); |
528 | 528 |
this.getStoreServices().setFeatureTypes(types, defaultType); |
529 | 529 |
} |
530 |
|
|
530 |
|
|
531 | 531 |
@Override |
532 | 532 |
protected FeatureProvider internalGetFeatureProviderByReference( |
533 | 533 |
FeatureReferenceProviderServices reference, |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStore.java | ||
---|---|---|
91 | 91 |
import org.gvsig.fmap.dal.feature.FeatureType; |
92 | 92 |
import org.gvsig.fmap.dal.feature.FeatureType.FeatureTypeChanged; |
93 | 93 |
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters; |
94 |
import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters; |
|
95 | 94 |
import org.gvsig.fmap.dal.feature.exception.AlreadyEditingException; |
96 | 95 |
import org.gvsig.fmap.dal.feature.exception.ConcurrentDataModificationException; |
97 | 96 |
import org.gvsig.fmap.dal.feature.exception.CreateFeatureException; |
... | ... | |
320 | 319 |
this.metadataChildren = new HashSet(); |
321 | 320 |
this.metadataChildren.add(provider); |
322 | 321 |
loadDALFile(); |
323 |
|
|
322 |
|
|
324 | 323 |
// Habria que crear un metodo en el proveedor para que de prioidad |
325 | 324 |
// a los parametros frente a lo que se a leido en el fichero dal |
326 | 325 |
// DataStoreProvider arreglalo segun los parametros del usuario |
... | ... | |
341 | 340 |
LOGGER.warn("Can't patch DAL file",th); |
342 | 341 |
} |
343 | 342 |
} |
344 |
|
|
343 |
|
|
345 | 344 |
@Override |
346 | 345 |
public DataStoreParameters getParameters() { |
347 | 346 |
if( this.parameters==null ) { |
trunk/org.gvsig.desktop/pom.xml | ||
---|---|---|
2814 | 2814 |
|
2815 | 2815 |
<jython.artifactId>jython-standalone</jython.artifactId> |
2816 | 2816 |
<!-- External project versions --> |
2817 |
<gvsig.tools.version>3.0.279</gvsig.tools.version>
|
|
2817 |
<gvsig.tools.version>3.0.280-SNAPSHOT</gvsig.tools.version>
|
|
2818 | 2818 |
<gvsig.proj.version>1.0.31</gvsig.proj.version> |
2819 | 2819 |
<gvsig.projection.api.version>2.0.56</gvsig.projection.api.version> |
2820 | 2820 |
</properties> |
Also available in: Unified diff