Revision 45152 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
JDBCResourcesStorage.java | ||
---|---|---|
165 | 165 |
return false; |
166 | 166 |
} |
167 | 167 |
|
168 |
public boolean remove() { |
|
169 |
FeatureStore store = null; |
|
170 |
try { |
|
171 |
FoldersManager fm = ToolsLocator.getFoldersManager(); |
|
172 |
Pair<String, String> key = this.getCacheID(); |
|
173 |
File f = fm.getTemporaryFile("resources-storage","jdbc", key.getLeft(), key.getRight()); |
|
174 |
if( f.exists() ) { |
|
175 |
f.delete(); |
|
176 |
} |
|
177 |
DataManager dataManager = DALLocator.getDataManager(); |
|
178 |
store = (FeatureStore) dataManager.openStore( |
|
179 |
this.storeParameters.getDataStoreName(), |
|
180 |
this.storeParameters |
|
181 |
); |
|
182 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
|
183 |
String filter = builder.eq( |
|
184 |
builder.column(FIELD_RESOURCES_NAME), |
|
185 |
builder.constant(this.tableName+"."+this.name) |
|
186 |
).toString(); |
|
187 |
Feature feature = store.findFirst(filter); |
|
188 |
if(feature != null){ |
|
189 |
store.edit(); |
|
190 |
store.delete(feature); |
|
191 |
store.finishEditing(); |
|
192 |
return true; |
|
193 |
} |
|
194 |
return false; |
|
195 |
} catch (Throwable ex) { |
|
196 |
LOGGER.warn("Can't access to the resoure '" + this.getURL() + "'.", ex); |
|
197 |
} finally { |
|
198 |
DisposeUtils.disposeQuietly(store); |
|
199 |
} |
|
200 |
return false; |
|
201 |
} |
|
202 |
|
|
168 | 203 |
private Pair<String,String> getCacheID() { |
169 | 204 |
byte[] data = this.storeParameters.toByteArray(); |
170 | 205 |
ImmutablePair<String, String> r = new ImmutablePair<>( |
... | ... | |
396 | 431 |
|
397 | 432 |
} |
398 | 433 |
|
434 |
@Override |
|
435 |
public boolean remove(String resourceName) { |
|
436 |
if( this.alternativeStorge!=null ) { |
|
437 |
try { |
|
438 |
this.alternativeStorge.remove(resourceName); |
|
439 |
} catch (Exception e) { |
|
440 |
//Do nothing |
|
441 |
} |
|
442 |
} |
|
443 |
if (this.resourcesStoreParameters == null) { |
|
444 |
return false; |
|
445 |
} |
|
446 |
DataBaseResource resource = new DataBaseResource( |
|
447 |
this.resourcesStoreParameters, |
|
448 |
this.tableName, |
|
449 |
resourceName |
|
450 |
); |
|
451 |
|
|
452 |
return resource.remove(); |
|
453 |
} |
|
399 | 454 |
} |
Also available in: Unified diff