Revision 44346 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
JDBCServerExplorerBase.java | ||
---|---|---|
36 | 36 |
import org.gvsig.fmap.dal.DataManager; |
37 | 37 |
import org.gvsig.fmap.dal.DataStore; |
38 | 38 |
import org.gvsig.fmap.dal.DataStoreParameters; |
39 |
import org.gvsig.fmap.dal.DatabaseWorkspaceManager; |
|
39 | 40 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_RESOURCES_NAME; |
40 | 41 |
import org.gvsig.fmap.dal.NewDataStoreParameters; |
41 | 42 |
import org.gvsig.fmap.dal.exception.CloseException; |
... | ... | |
69 | 70 |
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.UpdateTableStatisticsOperation; |
70 | 71 |
import org.gvsig.tools.exception.BaseException; |
71 | 72 |
import org.gvsig.tools.resourcesstorage.EmptyResourcesStorage; |
73 |
import org.gvsig.tools.resourcesstorage.FilesResourcesStorage; |
|
72 | 74 |
import org.gvsig.tools.resourcesstorage.ResourcesStorage; |
73 | 75 |
import org.slf4j.Logger; |
74 | 76 |
import org.slf4j.LoggerFactory; |
... | ... | |
406 | 408 |
} |
407 | 409 |
|
408 | 410 |
private ResourcesStorage getResourcesStorage(DataStoreParameters parameters, String storeName) { |
409 |
try { |
|
410 |
List<JDBCStoreParameters> tables = this.list(); |
|
411 |
for (JDBCStoreParameters params : tables) { |
|
412 |
String theTableName = params.getTable(); |
|
413 |
if (StringUtils.equals(theTableName, TABLE_RESOURCES_NAME)) { |
|
414 |
JDBCResourcesStorage theResourcesStorage = new JDBCResourcesStorage( |
|
415 |
params, |
|
416 |
storeName |
|
417 |
); |
|
418 |
return theResourcesStorage; |
|
411 |
|
|
412 |
if( !DatabaseWorkspaceManager.isInternalTable(storeName) ) { |
|
413 |
ResourcesStorage alternateResourcesStorage = null; |
|
414 |
try { |
|
415 |
DataManager dataManager = DALLocator.getDataManager(); |
|
416 |
DatabaseWorkspaceManager workspace = dataManager.getDatabaseWorkspace(parameters); |
|
417 |
if( workspace != null ) { |
|
418 |
alternateResourcesStorage = workspace.getAlternativeResourcesStorage(); |
|
419 | 419 |
} |
420 |
} catch(Throwable th) { |
|
421 |
alternateResourcesStorage = null; |
|
420 | 422 |
} |
421 |
} catch (Throwable ex) { |
|
422 |
LOG.warn("Can't retrieve reources storage from table '" + TABLE_RESOURCES_NAME + "' in '"+this.getParameters().getUrl()+"'.", ex); |
|
423 |
try { |
|
424 |
List<JDBCStoreParameters> tables = this.list(); |
|
425 |
for (JDBCStoreParameters params : tables) { |
|
426 |
String theTableName = params.getTable(); |
|
427 |
if (StringUtils.equals(theTableName, TABLE_RESOURCES_NAME)) { |
|
428 |
JDBCResourcesStorage theResourcesStorage = new JDBCResourcesStorage( |
|
429 |
alternateResourcesStorage, |
|
430 |
params, |
|
431 |
storeName |
|
432 |
); |
|
433 |
return theResourcesStorage; |
|
434 |
} |
|
435 |
} |
|
436 |
} catch (Throwable ex) { |
|
437 |
LOG.warn("Can't retrieve reources storage from table '" + TABLE_RESOURCES_NAME + "' in '"+this.getParameters().getUrl()+"'.", ex); |
|
438 |
} |
|
423 | 439 |
} |
424 | 440 |
EmptyResourcesStorage theResourcesStorage = new EmptyResourcesStorage(); |
425 | 441 |
return theResourcesStorage; |
Also available in: Unified diff