Revision 46338
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVStoreParameters.java | ||
---|---|---|
26 | 26 |
import java.io.File; |
27 | 27 |
import java.util.Locale; |
28 | 28 |
import org.apache.commons.lang3.BooleanUtils; |
29 |
|
|
30 | 29 |
import org.apache.commons.lang3.StringEscapeUtils; |
31 | 30 |
import org.apache.commons.lang3.StringUtils; |
32 | 31 |
import org.cresques.cts.IProjection; |
... | ... | |
41 | 40 |
import org.gvsig.fmap.dal.feature.FeatureType; |
42 | 41 |
import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters; |
43 | 42 |
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters; |
44 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
|
43 |
import org.gvsig.fmap.dal.spi.AbstractDataStoreParameters;
|
|
45 | 44 |
import org.gvsig.fmap.dal.spi.DataStoreProviderServices; |
46 | 45 |
import org.gvsig.fmap.geom.Geometry; |
47 | 46 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
... | ... | |
55 | 54 |
import org.supercsv.quote.QuoteMode; |
56 | 55 |
|
57 | 56 |
@SuppressWarnings("UseSpecificCatch") |
58 |
public class CSVStoreParameters extends AbstractDataParameters implements |
|
57 |
public class CSVStoreParameters extends AbstractDataStoreParameters implements
|
|
59 | 58 |
OpenFeatureStoreParameters, FilesystemStoreParameters { |
60 | 59 |
|
61 | 60 |
private static final Logger LOGGER = LoggerFactory.getLogger(CSVStoreParameters.class); |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/main/java/org/gvsig/fmap/dal/store/dbf/DBFStoreParameters.java | ||
---|---|---|
30 | 30 |
import org.apache.commons.lang3.BooleanUtils; |
31 | 31 |
import org.apache.commons.lang3.StringUtils; |
32 | 32 |
import org.gvsig.fmap.dal.DataParameters; |
33 |
|
|
34 | 33 |
import org.gvsig.fmap.dal.FileHelper; |
35 | 34 |
import org.gvsig.fmap.dal.exception.ValidateDataParametersException; |
36 | 35 |
import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters; |
37 | 36 |
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters; |
38 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
|
37 |
import org.gvsig.fmap.dal.spi.AbstractDataStoreParameters;
|
|
39 | 38 |
import org.gvsig.fmap.dal.spi.DataStoreProviderServices; |
40 | 39 |
import org.gvsig.fmap.dal.store.dbf.utils.DbaseCodepage; |
41 | 40 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
42 |
|
|
43 | 41 |
import org.slf4j.Logger; |
44 | 42 |
import org.slf4j.LoggerFactory; |
45 | 43 |
|
46 | 44 |
|
47 |
public class DBFStoreParameters extends AbstractDataParameters implements |
|
45 |
public class DBFStoreParameters extends AbstractDataStoreParameters implements
|
|
48 | 46 |
OpenFeatureStoreParameters, FilesystemStoreParameters { |
49 | 47 |
|
50 | 48 |
private static final Logger logger = LoggerFactory.getLogger(DBFStoreParameters.class); |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.lib/src/main/java/org/gvsig/fmap/dal/feature/spi/simpleprovider/SimpleSequentialReaderStoreParameters.java | ||
---|---|---|
33 | 33 |
import org.gvsig.fmap.dal.FileHelper; |
34 | 34 |
import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters; |
35 | 35 |
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters; |
36 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
|
36 |
import org.gvsig.fmap.dal.spi.AbstractDataStoreParameters;
|
|
37 | 37 |
import org.gvsig.fmap.dal.spi.DataManagerProviderServices; |
38 | 38 |
import org.gvsig.fmap.dal.spi.DataStoreProviderServices; |
39 | 39 |
import org.gvsig.tools.ToolsLocator; |
... | ... | |
45 | 45 |
import org.slf4j.LoggerFactory; |
46 | 46 |
|
47 | 47 |
public class SimpleSequentialReaderStoreParameters |
48 |
extends AbstractDataParameters |
|
48 |
extends AbstractDataStoreParameters
|
|
49 | 49 |
implements OpenFeatureStoreParameters, FilesystemStoreParameters, Cloneable |
50 | 50 |
{ |
51 | 51 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.lib/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/FilesystemServerExplorerParameters.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.fmap.dal.serverexplorer.filesystem; |
25 | 25 |
|
26 |
import org.apache.commons.lang3.StringUtils; |
|
26 | 27 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
27 | 28 |
import org.gvsig.fmap.dal.DataTypes; |
28 | 29 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
... | ... | |
92 | 93 |
protected DelegatedDynObject getDelegatedDynObject() { |
93 | 94 |
return delegatedDynObject; |
94 | 95 |
} |
96 |
|
|
97 |
@Override |
|
98 |
public boolean isTheSameServerExplorer(DataServerExplorerParameters params) { |
|
99 |
if(!(params instanceof FilesystemServerExplorerParameters)){ |
|
100 |
return false; |
|
101 |
} |
|
102 |
return StringUtils.equals(this.getRoot(), ((FilesystemServerExplorerParameters)params).getRoot()); |
|
103 |
} |
|
95 | 104 |
} |
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 | ||
---|---|---|
450 | 450 |
this.featureCount = null; |
451 | 451 |
this.provider.refresh(); |
452 | 452 |
} |
453 |
this.resourcesStorage = null; |
|
454 |
loadDALFile(); |
|
453 | 455 |
this.notifyChange(FeatureStoreNotification.AFTER_REFRESH); |
454 | 456 |
} |
455 | 457 |
|
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/store/memory/MemoryStoreParameters.java | ||
---|---|---|
25 | 25 |
package org.gvsig.fmap.dal.store.memory; |
26 | 26 |
|
27 | 27 |
import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters; |
28 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
|
28 |
import org.gvsig.fmap.dal.spi.AbstractDataStoreParameters;
|
|
29 | 29 |
import org.gvsig.tools.ToolsLocator; |
30 | 30 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
31 | 31 |
import org.gvsig.tools.dynobject.DynStruct; |
... | ... | |
34 | 34 |
/** |
35 | 35 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
36 | 36 |
*/ |
37 |
public class MemoryStoreParameters extends AbstractDataParameters implements |
|
37 |
public class MemoryStoreParameters extends AbstractDataStoreParameters implements
|
|
38 | 38 |
OpenFeatureStoreParameters{ |
39 | 39 |
|
40 | 40 |
private static final String PARAMETERS_DEFINITION_NAME = "MemoryStoreParameters"; |
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/impl/DefaultDataManager.java | ||
---|---|---|
10 | 10 |
import java.util.HashSet; |
11 | 11 |
import java.util.List; |
12 | 12 |
import java.util.Map; |
13 |
import java.util.Objects; |
|
14 | 13 |
import java.util.Set; |
15 | 14 |
import java.util.UUID; |
16 | 15 |
import java.util.function.Predicate; |
... | ... | |
22 | 21 |
import org.gvsig.expressionevaluator.Expression; |
23 | 22 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
24 | 23 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
25 |
import org.gvsig.expressionevaluator.ExpressionUtils; |
|
26 |
import org.gvsig.expressionevaluator.MutableSymbolTable; |
|
27 | 24 |
import org.gvsig.expressionevaluator.impl.DefaultDALExpressionBuilder; |
28 | 25 |
import org.gvsig.expressionevaluator.impl.DefaultFeatureRuleExpression; |
29 | 26 |
import org.gvsig.expressionevaluator.impl.symboltable.FeatureSymbolTableImpl; |
30 | 27 |
import org.gvsig.fmap.dal.BaseStoresRepository; |
31 |
import org.gvsig.fmap.dal.DALLocator; |
|
32 | 28 |
import org.gvsig.fmap.dal.DataFactory; |
33 | 29 |
import org.gvsig.fmap.dal.DataManager; |
34 | 30 |
import org.gvsig.fmap.dal.DataServerExplorer; |
... | ... | |
61 | 57 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
62 | 58 |
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor; |
63 | 59 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
64 |
import org.gvsig.fmap.dal.feature.Feature; |
|
65 | 60 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
66 | 61 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
67 | 62 |
import org.gvsig.fmap.dal.feature.FeatureRuleExpression; |
68 | 63 |
import org.gvsig.fmap.dal.feature.FeatureSet; |
69 |
import org.gvsig.fmap.dal.feature.FeatureSet.DisposableFeatureSetIterable; |
|
70 | 64 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
71 | 65 |
import org.gvsig.fmap.dal.feature.FeatureType; |
72 |
import org.gvsig.fmap.dal.feature.ForeingKey; |
|
73 |
import static org.gvsig.fmap.dal.feature.ForeingKey.MAX_AVAILABLE_VALUES; |
|
74 | 66 |
import org.gvsig.fmap.dal.feature.exception.UnsupportedDataTypeException; |
75 | 67 |
import org.gvsig.fmap.dal.feature.impl.DALFile; |
76 | 68 |
import org.gvsig.fmap.dal.feature.impl.DefaultEditableFeatureAttributeDescriptor; |
... | ... | |
103 | 95 |
import org.gvsig.json.Json; |
104 | 96 |
import org.gvsig.tools.ToolsLocator; |
105 | 97 |
import org.gvsig.tools.dataTypes.DataType; |
106 |
import org.gvsig.tools.dataTypes.DataTypeUtils; |
|
107 | 98 |
import org.gvsig.tools.dataTypes.DataTypesManager; |
108 |
import org.gvsig.tools.dispose.DisposeUtils; |
|
109 | 99 |
import org.gvsig.tools.dynobject.DynObject; |
110 |
import org.gvsig.tools.dynobject.DynObjectValueItem; |
|
111 | 100 |
import org.gvsig.tools.dynobject.DynStruct; |
112 | 101 |
import org.gvsig.tools.dynobject.DynStruct_v2; |
113 | 102 |
import org.gvsig.tools.dynobject.Tags; |
... | ... | |
1297 | 1286 |
} |
1298 | 1287 |
|
1299 | 1288 |
@Override |
1289 |
public DatabaseWorkspaceManager getDatabaseWorkspace(DataServerExplorerParameters params) { |
|
1290 |
for (DatabaseWorkspaceManager databaseWorkspace : this.databaseWorkspaces.values()) { |
|
1291 |
DataServerExplorerParameters p = databaseWorkspace.getServerExplorerParameters(); |
|
1292 |
if(p.isTheSameServerExplorer(params)){ |
|
1293 |
return databaseWorkspace; |
|
1294 |
} |
|
1295 |
} |
|
1296 |
return null; |
|
1297 |
} |
|
1298 |
|
|
1299 |
@Override |
|
1300 | 1300 |
public void writeDALResource(ResourcesStorage resources, DataStore store) { |
1301 | 1301 |
ResourcesStorage.Resource resource = null; |
1302 | 1302 |
try { |
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/impl/DefaultDatabaseWorkspaceManager.java | ||
---|---|---|
8 | 8 |
import java.util.Map; |
9 | 9 |
import java.util.Objects; |
10 | 10 |
import org.apache.commons.collections4.map.LRUMap; |
11 |
import org.gvsig.fmap.dal.DatabaseWorkspaceManager; |
|
12 | 11 |
import org.apache.commons.lang3.StringUtils; |
13 |
import org.apache.commons.lang3.mutable.Mutable; |
|
14 |
import org.apache.commons.lang3.mutable.MutableObject; |
|
15 | 12 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
16 | 13 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
17 | 14 |
import org.gvsig.expressionevaluator.ExpressionUtils; |
18 |
import org.gvsig.expressionevaluator.impl.DefaultExpressionEvaluatorManager; |
|
19 | 15 |
import org.gvsig.expressionevaluator.spi.AbstractSymbolTable; |
20 | 16 |
import org.gvsig.fmap.dal.DALLocator; |
21 | 17 |
import org.gvsig.fmap.dal.DataManager; |
... | ... | |
23 | 19 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
24 | 20 |
import org.gvsig.fmap.dal.DataStoreParameters; |
25 | 21 |
import org.gvsig.fmap.dal.DataTypes; |
22 |
import org.gvsig.fmap.dal.DatabaseWorkspaceManager; |
|
26 | 23 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.CONFIG_NAME_STORESREPOSITORYID; |
27 | 24 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.CONFIG_NAME_STORESREPOSITORYLABEL; |
28 | 25 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_CONFIGURATION_NAME; |
29 | 26 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_CONFIGURATION_VALUE; |
30 |
import org.gvsig.fmap.dal.StoresRepository; |
|
31 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
|
32 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
|
33 |
import org.gvsig.fmap.dal.feature.Feature; |
|
34 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
27 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_REPOSITORY_FLAGS; |
|
35 | 28 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_REPOSITORY_NAME; |
36 | 29 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_REPOSITORY_PARAMETERS; |
37 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_REPOSITORY_FLAGS; |
|
38 | 30 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_RESOURCES_NAME; |
39 | 31 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_RESOURCES_RESOURCE; |
40 | 32 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_CONFIGURATION; |
... | ... | |
43 | 35 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_REPOSITORY_NAME; |
44 | 36 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_RESOURCES; |
45 | 37 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_RESOURCES_NAME; |
38 |
import org.gvsig.fmap.dal.StoresRepository; |
|
39 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
|
40 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
|
41 |
import org.gvsig.fmap.dal.feature.Feature; |
|
42 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
46 | 43 |
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters; |
47 | 44 |
import org.gvsig.tools.dispose.DisposeUtils; |
48 | 45 |
import org.gvsig.tools.dynobject.DynClass; |
... | ... | |
87 | 84 |
|
88 | 85 |
@Override |
89 | 86 |
protected void reload() { |
87 |
LOGGER.info("reload CachedConfigValue "+name); |
|
90 | 88 |
String s = DefaultDatabaseWorkspaceManager.this.getConfigValue(name); |
91 | 89 |
if( StringUtils.isBlank(s) ) { |
92 | 90 |
this.setValue(null); |
... | ... | |
94 | 92 |
this.setValue(s); |
95 | 93 |
} |
96 | 94 |
} |
95 |
|
|
96 |
@Override |
|
97 |
public String toString() { |
|
98 |
return this.name+" = "+this.getValue(); |
|
99 |
} |
|
100 |
|
|
101 |
|
|
97 | 102 |
} |
98 | 103 |
|
99 | 104 |
private final DataServerExplorerParameters serverParameters; |
100 | 105 |
private Boolean existsConfiguration = null; |
101 | 106 |
private StoresRepository storesRepository; |
102 |
private CachedValue<File> alternativeResourcesFolder = null;
|
|
107 |
private CachedConfigValue alternativeResourcesFolder = null;
|
|
103 | 108 |
private CachedValue<File> baseFolder; |
104 | 109 |
private Map<String,CachedConfigValue> cachedConfigValues; |
105 | 110 |
|
... | ... | |
112 | 117 |
if( StringUtils.isBlank(s) ) { |
113 | 118 |
this.setValue(null); |
114 | 119 |
} else { |
120 |
s = ExpressionUtils.evaluateDynamicText(DefaultDatabaseWorkspaceManager.this, s); |
|
115 | 121 |
this.setValue(new File(s)); |
116 | 122 |
} |
117 | 123 |
} |
118 | 124 |
|
119 | 125 |
}; |
120 | 126 |
this.baseFolder.setExpireTime(20000); // 20seg |
121 |
this.alternativeResourcesFolder = new CachedValue() { |
|
122 |
@Override |
|
123 |
protected void reload() { |
|
124 |
String s = DefaultDatabaseWorkspaceManager.this.getConfigValue(CONFIG_NAME_ALTERNATIVE_RESOURCES_PATH); |
|
125 |
if( StringUtils.isBlank(s) ) { |
|
126 |
this.setValue(null); |
|
127 |
} else { |
|
128 |
this.setValue(new File(s)); |
|
129 |
} |
|
130 |
} |
|
131 |
|
|
132 |
}; |
|
133 |
this.alternativeResourcesFolder.setExpireTime(30000); // 20seg |
|
127 |
this.alternativeResourcesFolder = new CachedConfigValue(CONFIG_NAME_ALTERNATIVE_RESOURCES_PATH, null, 30000); |
|
128 |
// this.alternativeResourcesFolder = new CachedValue() { |
|
129 |
// @Override |
|
130 |
// protected void reload() { |
|
131 |
// String s = DefaultDatabaseWorkspaceManager.this.getConfigValue(CONFIG_NAME_ALTERNATIVE_RESOURCES_PATH); |
|
132 |
// if( StringUtils.isBlank(s) ) { |
|
133 |
// this.setValue(null); |
|
134 |
// } else { |
|
135 |
// this.setValue(new File(s)); |
|
136 |
// } |
|
137 |
// } |
|
138 |
// |
|
139 |
// }; |
|
140 |
// this.alternativeResourcesFolder.setExpireTime(30000); // 20seg |
|
134 | 141 |
|
135 | 142 |
this.cachedConfigValues = new LRUMap<>(20, 20); |
136 | 143 |
ExpressionEvaluatorLocator.getExpressionEvaluatorManager().populateSymbolTable(this); |
... | ... | |
234 | 241 |
throw new RuntimeException("Can't get server explorer for workspace '"+Objects.toString(this.serverParameters)+"'", ex); |
235 | 242 |
} |
236 | 243 |
} |
244 |
|
|
245 |
@Override |
|
246 |
public DataServerExplorerParameters getServerExplorerParameters() { |
|
247 |
return this.serverParameters; |
|
248 |
} |
|
237 | 249 |
|
250 |
|
|
251 |
|
|
238 | 252 |
private boolean existsTable(String tableName) { |
239 | 253 |
DataServerExplorer server = null; |
240 | 254 |
try { |
... | ... | |
400 | 414 |
return null; |
401 | 415 |
} |
402 | 416 |
if( StringUtils.equalsIgnoreCase(name, CONFIG_NAME_BASEFOLDER) ) { |
403 |
return this.baseFolder.get().toString();
|
|
417 |
return Objects.toString(this.baseFolder.get(), null);
|
|
404 | 418 |
} |
419 |
if( StringUtils.equalsIgnoreCase(name, CONFIG_NAME_ALTERNATIVE_RESOURCES_PATH) ) { |
|
420 |
return Objects.toString(this.alternativeResourcesFolder.get(), null); |
|
421 |
} |
|
405 | 422 |
CachedConfigValue cachedValue = this.cachedConfigValues.get(name); |
406 | 423 |
if( cachedValue != null ) { |
407 | 424 |
return cachedValue.get(); |
408 | 425 |
} |
409 | 426 |
String value = this.getConfigValue(name); |
410 | 427 |
this.cachedConfigValues.put(name, new CachedConfigValue(name, value, 15000)); |
428 |
value = ExpressionUtils.evaluateDynamicText(this, value); |
|
411 | 429 |
return value; |
412 | 430 |
} catch (Exception ex) { |
413 | 431 |
LOGGER.warn("Can't read configuration value '"+name+"'", ex); |
... | ... | |
435 | 453 |
return null; |
436 | 454 |
} |
437 | 455 |
String value = feature.getString(FIELD_CONFIGURATION_VALUE); |
438 |
value = ExpressionUtils.evaluateDynamicText(this, value); |
|
456 |
// value = ExpressionUtils.evaluateDynamicText(this, value);
|
|
439 | 457 |
return value; |
440 | 458 |
|
441 | 459 |
} catch (Exception ex) { |
... | ... | |
476 | 494 |
store.update(efeature); |
477 | 495 |
} |
478 | 496 |
store.finishEditing(); |
479 |
if( this.cachedConfigValues.containsKey(name) ) { |
|
480 |
this.cachedConfigValues.get(name).set(value); |
|
497 |
if( StringUtils.equalsIgnoreCase(name, CONFIG_NAME_ALTERNATIVE_RESOURCES_PATH)) { |
|
498 |
this.alternativeResourcesFolder.expired(); |
|
499 |
} else if( this.cachedConfigValues.containsKey(name) ) { |
|
500 |
value = ExpressionUtils.evaluateDynamicText(this, value); |
|
501 |
this.cachedConfigValues.get(name).set(value); |
|
481 | 502 |
} |
482 | 503 |
return true; |
483 | 504 |
} catch (Exception ex) { |
... | ... | |
655 | 676 |
|
656 | 677 |
@Override |
657 | 678 |
public ResourcesStorage getAlternativeResourcesStorage(String tableName) { |
658 |
// if( this.alternativeResourcesFolder==null ) { |
|
659 |
// this.alternativeResourcesFolder = new MutableObject<>(null); |
|
660 |
// String resourcesPath = this.get(CONFIG_NAME_ALTERNATIVE_RESOURCES_PATH); |
|
661 |
// if( !StringUtils.isBlank(resourcesPath) ) { |
|
662 |
// try { |
|
663 |
// resourcesPath = (String) ExpressionUtils.evaluateDynamicText(resourcesPath); |
|
664 |
// } catch(Throwable th) { |
|
665 |
// // Do nothing |
|
666 |
// } |
|
667 |
// File f = new File(resourcesPath); |
|
668 |
// if( f.exists() ) { |
|
669 |
// this.alternativeResourcesFolder.setValue(f); |
|
670 |
// } |
|
671 |
// } |
|
672 |
// } |
|
673 |
// File folder = this.alternativeResourcesFolder.getValue(); |
|
674 |
File folder = this.alternativeResourcesFolder.get(); |
|
679 |
LOGGER.info("getAlternativeResourcesStorage from cache: "+!this.alternativeResourcesFolder.isExpired()); |
|
680 |
String s = this.alternativeResourcesFolder.get(); |
|
681 |
LOGGER.info("alternativeResourcesStorage: "+s); |
|
682 |
if( StringUtils.isBlank(s) ) { |
|
683 |
return null; |
|
684 |
} |
|
685 |
|
|
686 |
s = ExpressionUtils.evaluateDynamicText(this, s); |
|
687 |
|
|
688 |
File folder = new File(s); |
|
689 |
|
|
675 | 690 |
if( folder==null ) { |
676 | 691 |
return null; |
677 | 692 |
} |
... | ... | |
679 | 694 |
ResourcesStorage resources = new FilesResourcesStorage(resourcesRoot); |
680 | 695 |
return resources; |
681 | 696 |
} |
697 |
|
|
698 |
@Override |
|
699 |
public boolean hasAlternativeResourcesStorage() { |
|
700 |
String path = this.get(CONFIG_NAME_ALTERNATIVE_RESOURCES_PATH); |
|
701 |
return StringUtils.isNotBlank(path); |
|
702 |
} |
|
682 | 703 |
|
683 | 704 |
@Override |
684 | 705 |
public void setAlternativeResourcesStorage(String resourcesPath) { |
685 |
this.set(CONFIG_NAME_ALTERNATIVE_RESOURCES_PATH, resourcesPath); |
|
686 |
this.alternativeResourcesFolder.expired(); |
|
706 |
// this.fix(); |
|
707 |
this.set(CONFIG_NAME_ALTERNATIVE_RESOURCES_PATH, resourcesPath); |
|
708 |
// this.alternativeResourcesFolder.expired(); |
|
687 | 709 |
} |
688 | 710 |
|
689 | 711 |
@Override |
... | ... | |
850 | 872 |
DataManager manager = DALLocator.getDataManager(); |
851 | 873 |
manager.removeDatabaseWorkspace(this); |
852 | 874 |
} |
875 |
|
|
876 |
@Override |
|
877 |
public boolean isConnected() { |
|
878 |
DataManager manager = DALLocator.getDataManager(); |
|
879 |
DatabaseWorkspaceManager ws = manager.getDatabaseWorkspace(this.getId()); |
|
880 |
if(ws == null){ |
|
881 |
return false; |
|
882 |
} |
|
883 |
if(ws.getServerExplorerParameters().isTheSameServerExplorer(this.getServerExplorerParameters())){ |
|
884 |
return true; |
|
885 |
} |
|
886 |
return false; |
|
887 |
} |
|
888 |
|
|
889 |
@Override |
|
890 |
public String getLabelOrId() { |
|
891 |
String label = this.getLabel(); |
|
892 |
if(StringUtils.isBlank(label)){ |
|
893 |
label = this.getId(); |
|
894 |
} |
|
895 |
return label; |
|
896 |
} |
|
897 |
|
|
853 | 898 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.tilecache/org.gvsig.fmap.dal.tilecache.raster/src/main/java/org/gvsig/raster/tilecache/provider/MemoryTileCacheStoreProviderParameters.java | ||
---|---|---|
23 | 23 |
package org.gvsig.raster.tilecache.provider; |
24 | 24 |
|
25 | 25 |
import org.cresques.cts.IProjection; |
26 |
import org.slf4j.Logger; |
|
27 |
import org.slf4j.LoggerFactory; |
|
28 |
|
|
29 | 26 |
import org.gvsig.fmap.crs.CRSFactory; |
30 | 27 |
import org.gvsig.fmap.dal.FileHelper; |
31 | 28 |
import org.gvsig.fmap.dal.raster.OpenRasterStoreParameters; |
32 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
|
29 |
import org.gvsig.fmap.dal.spi.AbstractDataStoreParameters;
|
|
33 | 30 |
import org.gvsig.fmap.dal.spi.DataStoreProviderServices; |
34 | 31 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
32 |
import org.slf4j.Logger; |
|
33 |
import org.slf4j.LoggerFactory; |
|
35 | 34 |
|
36 | 35 |
/** |
37 | 36 |
* Parameters to create a TileCache Provider |
38 | 37 |
* @author dmartinezizquierdo |
39 | 38 |
* |
40 | 39 |
*/ |
41 |
public class MemoryTileCacheStoreProviderParameters extends AbstractDataParameters implements |
|
40 |
public class MemoryTileCacheStoreProviderParameters extends AbstractDataStoreParameters implements
|
|
42 | 41 |
OpenRasterStoreParameters{ |
43 | 42 |
|
44 | 43 |
private static final Logger logger = LoggerFactory.getLogger(MemoryTileCacheStoreProviderParameters.class); |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.tilecache/org.gvsig.fmap.dal.tilecache.raster/src/main/java/org/gvsig/raster/tilecache/provider/TileCacheStoreProviderParameters.java | ||
---|---|---|
24 | 24 |
|
25 | 25 |
import java.io.File; |
26 | 26 |
import java.util.List; |
27 |
|
|
28 |
import org.slf4j.Logger; |
|
29 |
import org.slf4j.LoggerFactory; |
|
30 |
|
|
31 | 27 |
import org.gvsig.fmap.dal.FileHelper; |
32 | 28 |
import org.gvsig.fmap.dal.raster.OpenRasterStoreParameters; |
33 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
|
29 |
import org.gvsig.fmap.dal.spi.AbstractDataStoreParameters;
|
|
34 | 30 |
import org.gvsig.fmap.dal.spi.DataStoreProviderServices; |
35 | 31 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
32 |
import org.slf4j.Logger; |
|
33 |
import org.slf4j.LoggerFactory; |
|
36 | 34 |
|
37 | 35 |
/** |
38 | 36 |
* Parameters to create a TileCache Provider |
39 | 37 |
* @author dmartinezizquierdo |
40 | 38 |
* |
41 | 39 |
*/ |
42 |
public class TileCacheStoreProviderParameters extends AbstractDataParameters implements |
|
40 |
public class TileCacheStoreProviderParameters extends AbstractDataStoreParameters implements
|
|
43 | 41 |
OpenRasterStoreParameters{ |
44 | 42 |
|
45 | 43 |
private static final Logger logger = LoggerFactory.getLogger(TileCacheStoreProviderParameters.class); |
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/jdbc/JDBCServerExplorerParameters.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.fmap.dal.store.jdbc; |
25 | 25 |
|
26 |
import org.apache.commons.lang3.StringUtils; |
|
27 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
|
26 | 28 |
import org.gvsig.fmap.dal.serverexplorer.db.DBServerExplorerParameters; |
27 | 29 |
|
28 | 30 |
public class JDBCServerExplorerParameters extends |
... | ... | |
93 | 95 |
} |
94 | 96 |
} |
95 | 97 |
|
98 |
@Override |
|
99 |
public boolean isTheSameServerExplorer(DataServerExplorerParameters params) { |
|
100 |
if(!(params instanceof JDBCServerExplorerParameters)){ |
|
101 |
return false; |
|
102 |
} |
|
103 |
return StringUtils.equals(this.getUrl(), ((JDBCServerExplorerParameters)params).getUrl()); |
|
104 |
} |
|
105 |
|
|
96 | 106 |
} |
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/jdbc/JDBCStoreParameters.java | ||
---|---|---|
26 | 26 |
|
27 | 27 |
import java.text.MessageFormat; |
28 | 28 |
import org.apache.commons.lang3.StringUtils; |
29 |
|
|
29 |
import org.gvsig.fmap.dal.DataStoreParameters; |
|
30 | 30 |
import org.gvsig.fmap.dal.store.db.DBStoreParameters; |
31 | 31 |
|
32 | 32 |
/** |
... | ... | |
308 | 308 |
this.setDynValue(BATCH_SIZE_PARAMETER_NAME, batchSize); |
309 | 309 |
} |
310 | 310 |
|
311 |
@Override |
|
312 |
public boolean isTheSameStore(DataStoreParameters params) { |
|
313 |
if(!(params instanceof JDBCStoreParameters)) { |
|
314 |
return false; |
|
315 |
} |
|
316 |
if(!(StringUtils.equals(((JDBCStoreParameters)params).getTable(), this.getTable()))){ |
|
317 |
return false; |
|
318 |
} |
|
319 |
if(!(StringUtils.equals(((JDBCStoreParameters)params).getSchema(), this.getSchema()))){ |
|
320 |
return false; |
|
321 |
} |
|
322 |
if(!(StringUtils.equals(((JDBCStoreParameters)params).getSQL(), this.getSQL()))){ |
|
323 |
return false; |
|
324 |
} |
|
325 |
return true; |
|
326 |
} |
|
327 |
|
|
311 | 328 |
} |
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/jdbc/JDBCNewStoreParameters.java | ||
---|---|---|
24 | 24 |
|
25 | 25 |
import org.apache.commons.lang3.StringUtils; |
26 | 26 |
import org.gvsig.fmap.dal.store.db.DBNewStoreParameters; |
27 |
|
|
28 | 27 |
import static org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters.CATALOG_PARAMTER_NAME; |
29 | 28 |
import static org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters.JDBC_DRIVER_CLASS_PARAMTER_NAME; |
30 | 29 |
import static org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters.SCHEMA_PARAMTER_NAME; |
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 | ||
---|---|---|
81 | 81 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper; |
82 | 82 |
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer; |
83 | 83 |
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory; |
84 |
import static org.gvsig.fmap.dal.store.jdbc2.spi.JDBCResourcesStorage.TABLENAME_SERVER_EXPLORER_MARK; |
|
84 | 85 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.CanCreateTablesOperation; |
85 | 86 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.CreateTableOperation; |
86 | 87 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.DropTableOperation; |
... | ... | |
227 | 228 |
@Override |
228 | 229 |
protected void reload() { |
229 | 230 |
String jsonConfig = getConfigValue(this.openParameters, CONFIG_NAME_CUSTOM_RESOURCES); |
231 |
LOGGER.info("reload CustomResourcesConfig "+jsonConfig); |
|
230 | 232 |
CustomResourcesConfig config = new CustomResourcesConfig(jsonConfig); |
231 | 233 |
this.setExpireTime(config.getCacheExpireTimeInMillis()); |
232 | 234 |
this.setValue(config); |
... | ... | |
261 | 263 |
|
262 | 264 |
@Override |
263 | 265 |
protected void reload() { |
266 |
LOGGER.info("reload list of tables"); |
|
264 | 267 |
List<JDBCStoreParameters> tables = null; |
265 | 268 |
if(helper == null){ |
266 | 269 |
this.setValue(tables); |
... | ... | |
662 | 665 |
|
663 | 666 |
@Override |
664 | 667 |
public JDBCStoreParameters get(String name) throws DataException { |
665 |
JDBCStoreParameters params = this.getOpenParameters(); |
|
666 |
params.setTable(name); |
|
668 |
JDBCStoreParameters params = this.getOpenParameters(name); |
|
667 | 669 |
return params; |
668 | 670 |
} |
669 | 671 |
|
... | ... | |
678 | 680 |
String key = buildKeyForCachedTables(MODE_ALL, serverParams, false, SHOW_TABLES_AND_VIEWS); //??? |
679 | 681 |
CachedValue<CustomResourcesConfig> cachedConfig = CACHED_CUSTOM_RESOURCES_CONFIG.get(key); |
680 | 682 |
if (cachedConfig != null) { |
683 |
LOG.info("Get CustomResourcesConfig from CACHE_1: "+!cachedConfig.isExpired()); |
|
681 | 684 |
CustomResourcesConfig config = cachedConfig.get(); |
682 |
// LOG.info("Return custom resource from CACHE."); |
|
683 | 685 |
return config; |
684 | 686 |
} |
685 | 687 |
JDBCStoreParameters params = this.helper.createOpenStoreParameters(this.getParameters()); |
686 | 688 |
cachedConfig = new CachedCustomResourcesConfig(params); |
687 | 689 |
CACHED_CUSTOM_RESOURCES_CONFIG.put(key, cachedConfig); |
690 |
LOG.info("Get CustomResourcesConfig from CACHE_2: "+!cachedConfig.isExpired()); |
|
688 | 691 |
return cachedConfig.get(); |
689 | 692 |
} |
690 | 693 |
|
... | ... | |
693 | 696 |
String key = buildKeyForCachedTables(MODE_ALL, serverParams, false, SHOW_TABLES_AND_VIEWS); //??? |
694 | 697 |
CachedValue<CustomResourcesConfig> cachedConfig = CACHED_CUSTOM_RESOURCES_CONFIG.get(key); |
695 | 698 |
if (cachedConfig != null) { |
699 |
LOG.info("Force expire CustomResourcesConfig cache"); |
|
696 | 700 |
cachedConfig.expired(); |
697 | 701 |
} |
698 | 702 |
} |
... | ... | |
736 | 740 |
} else { |
737 | 741 |
resourcesTablename = config.getResourcesTablename(storeName); |
738 | 742 |
if( StringUtils.isNotBlank(resourcesTablename) ) { |
739 |
JDBCStoreParameters params = this.getOpenParameters(); |
|
740 |
params.setTable(resourcesTablename); |
|
743 |
JDBCStoreParameters params = this.getOpenParameters(resourcesTablename); |
|
741 | 744 |
customResourcesStorage = new JDBCResourcesStorage( |
742 | 745 |
this.helper, |
743 | 746 |
alternateResourcesStorage, |
... | ... | |
760 | 763 |
public ResourcesStorage getResourcesStorage() { |
761 | 764 |
JDBCStoreParameters params; |
762 | 765 |
try { |
763 |
params = this.getOpenParameters(); |
|
764 |
params.setTable(DatabaseWorkspaceManager.TABLE_RESOURCES_NAME); |
|
766 |
params = this.getOpenParameters(DatabaseWorkspaceManager.TABLE_RESOURCES_NAME);
|
|
767 |
// params.setTable(DatabaseWorkspaceManager.TABLE_RESOURCES_NAME);
|
|
765 | 768 |
JDBCResourcesStorage theResourcesStorage = new JDBCResourcesStorage( |
766 | 769 |
this.helper, |
767 | 770 |
null, |
768 | 771 |
params, |
769 |
"$ServerExplorer"
|
|
772 |
TABLENAME_SERVER_EXPLORER_MARK
|
|
770 | 773 |
); |
771 | 774 |
return theResourcesStorage; |
772 | 775 |
} catch (DataException ex) { |
... | ... | |
842 | 845 |
|
843 | 846 |
if (StringUtils.isNotBlank(resourcesTableName)) { |
844 | 847 |
try { |
845 |
params = this.getOpenParameters(); |
|
846 |
params.setTable(resourcesTableName); |
|
848 |
params = this.getOpenParameters(resourcesTableName); |
|
847 | 849 |
JDBCResourcesStorage resourcesStorage = new JDBCResourcesStorage( |
848 | 850 |
this.helper, |
849 | 851 |
null, |
... | ... | |
981 | 983 |
return this.helper.getTransaction(); |
982 | 984 |
} |
983 | 985 |
|
986 |
private JDBCStoreParameters getOpenParameters(String tableName) throws DataException { |
|
987 |
//No esta claro si se debe hacer este bucle o no. NO BORRAR ALEGREMENTE |
|
988 |
|
|
989 |
// List<JDBCStoreParameters> tables = this.list(); |
|
990 |
// for (JDBCStoreParameters params : tables) { |
|
991 |
// String theTableName = params.getTable(); |
|
992 |
// if (StringUtils.equals(theTableName, tableName)) { |
|
993 |
// return params; |
|
994 |
// } |
|
995 |
// } |
|
996 |
JDBCStoreParameters p = this.getOpenParameters(); |
|
997 |
p.setTable(tableName); |
|
998 |
return p; |
|
999 |
} |
|
984 | 1000 |
} |
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/JDBCResourcesStorage.java | ||
---|---|---|
34 | 34 |
import java.io.OutputStream; |
35 | 35 |
import java.net.URL; |
36 | 36 |
import java.util.ArrayList; |
37 |
import java.util.Collections; |
|
37 | 38 |
import java.util.HashMap; |
39 |
import java.util.HashSet; |
|
38 | 40 |
import java.util.List; |
39 | 41 |
import java.util.Map; |
42 |
import java.util.Set; |
|
40 | 43 |
import org.apache.commons.codec.digest.DigestUtils; |
41 | 44 |
import org.apache.commons.io.FileUtils; |
45 |
import org.apache.commons.io.FilenameUtils; |
|
42 | 46 |
import org.apache.commons.io.IOUtils; |
43 | 47 |
import org.apache.commons.io.output.NullOutputStream; |
44 | 48 |
import org.apache.commons.lang3.StringUtils; |
... | ... | |
51 | 55 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_RESOURCES_NAME; |
52 | 56 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_RESOURCES_RESOURCE; |
53 | 57 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_RESOURCES_NAME; |
54 |
import org.gvsig.fmap.dal.exception.InitializeException; |
|
55 | 58 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
56 | 59 |
import org.gvsig.fmap.dal.feature.Feature; |
60 |
import org.gvsig.fmap.dal.feature.FeatureSet; |
|
57 | 61 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
58 | 62 |
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters; |
59 | 63 |
import org.gvsig.fmap.dal.store.jdbc.exception.SQLRuntimeException; |
... | ... | |
78 | 82 |
public class JDBCResourcesStorage extends AbstractResourcesStorage { |
79 | 83 |
|
80 | 84 |
private static final Logger LOGGER = LoggerFactory.getLogger(JDBCResourcesStorage.class); |
85 |
public static final String TABLENAME_SERVER_EXPLORER_MARK = "$ServerExplorer"; |
|
86 |
|
|
81 | 87 |
private final JDBCHelper helper; |
82 | 88 |
|
83 | 89 |
private static class ExistsResourcesCache extends CachedValue<Map<String,Boolean>> { |
84 | 90 |
@Override |
85 | 91 |
protected void reload() { |
92 |
LOGGER.info("reload ExistsResourcesCache"); |
|
86 | 93 |
this.setValue(new HashMap<>()); |
87 | 94 |
} |
88 | 95 |
} |
... | ... | |
164 | 171 |
|
165 | 172 |
private byte[] retrieveResource() throws Exception { |
166 | 173 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
167 |
String filter = builder.eq( |
|
168 |
builder.column(FIELD_RESOURCES_NAME), |
|
169 |
builder.constant(this.getTableName() + "." + this.name) |
|
170 |
).toString(); |
|
174 |
|
|
175 |
String filter; |
|
176 |
if (StringUtils.equalsIgnoreCase(this.getTableName(), TABLENAME_SERVER_EXPLORER_MARK)) { |
|
177 |
filter = builder.eq( |
|
178 |
builder.column(FIELD_RESOURCES_NAME), |
|
179 |
builder.constant(this.name) |
|
180 |
).toString(); |
|
181 |
|
|
182 |
} else { |
|
183 |
filter = builder.eq( |
|
184 |
builder.column(FIELD_RESOURCES_NAME), |
|
185 |
builder.constant(this.getTableName() + "." + this.name) |
|
186 |
).toString(); |
|
187 |
} |
|
188 |
|
|
171 | 189 |
OperationsFactory operations = this.storage.helper.getOperations(); |
172 | 190 |
RetrieveValueOperation op = operations.createRetrieveValue( |
173 | 191 |
operations.createTableReference(this.getStoreParameters()), |
... | ... | |
187 | 205 |
this.getStoreParameters() |
188 | 206 |
); |
189 | 207 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
190 |
String filter = builder.eq( |
|
191 |
builder.column(FIELD_RESOURCES_NAME), |
|
192 |
builder.constant(this.getTableName() + "." + this.name) |
|
193 |
).toString(); |
|
208 |
String filter; |
|
209 |
if (StringUtils.equalsIgnoreCase(this.getTableName(), TABLENAME_SERVER_EXPLORER_MARK)) { |
|
210 |
filter = builder.eq( |
|
211 |
builder.column(FIELD_RESOURCES_NAME), |
|
212 |
builder.constant(this.name) |
|
213 |
).toString(); |
|
214 |
|
|
215 |
} else { |
|
216 |
filter = builder.eq( |
|
217 |
builder.column(FIELD_RESOURCES_NAME), |
|
218 |
builder.constant(this.getTableName() + "." + this.name) |
|
219 |
).toString(); |
|
220 |
} |
|
194 | 221 |
Feature feature = store.findFirst(filter); |
195 | 222 |
if (feature == null) { |
196 | 223 |
return null; |
... | ... | |
217 | 244 |
if( f.exists() ) { |
218 | 245 |
return true; |
219 | 246 |
} |
220 |
// DataManager dataManager = DALLocator.getDataManager(); |
|
221 |
// store = (FeatureStore) dataManager.openStore( |
|
222 |
// this.getStoreParameters().getDataStoreName(), |
|
223 |
// this.getStoreParameters() |
|
224 |
// ); |
|
225 |
// ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
|
226 |
// String filter = builder.eq( |
|
227 |
// builder.column(FIELD_RESOURCES_NAME), |
|
228 |
// builder.constant(this.getTableName()+"."+this.name) |
|
229 |
// ).toString(); |
|
230 |
// Feature feature = store.findFirst(filter); |
|
231 | 247 |
byte[] resource = retrieveResource(); |
232 | 248 |
boolean exists = resource!=null; |
233 | 249 |
if( resource!=null ) { |
... | ... | |
258 | 274 |
this.getStoreParameters() |
259 | 275 |
); |
260 | 276 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
261 |
String filter = builder.eq( |
|
262 |
builder.column(FIELD_RESOURCES_NAME), |
|
263 |
builder.constant(this.getTableName()+"."+this.name) |
|
264 |
).toString(); |
|
277 |
String filter; |
|
278 |
if (StringUtils.equalsIgnoreCase(this.getTableName(), TABLENAME_SERVER_EXPLORER_MARK)) { |
|
279 |
filter = builder.eq( |
|
280 |
builder.column(FIELD_RESOURCES_NAME), |
|
281 |
builder.constant(this.name) |
|
282 |
).toString(); |
|
283 |
|
|
284 |
} else { |
|
285 |
filter = builder.eq( |
|
286 |
builder.column(FIELD_RESOURCES_NAME), |
|
287 |
builder.constant(this.getTableName() + "." + this.name) |
|
288 |
).toString(); |
|
289 |
|
|
290 |
} |
|
291 |
|
|
265 | 292 |
Feature feature = store.findFirst(filter); |
266 | 293 |
if(feature != null){ |
267 | 294 |
store.edit(); |
... | ... | |
280 | 307 |
} |
281 | 308 |
|
282 | 309 |
private Pair<String,String> getCacheID() { |
283 |
byte[] data = this.getStoreParameters().toByteArray(); |
|
284 |
ImmutablePair<String, String> r = new ImmutablePair<>( |
|
285 |
DigestUtils.md5Hex(data), |
|
286 |
this.getTableName()+"."+this.name |
|
287 |
); |
|
310 |
byte[] data = this.getStoreParameters().toByteArray(); |
|
311 |
ImmutablePair<String, String> r; |
|
312 |
if (StringUtils.equalsIgnoreCase(this.getTableName(), TABLENAME_SERVER_EXPLORER_MARK)) { |
|
313 |
r = new ImmutablePair<>( |
|
314 |
DigestUtils.md5Hex(data), |
|
315 |
this.name |
|
316 |
); |
|
317 |
} else { |
|
318 |
r = new ImmutablePair<>( |
|
319 |
DigestUtils.md5Hex(data), |
|
320 |
this.getTableName()+"."+this.name |
|
321 |
); |
|
322 |
} |
|
288 | 323 |
return r; |
289 | 324 |
} |
290 | 325 |
|
... | ... | |
366 | 401 |
} |
367 | 402 |
|
368 | 403 |
private InputStream getInputStream() throws IOException { |
369 |
// FeatureStore store = null; |
|
370 | 404 |
try { |
371 |
// DataManager dataManager = DALLocator.getDataManager(); |
|
372 |
// store = (FeatureStore) dataManager.openStore( |
|
373 |
// this.getStoreParameters().getDataStoreName(), |
|
374 |
// this.getStoreParameters() |
|
375 |
// ); |
|
376 |
// ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
|
377 |
// String filter = builder.eq( |
|
378 |
// builder.column(FIELD_RESOURCES_NAME), |
|
379 |
// builder.constant(this.getTableName()+"."+this.name) |
|
380 |
// ).toString(); |
|
381 |
// Feature feature = store.findFirst(filter); |
|
382 |
// if (feature == null) { |
|
383 |
// return null; |
|
384 |
// } |
|
385 |
// byte[] resource = feature.getByteArray(FIELD_RESOURCES_RESOURCE); |
|
386 | 405 |
byte[] resource = retrieveResource(); |
387 | 406 |
InputStream is = new ByteArrayInputStream(resource); |
388 | 407 |
return is; |
389 | 408 |
} catch (Throwable ex) { |
390 | 409 |
LOGGER.warn("Can't access to the resoure '" + this.getURL() + "'.", ex); |
391 |
// } finally { |
|
392 |
// DisposeUtils.disposeQuietly(store); |
|
393 | 410 |
} |
394 | 411 |
return null; |
395 | 412 |
} |
... | ... | |
439 | 456 |
); |
440 | 457 |
store.edit(); |
441 | 458 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
442 |
String filter = builder.eq( |
|
443 |
builder.column(FIELD_RESOURCES_NAME), |
|
444 |
builder.constant(this.getTableName()+"."+this.name) |
|
445 |
).toString(); |
|
459 |
String filter; |
|
460 |
if (StringUtils.equalsIgnoreCase(this.getTableName(), TABLENAME_SERVER_EXPLORER_MARK)) { |
|
461 |
filter = builder.eq( |
|
462 |
builder.column(FIELD_RESOURCES_NAME), |
|
463 |
builder.constant(this.name) |
|
464 |
).toString(); |
|
465 |
|
|
466 |
} else { |
|
467 |
filter = builder.eq( |
|
468 |
builder.column(FIELD_RESOURCES_NAME), |
|
469 |
builder.constant(this.getTableName() + "." + this.name) |
|
470 |
).toString(); |
|
471 |
} |
|
472 |
|
|
446 | 473 |
Feature feature = store.findFirst(filter); |
447 | 474 |
EditableFeature efeature; |
448 | 475 |
if (feature == null) { |
449 | 476 |
efeature = store.createNewFeature(); |
450 |
efeature.set(FIELD_RESOURCES_NAME, this.getTableName()+"."+this.name); |
|
477 |
|
|
478 |
if (StringUtils.equalsIgnoreCase(this.getTableName(), TABLENAME_SERVER_EXPLORER_MARK)) { |
|
479 |
efeature.set(FIELD_RESOURCES_NAME, this.name); |
|
480 |
} else { |
|
481 |
efeature.set(FIELD_RESOURCES_NAME, this.getTableName()+"."+this.name); |
|
482 |
} |
|
451 | 483 |
efeature.set(FIELD_RESOURCES_RESOURCE, ((ByteArrayOutputStream)this.out).toByteArray()); |
452 | 484 |
store.insert(efeature); |
453 | 485 |
} else { |
... | ... | |
516 | 548 |
} |
517 | 549 |
|
518 | 550 |
@Override |
551 |
public List<String> getResourceNames() { |
|
552 |
if( this.alternativeStorage!=null ) { |
|
553 |
List<String> names = this.alternativeStorage.getResourceNames(); |
|
554 |
return names; |
|
555 |
} |
|
556 |
if (this.resourcesStoreParameters == null) { |
|
557 |
return Collections.EMPTY_LIST; |
|
558 |
} |
|
559 |
|
|
560 |
FeatureStore store = null; |
|
561 |
try { |
|
562 |
DataManager dataManager = DALLocator.getDataManager(); |
|
563 |
Set<String> typeNames = new HashSet<>(); |
|
564 |
store = (FeatureStore) dataManager.openStore( |
|
565 |
this.resourcesStoreParameters.getDataStoreName(), |
|
566 |
this.resourcesStoreParameters |
|
567 |
); |
|
568 |
FeatureSet featureSet = store.getFeatureSet(); |
|
569 |
for (Feature feature : featureSet) { |
|
570 |
String resName = feature.getString(FIELD_RESOURCES_NAME); |
|
571 |
if (StringUtils.equalsIgnoreCase(tableName, TABLENAME_SERVER_EXPLORER_MARK)) { |
|
572 |
typeNames.add(resName); |
|
573 |
} else { |
|
574 |
String resTypeName = FilenameUtils.getExtension(resName); |
|
575 |
typeNames.add(resTypeName); |
|
576 |
} |
|
577 |
} |
|
578 |
return new ArrayList<>(typeNames); |
|
579 |
} catch (Throwable ex) { |
|
580 |
LOGGER.warn("Can't get resources for '" + this.resourcesStoreParameters.getUrl() + "'.", ex); |
|
581 |
return null; |
|
582 |
|
|
583 |
} finally { |
|
584 |
DisposeUtils.disposeQuietly(store); |
|
585 |
} |
|
586 |
} |
|
587 |
|
|
588 |
|
|
589 |
|
|
590 |
@Override |
|
519 | 591 |
public Resource getResource(String name) { |
520 | 592 |
if( this.alternativeStorage!=null ) { |
521 | 593 |
Resource r = this.alternativeStorage.getResource(name); |
... | ... | |
583 | 655 |
} |
584 | 656 |
|
585 | 657 |
@Override |
658 |
public boolean add(String resourceName, InputStream is) { |
|
659 |
DataBaseResource res = new DataBaseResource(this, resourceName); |
|
660 |
try { |
|
661 |
IOUtils.copy(is, res.asOutputStream()); |
|
662 |
res.close(); |
|
663 |
is.close(); |
|
664 |
return true; |
|
665 |
} catch (IOException ex) { |
|
666 |
return false; |
|
667 |
} |
|
668 |
} |
|
669 |
|
|
670 |
|
|
671 |
@Override |
|
586 | 672 |
public boolean remove(String resourceName) { |
587 | 673 |
if( this.alternativeStorage!=null ) { |
588 | 674 |
try { |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.lib/src/main/java/org/gvsig/fmap/dal/serverexplorer/db/DBServerExplorerParameters.java | ||
---|---|---|
131 | 131 |
this.setDynValue(PASSWORD_PARAMTER_NAME, password); |
132 | 132 |
} |
133 | 133 |
|
134 |
@Override |
|
135 |
public boolean isTheSameServerExplorer(DataServerExplorerParameters params) { |
|
136 |
return false; |
|
137 |
} |
|
138 |
|
|
139 |
|
|
134 | 140 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.lib/src/main/java/org/gvsig/fmap/dal/store/db/DBStoreParameters.java | ||
---|---|---|
28 | 28 |
import org.gvsig.fmap.dal.feature.Feature; |
29 | 29 |
import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters; |
30 | 30 |
import org.gvsig.fmap.dal.serverexplorer.db.DBConnectionParameter; |
31 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
|
31 |
import org.gvsig.fmap.dal.spi.AbstractDataStoreParameters;
|
|
32 | 32 |
import org.gvsig.fmap.dal.spi.DataStoreProviderServices; |
33 | 33 |
import org.gvsig.fmap.geom.Geometry; |
34 | 34 |
import org.gvsig.fmap.geom.primitive.Envelope; |
... | ... | |
40 | 40 |
* @author jmvivo |
41 | 41 |
* |
42 | 42 |
*/ |
43 |
public abstract class DBStoreParameters extends AbstractDataParameters |
|
43 |
public abstract class DBStoreParameters extends AbstractDataStoreParameters
|
|
44 | 44 |
implements |
45 | 45 |
OpenFeatureStoreParameters, DBConnectionParameter { |
46 | 46 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.lib/src/main/java/org/gvsig/fmap/dal/store/db/DBNewStoreParameters.java | ||
---|---|---|
27 | 27 |
import org.gvsig.fmap.dal.feature.FeatureType; |
28 | 28 |
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters; |
29 | 29 |
import org.gvsig.fmap.dal.serverexplorer.db.DBConnectionParameter; |
30 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
|
30 |
import org.gvsig.fmap.dal.spi.AbstractDataStoreParameters;
|
|
31 | 31 |
import org.gvsig.fmap.dal.spi.DataStoreProviderServices; |
32 | 32 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
33 | 33 |
|
... | ... | |
38 | 38 |
* @author jmvivo |
39 | 39 |
* |
40 | 40 |
*/ |
41 |
public abstract class DBNewStoreParameters extends AbstractDataParameters |
|
41 |
public abstract class DBNewStoreParameters extends AbstractDataStoreParameters
|
|
42 | 42 |
implements NewFeatureStoreParameters, DBConnectionParameter { |
43 | 43 |
|
44 | 44 |
public static final String PARAMETERS_DEFINITION_NAME = "DBNewStoreParameters"; |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/AbstractStoresRepository.java | ||
---|---|---|
95 | 95 |
@Override |
96 | 96 |
public boolean contains(DataStoreParameters parameters) { |
97 | 97 |
for (DataStoreParameters currentParameters : this) { |
98 |
if( parameters.equals(currentParameters) ) {
|
|
98 |
if( parameters.isTheSameStore(currentParameters) ) {
|
|
99 | 99 |
return true; |
100 | 100 |
} |
101 | 101 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/DataServerExplorerParameters.java | ||
---|---|---|
46 | 46 |
*/ |
47 | 47 |
public String getProviderName(); |
48 | 48 |
|
49 |
public boolean isTheSameServerExplorer(DataServerExplorerParameters params); |
|
50 |
|
|
49 | 51 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/DataStoreParameters.java | ||
---|---|---|
61 | 61 |
* @return a String containing the DataStore's description |
62 | 62 |
*/ |
63 | 63 |
public abstract String getDescription(); |
64 |
|
|
65 |
public boolean isTheSameStore(DataStoreParameters params); |
|
66 |
|
|
64 | 67 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/DatabaseWorkspaceManager.java | ||
---|---|---|
81 | 81 |
|
82 | 82 |
public DataServerExplorer getServerExplorer(); |
83 | 83 |
|
84 |
public DataServerExplorerParameters getServerExplorerParameters(); |
|
85 |
|
|
84 | 86 |
/** |
85 | 87 |
* Returns the label of this workspace. |
86 | 88 |
* |
... | ... | |
183 | 185 |
*/ |
184 | 186 |
public ResourcesStorage getAlternativeResourcesStorage(String tableName); |
185 | 187 |
|
188 |
public boolean hasAlternativeResourcesStorage(); |
|
189 |
|
|
186 | 190 |
public void setAlternativeResourcesStorage(String resourcesPath); |
187 | 191 |
|
188 | 192 |
/** |
... | ... | |
208 | 212 |
public void createTableRepository(String tableName); |
209 | 213 |
|
210 | 214 |
public void createTableResources(String tableName); |
215 |
|
|
216 |
public boolean isConnected(); |
|
217 |
|
|
218 |
public String getLabelOrId(); |
|
211 | 219 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/OpenDataStoreParameters.java | ||
---|---|---|
4 | 4 |
|
5 | 5 |
|
6 | 6 |
public interface OpenDataStoreParameters extends DataStoreParameters { |
7 |
|
|
7 |
|
|
8 | 8 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/DataManager.java | ||
---|---|---|
583 | 583 |
public DatabaseWorkspaceManager getDatabaseWorkspace(String name); |
584 | 584 |
|
585 | 585 |
public DatabaseWorkspaceManager getDatabaseWorkspace(DataStoreParameters params); |
586 |
|
|
587 |
public DatabaseWorkspaceManager getDatabaseWorkspace(DataServerExplorerParameters params); |
|
586 | 588 |
|
587 | 589 |
public void writeDALResource(ResourcesStorage resources, DataStore store); |
588 | 590 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/raster/spi/AbstractOpenRasterStoreParameters.java | ||
---|---|---|
25 | 25 |
import java.io.File; |
26 | 26 |
import java.io.IOException; |
27 | 27 |
import java.util.List; |
28 |
|
|
29 | 28 |
import org.apache.commons.io.FileUtils; |
30 | 29 |
import org.apache.commons.io.FilenameUtils; |
31 | 30 |
import org.apache.commons.lang3.StringUtils; |
32 | 31 |
import org.cresques.cts.ICRSFactory; |
33 | 32 |
import org.cresques.cts.IProjection; |
34 |
import org.slf4j.Logger; |
|
35 |
import org.slf4j.LoggerFactory; |
|
36 |
|
|
37 | 33 |
import org.gvsig.fmap.crs.CRSFactory; |
38 | 34 |
import org.gvsig.fmap.dal.DataStore; |
39 | 35 |
import org.gvsig.fmap.dal.raster.OpenRasterStoreParameters; |
40 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
|
36 |
import org.gvsig.fmap.dal.spi.AbstractDataStoreParameters; |
|
37 |
import org.slf4j.Logger; |
|
38 |
import org.slf4j.LoggerFactory; |
|
41 | 39 |
|
42 | 40 |
|
43 | 41 |
/** |
44 | 42 |
* @author fdiaz |
45 | 43 |
* |
46 | 44 |
*/ |
47 |
public abstract class AbstractOpenRasterStoreParameters extends AbstractDataParameters implements OpenRasterStoreParameters{ |
|
45 |
public abstract class AbstractOpenRasterStoreParameters extends AbstractDataStoreParameters implements OpenRasterStoreParameters{
|
|
48 | 46 |
|
49 | 47 |
private static final Logger logger = LoggerFactory.getLogger(AbstractOpenRasterStoreParameters.class); |
50 | 48 |
public static final String WLD_PARAMS_NAME= "wldParams"; |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/spi/AbstractDataStoreParameters.java | ||
---|---|---|
1 |
/* |
|
2 |
* To change this license header, choose License Headers in Project Properties. |
|
3 |
* To change this template file, choose Tools | Templates |
|
4 |
* and open the template in the editor. |
|
5 |
*/ |
|
6 |
package org.gvsig.fmap.dal.spi; |
|
7 |
|
|
8 |
import org.gvsig.fmap.dal.DataStoreParameters; |
|
9 |
|
|
10 |
/** |
|
11 |
* |
|
12 |
* @author fdiaz |
|
13 |
*/ |
|
14 |
public abstract class AbstractDataStoreParameters extends AbstractDataParameters implements DataStoreParameters { |
|
15 |
|
|
16 |
@Override |
|
17 |
public boolean isTheSameStore(DataStoreParameters params) { |
|
18 |
return this.equals(params); |
|
19 |
} |
|
20 |
|
|
21 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/ApplicationManager.java | ||
---|---|---|
349 | 349 |
|
350 | 350 |
public void refreshDocument(FeatureStore store); |
351 | 351 |
|
352 |
public void refreshDocument(DataStoreParameters params); |
|
353 |
|
|
354 |
|
|
352 | 355 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/imp/DefaultApplicationManager.java | ||
---|---|---|
31 | 31 |
import java.util.List; |
32 | 32 |
import java.util.Map; |
33 | 33 |
import javax.swing.JComponent; |
34 |
|
|
35 | 34 |
import javax.swing.JFileChooser; |
36 | 35 |
import javax.swing.SwingUtilities; |
37 | 36 |
import javax.swing.event.HyperlinkListener; |
38 | 37 |
import javax.swing.filechooser.FileFilter; |
39 | 38 |
import javax.swing.tree.TreeModel; |
40 |
|
|
39 |
import org.apache.commons.lang3.StringUtils; |
|
41 | 40 |
import org.cresques.cts.IProjection; |
42 | 41 |
import org.gvsig.about.AboutLocator; |
43 | 42 |
import org.gvsig.about.AboutManager; |
... | ... | |
71 | 70 |
import org.gvsig.fmap.dal.DataManager; |
72 | 71 |
import org.gvsig.fmap.dal.DataStore; |
73 | 72 |
import org.gvsig.fmap.dal.DataStoreParameters; |
73 |
import org.gvsig.fmap.dal.exception.DataException; |
|
74 | 74 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
75 | 75 |
import org.gvsig.fmap.geom.GeometryLocator; |
76 | 76 |
import org.gvsig.fmap.geom.GeometryManager; |
... | ... | |
78 | 78 |
import org.gvsig.fmap.mapcontext.MapContextLocator; |
79 | 79 |
import org.gvsig.fmap.mapcontext.MapContextManager; |
80 | 80 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
81 |
import org.gvsig.fmap.mapcontext.layers.operations.SingleLayer; |
|
81 | 82 |
import org.gvsig.fmap.mapcontrol.CompoundLayersTreeModel; |
82 | 83 |
import org.gvsig.fmap.mapcontrol.CompoundStoresTreeModel; |
83 | 84 |
import org.gvsig.fmap.mapcontrol.MapControlLocator; |
... | ... | |
669 | 670 |
} |
670 | 671 |
|
671 | 672 |
@Override |
672 |
public void refreshDocument(FeatureStore store){ |
|
673 |
if(store == null){
|
|
673 |
public void refreshDocument(FeatureStore store) {
|
|
674 |
if (store == null) {
|
|
674 | 675 |
return; |
675 | 676 |
} |
677 |
refreshDocument(store.getParameters()); |
|
678 |
} |
|
679 |
|
|
680 |
@Override |
|
681 |
public void refreshDocument(DataStoreParameters params) { |
|
682 |
if (params == null) { |
|
683 |
return; |
|
684 |
} |
|
676 | 685 |
ProjectManager projectManager = this.getProjectManager(); |
677 | 686 |
Project project = projectManager.getCurrentProject(); |
678 | 687 |
for (Document doc : project.getDocuments()) { |
679 |
if( doc.contains(store) ) { |
|
688 |
if (doc.contains(params)) { |
|
689 |
if (StringUtils.equals(doc.getTypeName(), ViewManager.TYPENAME)) { |
|
690 |
ViewDocument view = (ViewDocument) doc; |
|
691 |
for (Iterator<FLayer> it = view.deepiterator(); it.hasNext();) { |
|
692 |
FLayer layer = it.next(); |
|
693 |
if (layer instanceof SingleLayer) { |
|
694 |
DataStore layerStore = ((SingleLayer) layer).getDataStore(); |
|
695 |
if ( params.isTheSameStore(layerStore.getParameters())) { |
|
696 |
try { |
|
697 |
layerStore.refresh(); |
|
698 |
} catch (DataException ex) { |
|
699 |
logger.debug("Can't refresh store "+layerStore.getFullName(), ex); |
|
700 |
} |
|
701 |
} |
|
702 |
} |
|
703 |
} |
|
704 |
} |
|
680 | 705 |
doc.refresh(); |
681 | 706 |
} |
682 | 707 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/BaseViewDocument.java | ||
---|---|---|
45 | 45 |
import org.gvsig.app.project.documents.DocumentManager; |
46 | 46 |
import org.gvsig.app.project.documents.view.info.gui.HTMLInfoToolPanel; |
47 | 47 |
import org.gvsig.fmap.dal.DataStore; |
48 |
import org.gvsig.fmap.dal.DataStoreParameters; |
|
48 | 49 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
49 | 50 |
import org.gvsig.fmap.geom.Geometry; |
50 | 51 |
import org.gvsig.fmap.geom.GeometryLocator; |
... | ... | |
424 | 425 |
if( value == null ) { |
425 | 426 |
return false; |
426 | 427 |
} |
427 |
if( !(value instanceof FeatureStore) ) { |
|
428 |
DataStoreParameters params; |
|
429 |
|
|
430 |
if( (value instanceof FeatureStore) ) { |
|
431 |
params = ((FeatureStore) value).getParameters(); |
|
432 |
} else if(value instanceof DataStoreParameters){ |
|
433 |
params = (DataStoreParameters) value; |
|
434 |
} else { |
|
428 | 435 |
return false; |
429 | 436 |
} |
430 |
String storeFullName = ((FeatureStore)value).getFullName(); |
|
437 |
|
|
431 | 438 |
for (Iterator<FLayer> it = this.deepiterator(); it.hasNext();) { |
432 | 439 |
FLayer layer = it.next(); |
433 | 440 |
if(layer instanceof FLyrVect){ |
434 |
if( StringUtils.equals(((FLyrVect) layer).getFeatureStore().getFullName(), storeFullName)){
|
|
441 |
if(((FLyrVect) layer).getFeatureStore().getParameters().isTheSameStore(params)){
|
|
435 | 442 |
return true; |
436 | 443 |
} |
437 | 444 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/resourcesmanager/ResourcesLoaderPanelView.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
|
|
3 |
<object classname="com.jeta.forms.store.memento.FormPackage"> |
|
4 |
<at name="fileversion"> |
|
5 |
<object classname="com.jeta.forms.store.memento.FormsVersion2"> |
|
6 |
<at name="major">2</at> |
|
7 |
<at name="minor">0</at> |
|
8 |
<at name="sub">0</at> |
|
9 |
</object> |
|
10 |
</at> |
|
11 |
<at name="form"> |
|
12 |
<object classname="com.jeta.forms.store.memento.FormMemento"> |
|
13 |
<super classname="com.jeta.forms.store.memento.ComponentMemento"> |
|
14 |
<at name="cellconstraints"> |
|
15 |
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento"> |
|
16 |
<at name="column">1</at> |
|
17 |
<at name="row">1</at> |
|
18 |
<at name="colspan">1</at> |
|
19 |
<at name="rowspan">1</at> |
|
20 |
<at name="halign">default</at> |
|
21 |
<at name="valign">default</at> |
|
22 |
<at name="insets" object="insets">0,0,0,0</at> |
|
23 |
</object> |
|
24 |
</at> |
|
25 |
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at> |
|
26 |
</super> |
|
27 |
<at name="id">/home/fdiaz/projects/gvSIG/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/resourcesmanager/ResourcesLoaderPanelView.xml</at> |
|
28 |
<at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at> |
|
29 |
<at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at> |
|
30 |
<at name="components"> |
|
31 |
<object classname="java.util.LinkedList"> |
|
32 |
<item > |
|
33 |
<at name="value"> |
|
34 |
<object classname="com.jeta.forms.store.memento.BeanMemento"> |
|
35 |
<super classname="com.jeta.forms.store.memento.ComponentMemento"> |
|
36 |
<at name="cellconstraints"> |
|
37 |
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento"> |
|
38 |
<at name="column">2</at> |
|
39 |
<at name="row">2</at> |
|
40 |
<at name="colspan">1</at> |
|
41 |
<at name="rowspan">1</at> |
|
42 |
<at name="halign">default</at> |
|
43 |
<at name="valign">default</at> |
|
44 |
<at name="insets" object="insets">0,0,0,0</at> |
|
45 |
</object> |
|
46 |
</at> |
|
47 |
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at> |
|
48 |
</super> |
|
49 |
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at> |
|
50 |
<at name="beanclass">com.jeta.forms.components.border.TitledBorderLabel</at> |
|
51 |
<at name="beanproperties"> |
|
52 |
<object classname="com.jeta.forms.store.memento.PropertiesMemento"> |
|
53 |
<at name="classname">com.jeta.forms.components.border.TitledBorderLabel</at> |
|
54 |
<at name="properties"> |
|
55 |
<object classname="com.jeta.forms.store.support.PropertyMap"> |
|
56 |
<at name="border"> |
|
57 |
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty"> |
|
58 |
<super classname="com.jeta.forms.store.properties.BorderProperty"> |
|
59 |
<at name="name">border</at> |
|
60 |
</super> |
|
61 |
<at name="borders"> |
|
62 |
<object classname="java.util.LinkedList"> |
|
63 |
<item > |
|
64 |
<at name="value"> |
|
65 |
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty"> |
|
66 |
<super classname="com.jeta.forms.store.properties.BorderProperty"> |
|
67 |
<at name="name">border</at> |
|
68 |
</super> |
|
69 |
</object> |
|
70 |
</at> |
|
71 |
</item> |
|
72 |
</object> |
|
73 |
</at> |
|
74 |
</object> |
|
75 |
</at> |
|
76 |
<at name="name">lblConnection</at> |
|
77 |
<at name="width">1283</at> |
|
78 |
<at name="text">_Connection</at> |
|
79 |
<at name="height">19</at> |
|
80 |
</object> |
|
81 |
</at> |
|
82 |
</object> |
|
83 |
</at> |
|
84 |
</object> |
|
85 |
</at> |
|
86 |
</item> |
|
87 |
<item > |
|
88 |
<at name="value"> |
|
89 |
<object classname="com.jeta.forms.store.memento.FormMemento"> |
|
90 |
<super classname="com.jeta.forms.store.memento.ComponentMemento"> |
|
91 |
<at name="cellconstraints"> |
|
92 |
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento"> |
|
93 |
<at name="column">2</at> |
|
94 |
<at name="row">3</at> |
|
95 |
<at name="colspan">1</at> |
|
96 |
<at name="rowspan">1</at> |
|
97 |
<at name="halign">default</at> |
|
98 |
<at name="valign">default</at> |
|
99 |
<at name="insets" object="insets">0,0,0,0</at> |
|
100 |
</object> |
|
101 |
</at> |
|
102 |
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at> |
|
103 |
</super> |
|
104 |
<at name="id">embedded.704354743</at> |
|
105 |
<at name="rowspecs">CENTER:DEFAULT:NONE</at> |
|
106 |
<at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE</at> |
|
107 |
<at name="components"> |
|
108 |
<object classname="java.util.LinkedList"> |
|
109 |
<item > |
|
110 |
<at name="value"> |
|
111 |
<object classname="com.jeta.forms.store.memento.BeanMemento"> |
|
112 |
<super classname="com.jeta.forms.store.memento.ComponentMemento"> |
|
113 |
<at name="cellconstraints"> |
|
114 |
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento"> |
|
115 |
<at name="column">1</at> |
|
116 |
<at name="row">1</at> |
|
117 |
<at name="colspan">1</at> |
|
118 |
<at name="rowspan">1</at> |
|
119 |
<at name="halign">default</at> |
|
120 |
<at name="valign">default</at> |
|
121 |
<at name="insets" object="insets">0,0,0,0</at> |
|
122 |
</object> |
|
123 |
</at> |
|
124 |
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at> |
|
125 |
</super> |
|
126 |
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at> |
|
127 |
<at name="beanclass">javax.swing.JComboBox</at> |
|
128 |
<at name="beanproperties"> |
|
129 |
<object classname="com.jeta.forms.store.memento.PropertiesMemento"> |
Also available in: Unified diff